Asset Management
Complete guide to working with asset data in the Zync SDK.
Table of contents
The Zync SDK provides comprehensive asset management through the ZyncAssetManager. Assets represent equipment, devices, and physical items tracked in service operations. The SDK follows the offline-first approach where local data is returned immediately and background sync operations keep the data updated.
Getting Asset Details
The primary method for accessing detailed asset information is getAssetDetail(), which returns complete asset data including related entities:
val result = zync.assets.getAssetDetail("asset_uid_123")
when (result) {
is GetAssetResult.Success -> {
val asset = result.data
println("Asset Name: ${asset.assetName}")
println("UID: ${asset.assetUid}")
}
is GetAssetResult.Failure -> {
println("Error: ${result.error.message}")
when (result.error) {
is ZyncError.Network -> {
println("Check your internet connection")
}
is ZyncError.Error -> {
result.error.code?.let { code ->
println("Error code: $code")
}
}
}
}
}
let result = try await zync.assets.getAssetDetail(assetUid: "asset_uid_123")
switch onEnum(of: result) {
case .success(let success):
let asset = success.data
print("Asset Name: \(asset.assetName)")
print("UID: \(asset.assetUid)")
case .failure(let failure):
print("Error: \(failure.error.message)")
switch onEnum(of: failure.error) {
case .network:
print("Check your internet connection")
case .error(let error):
print("Error: \(error.message)")
if let code = error.code {
print("Error code: \(code)")
}
}
}