本文将介绍如何实现百宝箱智能体与友盟+ iOS 应用进行集成。
1. 手动集成
1.1. 依赖库
CoreTelephony.framework 获取运营商标识
libz.tbd 数据压缩
libsqlite.tbd 数据缓存
SystemConfiguration.framework 判断网络状态
1.2. 配置步骤
- 选择 SDK 功能组件并下载,解压.zip文件得到相应组件包(例如:UMCommon.framework、UMPush.framework等)。
- Xcode
File—>Add Files to "Your Project",在弹出Panel选中所下载组件包->Add。(注:选中“Copy items if needed”) - 添加依赖库,在项目设置
target-> 选项卡General->Linked Frameworks and Libraries如下: - Targets->BuildSettings 中 , Other Linker Flags增加-ObjC,⼀定要添加此项,注意是⼤写C,不是⼩写c。
2. 权限声明
请参照以下示例,在 Info.plist文件中完成权限声明。
<key>NSLocationWhenInUseUsageDescription</key>
<string>当前Demo要使用位置权限</string>
<key>NSCameraUsageDescription</key>
<string>当前Demo需要使用相机功能</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>当前Demo要访问照片</string>
其中,各配置项说明如下。
| 配置项 | 必填 | 说明 |
|---|---|---|
| NSLocationWhenInUseUsageDescription | 否 | 开启“当应用在前台使用时获取位置信息”的权限。若智能体需要LBS位置,请务必开启。 |
| NSCameraUsageDescription | 否 | 开启应用使用设备相机的权限,若智能体需要使用相机时,请务必开启。 |
| NSPhotoLibraryAddUsageDescription | 否 | 开启应用将照片或视频保存到用户相册的权限,若智能体需要文件上传或保存能力时,请务必开启。 |
3. 初始化 SDK
//UMConfigure
+(void)initWithAppkey:(NSString*)appKey channel:(NSString*)channel;
//UMAgent
+ (void)sdkInit:(NSString *)appKey;
其中,各参数说明如下。
| 参数名 | 必填 | 类型 | 说明 |
|---|---|---|---|
| appKey | 是 | NSString | 开发者在友盟官网申请的appkey,获取方式可参见:创建友盟App并获取 AppKey。 |
| channel | 是 | NSString | channel为您应用的推广渠道。channel为nil或@””时,默认会被当作@”App Store”渠道。 |
关于Channel 渠道的使用与命名规范如下:
- 使用规范: 每台设备仅记录首次安装激活的渠道,在其他渠道再次安装不会重复计量。 所以在测试不同的渠道的时候,请使用不同的设备来分别测试,不要改变
UMENG_CHANNEL。 - 命名规范:
-
- 以由英文字母、阿拉伯数字、下划线、中划线、空格、括号组成,可以含汉字以及其他明文字符,但是不建议使用中文命名,会出现乱码。
- 首尾字符不可以为空格。
- 不要使用纯数字作为渠道ID。
- 最多256个字符。
- “unknown” 及其各种大小写形式,作为【友盟+】保留的字段,不可以作为渠道名。
4. 查看日志
可以通过调用如下方法控制 SDK 的运行调试日志是否输出。 SDK 运行调试日志默认关闭,需要用户手动开启。
[UMConfigure setLogEnabled:YES];
[UMAgent enableLogs:YES];
5. 查看集成效果
通过 [UMAgentstartAgent:vc withAgentId:agentId] 方法打开本地智能体页面,需要传入 agentId。
+ (void)startAgent: (UIViewController *)vc withAgentId:(NSString *)agentId
- agentId:指百宝箱智能体唯一标识,获取方式可参见:创建智能体并获取 TboxAgentID。
6. demo 工程
📎UAgent_Demo_iOS-main-26349527b2d3ac9ca0c7abc3d429f9e44cf50c40.zip
工程运行效果
打开智能体效果
说明: 工程运行时需要填入的参数如下。
- SDK初始化:填入友盟 appkey,获取方式可参见:创建友盟App并获取 AppKey。
- 打开智能体:填入百宝箱智能体 agentId,获取方式可参见:创建智能体并获取 TboxAgentID。