友盟+组件化SDKs的基础库,支持手动集成以及Cocoapod集成方式。
支持版本:7.0+
CoreTelephony.framework 获取运营商标识
libz.tbd 数据压缩
libsqlite.tbd 数据缓存
SystemConfiguration.framework 判断网络状态
SecurityEnvSDK.framework 金融风控组件
UTDID.framework 设备标识ID组件
集成步骤如下:
选择SDK功能组件并下载,解压.zip文件得到相应组件包(例如:UMCommon.framework,UMAnalytics.framework, UMPush.framework等)。
XcodeFile
—> Add Files to "Your Project"
,在弹出Panel选中所下载组件包->Add
。(注:选中“Copy items if needed”)
target
-> 选项卡General
->Linked Frameworks and Libraries
如下:地理位置信息:在工程plist文件中添加如下配置:
<key>NSLocationAlwaysUsageDescription</key>
<string>location obtain</string>
最终需要用户授权才可获得位置信息
如果您的APP已经接入过【友盟+】应用统计,Push,分享SDKs,升级过程中的接入方式和接口变动请参考老版SDK升级指南。
注 :升级SDK,不会影响【友盟+】应用统计的正常使用。
在工程的 AppDelegate.m
文件中引入相关组件头文件 ,且在 application:didFinishLaunchingWithOptions:
方法中添加如下代码:
#import <UMCommon/UMCommon.h> // 公共组件是所有友盟产品的基础组件,必选
#import <UMAnalytics/MobClick.h> // 统计组件
#import <UMShare/UMShare.h> // 分享组件
#import <UMPush/UMessage.h> // Push组件
#import <UserNotifications/UserNotifications.h> // Push组件必须的系统库
/* 开发者可根据功能需要引入相应组件头文件,并导入相应组件库*/
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// 配置友盟SDK产品并并统一初始化
// [UMConfigure setEncryptEnabled:YES]; // optional: 设置加密传输, 默认NO.
// [UMConfigure setLogEnabled:YES]; // 开发调试时可在console查看友盟日志显示,发布产品必须移除。
[UMConfigure initWithAppkey:@"Your appkey" channel:@"App Store"];
/* appkey: 开发者在友盟后台申请的应用获得(可在统计后台的 “统计分析->设置->应用信息” 页面查看)*/
// 统计组件配置
[MobClick setScenarioType:E_UM_NORMAL];
// [MobClick setScenarioType:E_UM_GAME]; // optional: 游戏场景设置
// Push组件基本功能配置
[UNUserNotificationCenter currentNotificationCenter].delegate = self;
UMessageRegisterEntity * entity = [[UMessageRegisterEntity alloc] init];
//type是对推送的几个参数的选择,可以选择一个或者多个。默认是三个全部打开,即:声音,弹窗,角标等
entity.types = UMessageAuthorizationOptionBadge|UMessageAuthorizationOptionAlert;
[UNUserNotificationCenter currentNotificationCenter].delegate = self;
[UMessage registerForRemoteNotificationsWithLaunchOptions:launchOptions Entity:entity completionHandler:^(BOOL granted, NSError * _Nullable error) {
if (granted) {
// 用户选择了接收Push消息
}else{
// 用户拒绝接收Push消息
}
}];
// 请参考「Share详细介绍-初始化第三方平台」
// 分享组件配置,因为share模块配置可选三方平台较多,代码基本跟原版一样,也可下载demo查看
[self configUSharePlatforms]; // required: setting platforms on demand
// ...
}
完成上述步骤,友盟产品的初始化就完成了,对于各组件产品的其它设置或高级功能请查看具体组件详细内容。
将[UMConfigure initWithAppkey:@"Your appkey" channel:@"App Store"]; 中的"Your appkey"替换为您在友盟后台申请的应用Appkey(Appkey可在统计后台的 “统计分析->设置->应用信息” 页面查看)。
将[UMConfigure initWithAppkey:@"Your appkey" channel:@"App Store"] 中的App Store 替换为您应用的推广渠道。channelId为nil或@""时,默认会被当作@"App Store"渠道。
渠道命名规范:
可以由英文字母、阿拉伯数字、下划线、中划线、空格、括号组成,可以含汉字以及其他明文字符,但是不建议使用中文命名,会出现乱码。 首尾字符不可以为空格 最多256个字符 "App Store" 及其各种大小写形式,作为友盟保留的字段,不可以作为渠道名。
非常重要:每台设备仅记录首次安装激活的渠道,如果该设备再次安装其他渠道包,则数据仍会被记录在初始的安装渠道上。 所以在测试不同的渠道时,请使用不同的设备来分别测试。也可使用集成测试功能进行测试,了解更多集成测试请点击这里
组件化SDK会自动获取的开发者的App版本号和build版本号,不再提供API设置,开发者只需要在自己工程的plist里面配置App版本号和build版本号就可以了。
从组件化产品开始,友盟SDK默认采集idfa标识,用来更准确的分析核对数据。对于应用本身没有获取idfa的情况,建议将应用提交至AppStore时按如下方式配置:(以避免被苹果以“应用不含广告功能,但获取了广告标示符IDFA”的而拒绝其上架。)
☺为了能够尽快响应您的反馈,请提供您的appkey及console中的详细出错日志,您所提供的内容越详细越有助于我们帮您解决问题。常见问题请阅读友盟论坛中统计SDK常见问题索引。