iOS SDK 使用说明

最后更新时间:2020年09月03日

1.集成SDK

云图SDK当前提供Cocoapods安装SDK方式(应用工厂项目默认集成)

Cocoapods 安装完成后,在你的项目根目录创建一个 Podfile 文件,添加如下内容:

pod 'cloudatlas_ios_component', '1.4.29'

2.基本功能集成

2.1 初始化 iOS SDK

在应用启动时,需要初始化云图SDK,SDK通过CloudAtlas的start``WithAppkey方法。

代码示例如下:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    ...
    // 设置AppKey与渠道方式
    [CloudAtlas startWithAppkey:@"YOUR_APP_KEY" isDebugMode:NO channelId:@"YOUR_CHANNEL_ID"];

    // 默认渠道方法,选择上面接口或本接口其一即可
    //[CloudAtlas startWithAppkey:@"YOUR_APP_KEY" isDebugMode:NO];

    // 日志是否开启,默认关闭
    [CloudAtlas setLogEnabled:YES];

    // 设置云图的数据上传环境,环境参数:生产环境(FORMAL),预生产环境(PRE_FORMAL),默认生产环境(FORMAL)
    // [CloudAtlas switchEnv:FORMAL];

    ...
    return YES;
}

参数说明: 1、YOUR_APP_KEY:初始化时配置AppKey,将 @"YOUR_APP_KEY" 中的YOUR_APP_KEY 替换为您在云图项目组中申请的应用AppKey。

2、isDebugMode:是否开启调试模式,默认为关闭,具体参数为:: YES:在调试模式下,云图的内部异常将被抛出;NO:为关闭状态。

3、ChannelId:渠道ID,配置应用发布的渠道,默认为空,即为Default。可将 @"YOUR_CHANNEL_ID" 中的YOUR_CHANNEL_ID替换为您定义的渠道ID。

ChannelId的填写规则:

3.1 首尾字符不可以为空格,当首尾出现空格时将会自动过滤空格; 3.2 不要使用纯数字或者纯数字和空格混合的字符作为渠道ID; 3.3 最多200个字符,当渠道ID多于200字符时将自动截断; 3.4 "unknown" 和"app store" 及其各种大小写形式,作为云图保留的字段,不可以作为渠道名;

**非常重要:每台设备仅记录首次安装激活的渠道,如果该设备再次安装其他渠道包,则数据仍会被记录在初始的安装渠道上。 所以在测试不同的渠道时,请使用不同的设备来分别测试。**

2.2 会话的统计

在应用被激活时,调用 applicationDidBecomeActive,退出激活状态时,调用 applicationWillResignActive。 在iOS中,当应用重新回到激活状态时,作为一个新的会话进行统计。 以上两个方法,在AppDelegate的相应生命周期方法中调用。

- (void)applicationDidBecomeActive:(UIApplication *)application {
    ...
    [CloudAtlas applicationDidBecomeActive];
    ...

- (void)applicationWillResignActive:(UIApplication *)application {
    ...
    [CloudAtlas applicationWillResignActive];
  ...
}

2.3 账号的统计

云图在统计时,提供了账号与设备两种统计方式,如采用账号统计方式,请用户登录后将账号登录后返回的用户ID profileSignInWithPUID:(NSString *)puid 接口:

[CloudAtlas profileSignInWithPUID:@"803370"];
**_注意:目前只支持整数格式的id_**

当账号登出时,请使用 profileSignOff接口:

[CloudAtlas profileSignOff];

另外,当用户切换(新用户登录、旧用户登出)时,也会开启一次新的会话。

3、自定义事件的统计

自定义事件,目前支持以下三种多态方法,分别应用于不同的场景:

/** 自定义事件
 * @param eventId    事件Id
*/
+ (void)event:(NSString *)eventId;

/** 自定义事件
 * @param eventId    事件Id
 * @param attributes 事件属性集
*/
+ (void)event:(NSString *)eventId attributes:(NSDictionary *)attributes;

/** 自定义事件
 * @param eventId    事件Id
 * @param attributes 事件属性集
 * @param number     整数属性值
 */
+ (void)event:(NSString *)eventId attributes:(NSDictionary *)attributes counter:(int)number;

如果只需要统计某个事件发生的次数,可以只传一个事件id,如:

[CloudAtlas event:@"{领域}_{组件}_{页面}_{操作}"];

考虑到某些情况下,对于一个事件,我们有一些属性要统计。如购买事件,可能有水果的类型、门店等需要统计,可以使用带NSDictionary的接口:

NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"apple", @"type", @"0AD056SDSD00AS", @"store", nil];
[CloudAtlas event:@"{领域}_{组件}_{页面}_{操作}" attributes:dictionary];

而在此基础上,如果还要扩展统计购买的金额,同时需要对金额做一些数值上的计算分析,则需要调用带int类型value的接口:

NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"apple", @"type", @"0AD056SDSD00AS", @"store", nil];
[CloudAtlas event:@"{领域}_{组件}_{页面}_{操作}" attributes:dictionary counter:20];

4、环境切换

设置云图的数据上传环境,环境参数:生产环境(FORMAL),:预生产环境(PRE_FORMAL),集成环境(INTEGRATION),默认生产环境(FORMAL)

[CloudAtlas switchEnv:FORMAL];
注意:每个环境上的appkey不通用

5、日志输出

在集成云图SDK的过程中,为了测试云图SDK是否运行正常,可以通过打开日志输出来使得云图SDK输出运行过程中产生的一些日志。 目前的日志包括但不限于:底层初始化结果、AppKey解析失败、调用参数无效、调用顺序错乱、采集数据发送内容与结果等。

[CloudAtlas setLogEnabled:YES];
© Appfactory Team all right reserved,powered by Gitbook最后修订时间: 2021-05-13 11:17:07

results matching ""

    No results matching ""