本文将介绍如何实现百宝箱智能体与友盟+ 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。