跳转到主要内容
PRODUCT DOCUMENTS

快速找到所需文档,高效完成接入与排障

浏览产品文档与友盟 Skill,展开目录并阅读正文。

升级指南

为了更好的SDK接入体验和性能、结构优化,以及兼容系统升级的变化,SDK 在迭代升级的过程中进行的不同程度的重构及接口的增删改,使得可能原接入过 SDK 的开发者需要有部分修改。下面将几项业务 SDK 的接口和接入方式的变动进行说明,开发者需要对说明中的版本对比项目中 SDK 的版本查看是否要进行调整。

7.4.6版本集成升级必读

该文档适用于iOS组件化统计SDK7.2.0及以上版本。友盟+ iOS SDK适用于iOS 8.0及以上操作系统。

1.基础组件库从7.2.6及以上版本开始,从UMCommon.framework文件中独立了Deeplink能力和ABTest能力,可以按需集成。其中Deeplink能力需要下载智能超链SDK获取UMLink.framwork文件。

2.基础组件库从7.2.5及以上版本开始,去除了UMCrash.framework文件。如果需要错误捕获能力,请下载应用性能监控SDK。稳定性模块再次升级,独立为应用性能监控产品,新增用户细查、崩溃回调等多种功能。若同时需要统计和崩溃捕获能力,请一同勾选下载应用性能监控SDK。

3.必须集成包内提供的 UMDevice.framework

4.自动集成时,需要由原来的pod 'UMCCommon'变为

 pod 'UMCommon'//由原来的UMCCommon变为UMCommon(必选)
 pod 'UMDevice'//(必选)
 pod 'UMAPM'//关注crash数据需集成,原错误分析升级为独立产品U-APM(可选)

5.Targets->BuildSettings 中 , Other Linker Flags增加-ObjC,⼀定要添加此项,注意是⼤写C,不是⼩写c。

6.正式版基础组件库统计SDK7.2.0及以上版本仅⽀持如下表格中特定版本业务SDK,混⽤可能导致不可预知问题(例如:崩溃,⽆数据等)

应用性能监控SDK

推送SDK

分享SDK

游戏统计SDK

智能登录SDK

v1.8.6

v3.3.0

v6.10.0

v7.2.0+G

v1.4.0

7.如果为初次集成U-Game的用户,可以集成U-App后按照以下埋点方案进行游戏场景统计:https://developer.umeng.com/docs/119267/detail/140362

8.新增扫码集成测试功能

  1. 配置URL Schemes

    1. 新版集成测试需要配置App的URL Scheme,URL Scheme 位于项目设置 target -> 选项卡 Info - > URL Types,填入的URL Schemes:um.该app的appkey。1

    2. 在AppDelegate中调用函数[MobClick handleUrl:] 来接收 URL

