相关视频教程,请前往友盟课堂。
集成友盟SDK之前,您首先需要到友盟官网注册并且添加新应用,获得Appkey
Q:应用的安卓版和IOS版能否共用一个appkey
A:不同平台的应用禁止使用相同的Appkey,需要分开注册。
Q:注册应用时,提示“应用名称已存在”
A:友盟后台的应用名与实际应用名和包名无关,建议命名为“应用名+平台(IOS/Android)”。
下载统计SDK 并解压缩。
导入SDK有以下两种方法,选择其中一种即可 。
请在你的工程目录结构中,添加友盟统计框架,在选项TARGETS-->
Build Phases-->Link Binary With Libraries-->Add Other,选择文件UMMobClick.framework文件并选择确认;添加系统依赖框架(Framework)和编译器选项 TARGETS-->Build Phases-->Link Binary With Libraries--> + -->CoreTelephony.framework libz.tbd libsqlite.tbd.
如果使用UTDID,则下载UTDID.framework文件,并在工程配置的other linker flag中添加-force load和UTDID框架的路径,如下图
另外需要加入系统库Security.framework的引用。
Cocoapods是一个很好的依赖管理工具,推荐参考官方文档《CocoaPods安装和使用教程》。 如果你需要在Cocoapods中使用友盟统计SDK,请参考下面的流程。
1.Cocoapods 安装完成后,在你的项目根目录创建一个 Podfile 文件,添加如下内容:
pod 'UMengAnalytics'//标准SDK,含IDFA
pod 'UMengAnalytics-NO-IDFA'//无IDFA版SDK(请根据需要选择其中一个)
2.在terminal下运行命令如下:
pod install
命令执行完成后即可完成统计SDK的下载安装。
*AppDelegate.m
(*代表你的工程名字) 导入头文件#import "UMMobClick/MobClick.h"
*AppDelegate.m
的配置主要包括填写Appkey,设置发送策略和填写渠道id三部分,代码示例如下:
#import "UMMobClick/MobClick.h"
...
- (BOOL])application:(UIApplication] *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UMConfigInstance.appKey = @"xxxxxxxxxxxxxx...";
UMConfigInstance.ChannelId = @"App Store";
UMConfigInstance.eSType = E_UM_GAME; //仅适用于游戏场景,应用统计不用设置
…
[MobClick startWithConfigure:UMConfigInstance];//配置以上参数后调用此方法初始化SDK!
}
UMConfigInstance为SDK参数配置的实例类,只需要将其成员中标注为required的参数赋值,optional的为可选项。
appKey为开发者在友盟后台申请的应用Appkey(Appkey可在统计后台的 “统计分析->设置->应用信息” 页面查看);
ChannelId的值为应用的渠道标识。默认为 @"App Store"。
将UMConfigInstance.appkey:@"xxxxxxxxxxxxxxx"中的xxxxxxxxxxxxxxx替换为您在友盟后台申请的应用Appkey(Appkey可在统计后台的“统计分析->设置->应用信息” 页面查看)。
将UMConfigInstance.ChannelId:@"Web" 中的Web 替换为您应用的推广渠道。channelId为nil或@""时,默认会被当作@"App Store"渠道。
在您查看数据时,渠道会作为一个数据细分的维度。
非常重要:每台设备仅记录首次安装激活的渠道,如果该设备再次安装其他渠道包,则数据仍会被记录在初始的安装渠道上。 所以在测试不同的渠道时,请使用不同的设备来分别测试。也可使用集成测试功能进行测试,了解更多集成测试请点击这里。
Q:如何添加渠道?
A:一个包中只能添加一个渠道,多个渠道需要打多个包。开发者新增渠道需要在工程manifest中或者activity中调用接口添加我们的渠道信息,友盟后台没有添加渠道的地方。您也可以使用多渠道打包工具,点击这里。
Q:如何删除不需要的渠道
A:没有删除的功能,但是可以隐藏,在 设置--渠道里可以隐藏渠道
☺ 渠道统计使用中的问题请参见友盟开发者社区: 友盟渠道统计使用的那些事儿
发送策略设定了用户产生的数据发送回友盟服务器的频率。
iOS平台数据发送策略包括BATCH(启动时发送)和SEND_INTERVAL(按间隔发送)两种,友盟默认使用启动时发送(更省流量),您可以在代码reportPolicy:BATCH
中更改发送策略。
1. 启动时发送:新增、活跃、启动次数等数据在APP本次打开时即刻发送,使用时长、自定义事件、错误统计等在使用过程中产生的所有消息数据都在下次启动应用时发送。如果应用程序启动时处在不联网状态,那么消息将会缓存在本地,下次再尝试发送。
2. 按间隔发送:按特定间隔发送数据,间隔时长介于90秒与1天之间。新增、活跃、启动次数等数据在APP本次打开时即刻发送,使用时长、自定义事件、错误统计等在使用过程中产生的所有数据都按间隔发送,如果应用程序启动时处在不联网状态,那么消息将会缓存在本地,下次再尝试发送。
在后台统计分析->设置->发送策略 页面自定义发送间隔。具体如下图:
点击发送策略之后,可以看到设置页面
注意 :
(1)在没有获取到在线配置时,默认使用启动时发送的策略;
(2)在打开debug调试模式或者使用集成测试时,不受发送策略控制。
(3)在iOS应用中,可以通过代码设置发送策略,也可以在后台进行设置,后台配置的优先级高于本地配置(即代码中的配置)。
以App打包时的Build号作为应用程序的版本标识,不能通过友盟SDK或友盟后台配置。
友盟SDK为了兼容Xcode3的工程,默认取的是Build号,如果需要取Xcode4及以上版本的Version,可以在StartWithAppkey之前调用下面的方法:
NSString *version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
[MobClick setAppVersion:version];
Q:在版本分布中没有看到应用相应的版本
A:请查看设置--版本--已隐藏版本列表,是否隐藏了该版本。