接入iOS
集成SDK
设备标识是移动网关 (TMFShark
) 的子功能,集成、初始化,请参见 “移动网关”的相关文档。
使用SDK
设备标识GUID
- GUID 是 App 级别的设备 ID,其生命周期与 App 安装、卸载的生命周期一致。如果卸载 App 然后重装,GUID 将发生变化。
- 终端的移动网关组件在注册 GUID 时,会上报各种软硬件信息。服务端生成 GUID,并会把这些信息和 GUID 关联,下发到终端。终端的移动网关组件接收到 GUID 后,会把 GUID 存储在 App 内。
- 每次业务请求时,组件会把 GUID 带上,服务端即可知道当前请求来源于哪个设备。
同步读取接口
同步读取接口会读取终端组件存储的 GUID 并返回。如果终端组件还没注册 GUID,则返回 nil
。
接口定义
@property (nonatomic, readonly, nullable) NSString *GUID;
异步获取接口
异步获取接口会判断终端组件是否已注册 GUID 并存储。
如果终端组件已注册 GUID,则异步返回已注册的 GUID。否则,终端组件将发起注册 GUID 的请求,并异步回调服务端返回的结果。
接口定义
- (void)fetchGUID:(TMFSharkGUIDCompletion)completion;
其中,TMFSharkGUIDCompletion
的定义如下:
typedef void (^TMFSharkGUIDCompletion)(
NSString * _Nullable GUID,
NSError * _Nullable error
);
- 参数
参数 | 类型 | 描述 | 必选 |
---|---|---|---|
completion | TMFSharkGUIDCompletion (block) |
获取 GUID 的回调,详见下方 completion 回调。 | Y |
- completion 回调
参数 | 类型 | 描述 | 必选 |
---|---|---|---|
GUID | NSString * |
当前的 GUID 设备标识。 | N |
error | NSError * |
获取 GUID 的错误信息。 | N |
异步注册/更新接口
异步注册/更新接口会强制发起注册/更新 GUID 的请求,并异步回调服务端返回的结果。
接口定义
- (void)updateGUID:(TMFSharkGUIDCompletion)completion;
其中,TMFSharkGUIDCompletion
的定义如下:
typedef void (^TMFSharkGUIDCompletion)(
NSString * _Nullable GUID,
NSError * _Nullable error
);
- 参数
参数 | 类型 | 描述 | 必选 |
---|---|---|---|
completion | TMFSharkGUIDCompletion (block) |
注册/更新 GUID 的回调,详见下方 completion 回调。 | Y |
- completion 回调
参数 | 类型 | 描述 | 必选 |
---|---|---|---|
GUID | NSString * |
当前的 GUID 设备标识。 | N |
error | NSError * |
注册/更新 GUID 的错误信息。 | N |
设备标识VID
VID 是设备级别的设备 ID,其生命周期与设备 iOS 系统的生命周期一致。 如果卸载 App 然后重装,VID 不会发生变化。
终端的移动网关组件在注册 VID 时,会上报各种软硬件信息。服务端生成 VID 和 token,并会把这些信息和 VID 关联,把 token 下发到终端。终端的移动网关组件接收到 token 后,会把 token 存储起来。
每次业务请求的时候,组件会把 token 带上,服务端获取到 token 后,可以反查出 VID,即可知道当前请求来源于哪个设备。
异步请求接口
异步请求接口会使用终端组件存储的 token 发起获取 VID 的请求,并异步回调服务端返回的结果。
接口定义
- (void)fetchVID:(TMFSharkVIDCompletion)completion;
其中,TMFSharkVIDCompletion
的定义如下:
typedef void (^TMFSharkVIDCompletion)(
NSString * _Nullable VID,
NSError * _Nullable error
);
- 参数
参数 | 类型 | 描述 | 必选 |
---|---|---|---|
completion | TMFSharkVIDCompletion (block) |
请求 VID 的回调,详见下方 completion 回调。 | Y |
- completion 回调
参数 | 类型 | 描述 | 必选 |
---|---|---|---|
VID | NSString * |
当前的 VID 设备标识。 | N |
error | NSError * |
请求 VID 的错误信息。 | N |