//iOS9以上使用以下方法
- (BOOL)application:(UIApplication *)application openURL:(nonnull NSURL *)url options:(nonnull NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{
    if ([MobClick handleUrl:url]) {
        return YES;
    }
    //其它第三方处理
    return YES;
}

//iOS9及以下使用以下方法
- (BOOL)application:(UIApplication *)application openURL:(nonnull NSURL *)url sourceApplication:(nullable NSString *)sourceApplication annotation:(nonnull id)annotation
{
    if ([MobClick handleUrl:url]) {
        return YES;
    }
    //其它第三方处理
    return YES;
}

7.4.2版本升级说明

从组件化版本7.2.5升级到7.3.5版本说明

统计SDK升级步骤

1.基础组件库 7.4.X版本仅支持如下表格中特定版本业务SDK

应用性能监控SDK

推送SDK

分享SDK

游戏统计SDK

智能登录SDK

v1.8.6

v3.3.0

v6.10.0

v7.2.0+G

v1.4.0

2.自动集成升级,由原来的pod 'UMCCommon'变为

 pod 'UMCommon'//由原来的UMCCommon变为UMCommon
 pod 'UMDevice'

//可选集成,对应产品中稳定性模块(错误捕获),该功能已经独立成为新的应用性能监控产品U-APM
 pod 'UMAPM'

3.手动集成,如果不需要稳定性模块(错误捕获),可以删除原来导入的UMCrash.framework;如果还需要稳定性模块(错误捕获),则需引入UMAPM.framework.

新版本SDK变化

1.删除UMCrash.framework,如果还需要稳定性模块(错误捕获),则需引入UMAPM.framework.

2.基础组件库从7.2.6及以上版本开始,从UMCommon.framework文件中独立了Deeplink能力和ABTest能力,可以按需集成。其中Deeplink能力需要下载智能超链SDK获取UMLink.framwork文件。

从组件化版本7.2.0-7.2.4升级到7.3.5版本说明

统计SDK升级步骤

1.基础组件库 7.2.X版本仅支持如下表格中特定版本业务SDK

应用性能监控SDK

推送SDK

分享SDK

游戏统计SDK

智能登录SDK

v1.8.6

v3.3.0

v6.10.0

v7.2.0+G

v1.4.0

2.工程中需引入 UMDevice.framework

3.自动集成升级,由原来的pod 'UMCCommon'变为

 pod 'UMCommon'//由原来的UMCCommon变为UMCommon
 pod 'UMDevice'

//可选集成,对应产品中稳定性模块(错误捕获),该功能已经独立成为新的应用性能监控产品U-APM
 pod 'UMAPM'

4.手动集成,如果需要稳定性模块(错误捕获),则需引入UMAPM.framework.

5.基础组件库从7.2.6及以上版本开始,从UMCommon.framework文件中独立了Deeplink能力和ABTest能力,可以按需集成。其中Deeplink能力需要下载智能超链SDK获取UMLink.framwork文件。

新版本SDK变化

1.增加UMDevice.framework

2.Crash捕获能力删除,如果还需要稳定性模块(错误捕获),则需引入UMAPM.framework.

3.基础组件库从7.2.6及以上版本开始,从UMCommon.framework文件中独立了Deeplink能力和ABTest能力,可以按需集成。其中Deeplink能力需要下载智能超链SDK获取UMLink.framwork文件。

从组件化版本5.0.0以上7.0.0以下版本升级到7.3.5版本说明

统计SDK升级步骤

1.删除工程中的UMAnalytics.framework,引入UMCommon 7.2.X版本SDK到工程中,覆盖老版本2.引入统计头文件修改,将以前

#import <UMAnalytics/MobClick.h>

全部修改为

#import <UMCommon/MobClick.h>

2.去掉场景设置接口,将工程中已设置的场景删除掉

+(void)setScenarioType:(eScenarioType)eSType;

3.去掉错误统计设置接口

+(void)setCrashReportEnabled:(BOOL)value;

4.Targets->BuildSettings 中 , Other Linker Flags增加-ObjC,一定要添加此项,注意是大写C,不是小写c。

5.基础组件库 7.2.X版本仅支持如下表格中特定版本业务SDK

应用性能监控SDK

推送SDK

分享SDK

游戏统计SDK

智能登录SDK

v1.8.6

v3.3.0

v6.10.0

v7.2.0+G

v1.4.0

6.工程中需引入 UMDevice.framework

7.自动集成升级,由原来变为

 pod 'UMCommon'//由原来的UMCCommon变为UMCommon
 pod 'UMDevice'

//可选集成,对应产品中稳定性模块(错误捕获),该功能已经独立成为新的应用性能监控产品U-APM
 pod 'UMAPM'

8.手动集成,如果需要稳定性模块(错误捕获),则需引入UMAPM.framework.

9.基础组件库从7.2.6及以上版本开始,从UMCommon.framework文件中独立了Deeplink能力和ABTest能力,可以按需集成。其中Deeplink能力需要下载智能超链SDK获取UMLink.framwork文件。

【历史升级说明】

7.2.5版本升级说明

从组件化版本7.2.0-7.2.4升级到7.2.5版本说明

统计SDK升级步骤

1.基础组件库 7.2.X版本仅支持如下表格中特定版本业务SDK

应用性能监控SDK

推送SDK

分享SDK

游戏统计SDK

智能登录SDK

v1.1.0

v3.3.0

v6.10.0

v7.2.0+G

v1.4.0

2.自动集成升级,由原来的pod 'UMCCommon'变为

 pod 'UMCommon'//由原来的UMCCommon变为UMCommon
 pod 'UMDevice'

//可选集成,对应产品中稳定性模块(错误捕获),该功能已经独立成为新的应用性能监控产品U-APM
 pod 'UMAPM'

3.手动集成,如果不需要稳定性模块(错误捕获),可以删除原来导入的UMCrash.framework;如果还需要稳定性模块(错误捕获),则需引入UMAPM.framework.

新版本SDK变化

1.删除UMCrash.framework,如果还需要稳定性模块(错误捕获),则需引入UMAPM.framework.

从组件化版本7.0.0-7.2.0升级到7.2.5版本说明

统计SDK升级步骤

1.基础组件库 7.2.X版本仅支持如下表格中特定版本业务SDK

应用性能监控SDK

推送SDK

分享SDK

游戏统计SDK

智能登录SDK

v1.1.0

v3.3.0

v6.10.0

v7.2.0+G

v1.4.0

2.工程中需引入 UMDevice.framework

3.自动集成升级,由原来的pod 'UMCCommon'变为

 pod 'UMCommon'//由原来的UMCCommon变为UMCommon
 pod 'UMDevice'

//可选集成,对应产品中稳定性模块(错误捕获),该功能已经独立成为新的应用性能监控产品U-APM
 pod 'UMAPM'

3.手动集成,如果需要稳定性模块(错误捕获),则需引入UMAPM.framework.

新版本SDK变化

1.增加UMDevice.framework2.Crash捕获能力删除,如果还需要稳定性模块(错误捕获),则需引入UMAPM.framework.

从组件化版本5.0.0以上7.0.0以下版本升级到7.2.5版本说明

统计SDK升级步骤

1.删除工程中的UMAnalytics.framework,引入UMCommon 7.2.X版本SDK到工程中,覆盖老版本2.引入统计头文件修改,将以前

#import <UMAnalytics/MobClick.h>

全部修改为

#import <UMCommon/MobClick.h>

3.去掉场景设置接口,将工程中已设置的场景删除掉

+(void)setScenarioType:(eScenarioType)eSType;

4.去掉错误统计设置接口

+(void)setCrashReportEnabled:(BOOL)value;

5.Targets->BuildSettings 中 , Other Linker Flags增加-ObjC,一定要添加此项,注意是大写C,不是小写c。6.基础组件库 7.2.X版本仅支持如下表格中特定版本业务SDK

应用性能监控SDK

推送SDK

分享SDK

游戏统计SDK

智能登录SDK

v1.1.0

v3.3.0

v6.10.0

v7.2.0+G

v1.4.0

7.工程中需引入 UMDevice.framework

8.自动集成升级,由原来变为

 pod 'UMCommon'//由原来的UMCCommon变为UMCommon
 pod 'UMDevice'

//可选集成,对应产品中稳定性模块(错误捕获),该功能已经独立成为新的应用性能监控产品U-APM
 pod 'UMAPM'

9.手动集成,如果需要稳定性模块(错误捕获),则需引入UMAPM.framework.

7.2.X版本升级说明

从组件化版本7.0.0以上升级到7.2.X版本升级说明

统计SDK升级步骤

1.基础组件库 7.2.X版本仅支持如下表格中特定版本业务SDK

推送SDK

分享SDK

游戏统计SDK

智能登录SDK

v3.3.0

v6.10.0

v7.2.0+G

v1.4.0

2.工程中需引入 UMDevice.framework3.工程中需引入 UMCrash.framework

新版本SDK变化

1.增加UMDevice.framework2.增加UMCrash.framework

从组件化版本5.0.0以上7.0.0以下版本升级到7.2.x版本升级说明

统计SDK升级步骤

1.删除工程中的UMAnalytics.framework,引入UMCommon 7.2.X版本SDK到工程中,覆盖老版本2.引入统计头文件修改,将以前

#import <UMAnalytics/MobClick.h>

全部修改为

#import <UMCommon/MobClick.h>

3.去掉场景设置接口,将工程中已设置的场景删除掉

+(void)setScenarioType:(eScenarioType)eSType;

4.去掉错误统计设置接口

+(void)setCrashReportEnabled:(BOOL)value;

5.Targets->BuildSettings 中 , Other Linker Flags增加-ObjC,一定要添加此项,注意是大写C,不是小写c。6.基础组件库 7.2.X版本仅支持如下表格中特定版本业务SDK

推送SDK

分享SDK

游戏统计SDK

智能登录SDK

v3.3.0

v6.10.0

v7.2.0+G

v1.4.0

7.工程中需引入 UMDevice.framework8.工程中需引入 UMCrash.framework9.增加系统库 libc++.tbd

新版本SDK变化

1.UMAnalytics.framework和UMCommon.framework合并为一个包:UMCommon.framework2.去掉原UMAnalytics.framework中设置场景接口,如使用游戏统计,只要引入游戏UMAnalyticsGame.framewor SDK默认使用游戏场景3.在UMConfigure类中增加是否使用统计功能接口,默认开启状态,如需关闭,要在初始化之前调用

/** 是否开启统计,默认为YES(开启状态)
 @param value 设置为NO,可关闭友盟统计功能.
*/
+(void)setAnalyticsEnabled:(BOOL)value;

4.删除场景设置接口

+(void)setScenarioType:(eScenarioType)eSType;

5.删除错误统计设置接口

+(void)setCrashReportEnabled:(BOOL)value;

6.增加UMDevice.framework7.增加UMCrash.framework8.增加系统库 libc++.tbd

7.0.0以上7.2.0以下版本升级说明

从组件化版本5.0.0以上升级到最新版7.0.0以上版本升级说明

统计SDK升级步骤

1.删除工程中的UMAnalytics.framework,引入新版本UMCommon 7.0.0或以上版本SDK到工程中,覆盖老版本

2.引入统计头文件修改,将以前

#import <UMAnalytics/MobClick.h>

全部修改为

#import <UMCommon/MobClick.h>

3.去掉场景设置接口,将工程中已设置的场景删除掉

+(void)setScenarioType:(eScenarioType)eSType;
新版本SDK变化

1.UMAnalytics.framework和UMCommon.framework合并为一个包:UMCommon.framework

2.去掉原UMAnalytics.framework中设置场景接口,如使用游戏统计,只要引入游戏UMAnalyticsGame.framewor SDK默认使用游戏场景

3.在UMConfigure类中增加是否使用统计功能接口,默认开启状态,如需关闭,要在初始化之前调用

/** 是否开启统计,默认为YES(开启状态)
 @param value 设置为NO,可关闭友盟统计功能.
*/
+(void)setAnalyticsEnabled:(BOOL)value;

4.删除场景设置接口

+(void)setScenarioType:(eScenarioType)eSType;

5.增加游戏统计 UMAnalyticsGame.framework SDK

添加此SDK需配置Targets->BuildSettings 中 , Other Linker Flags增加-ObjC,一定要添加此项,注意是大写C,不是小写c。

5.0以上版本升级说明

升级到组件化版本SDK5.0以上特别说明

老版本升级到新版本后组件化SDK的升级后,会多一个库UMCommon.framework,此库为UMeng所有业务库必须依赖的基础功能库,为每个业务模块提供初始化功能,数据传输等功能,把老版的每个业务的初始化APPKey的函数统一到UMCommon.framework库中,用户只需要调用UMCommon的初始化接口即可初始化对应APPKey。

新增接口
/** 初始化友盟所有组件产品
 @param appKey 开发者在友盟官网申请的appkey.
 @param channel 渠道标识,可设置nil表示"App Store".
 */
+(void)initWithAppkey:(NSString*)appKey channel:(NSString*)channel;


/** 设置是否在console输出sdk的log信息.
 @param bFlag 默认NO(不输出log); 设置为YES, 输出可供调试参考的log信息. 发布产品时必须设置为NO.
 */
+(void)setLogEnabled:(BOOL)bFlag;



/** 设置是否对日志信息进行加密, 默认NO(不加密).
 @param value 设置为YES, umeng SDK 会将日志信息做加密处理
 @return void.
 */
+(void)setEncryptEnabled:(BOOL)value;


/** 获得umid
 */
+(NSString*)umidString;


/**
 集成测试需要device_id
 */
+(NSString*)deviceIDForIntegration;

统计 SDK

主要以 4.2.4s 版本升级到组件化版本(5.0以上)的接口变化

新增接口
+(void)onDeepLinkReceived:(NSURL *)link;
//仅5.4.1版本新增DeepLink功能

+(void)setScenarioType:(eScenarioType)eSType;//设置场景
删除接口
+(void)setAppVersion:(NSString*)appVersion;
//设置版本

+(void)setEncryptEnabled:(BOOL)value;
//设置加密
//此接口已经在转移到UMCommon.framework组件里面,请查看UMConfigure.h头文件

+(void)setLogSendInterval:(double)second;
//设置间隔发送时间

+(void)startSession:(NSNotification*)notification;
//模块启动
初始化变动

原 4.2.4 初始化形式为:

UMConfigInstance.appKey =@"appkey";

UMConfigInstance.channelId=@"App Store";

UMConfigInstance.eSType=E_UM_NORMAL;

UMConfigInstance.ePolicy=SEND_INTERVAL;

[MobClick startWithConfigure:UMConfigInstance];

升级到组件化更新为:

[UMConfigure initWithAppkey:@"appkey" channel:@"App Store"];

// 以及接口
+(void)setScenarioType:(eScenarioType)eSType;//设置场景

注:组件化已没有代码设置发送策略(间隔发送) UMConfigInstance.ePolicy=SEND_INTERVAL;

更改到核心库UMCommon中
+(void)setLogEnabled:(BOOL)value;
//打印log