第三方推送ID配置

优质
小牛编辑
183浏览
2023-12-01

概述

基于百度移动统计的用户分群功能,推出的“用户触达-精准定向”功能,可以帮助您管理基于“百度云推送”、“极光”、“个推”等平台的推送Id,并支持根据多种维度筛选定向人群进行推送。具体功能,请登录MTJ网站后,顶部Tab选择“用户分群”,再选择左侧“用户触达-精准定向”进行了解。

在使用该用能时,在SDK集成阶段,需要您通过Api上传第三方平台的推送Id以提供百度移动统计平台进行管理。

具体的Api调用方式如下。

百度移动统计接口声明

  1. 接口声明

     /**
      推送平台定义
      */
     typedef enum _BaiduMobStatPushPlatform{
         BaiduMobStatPushPlatformBaiduCloud = 0, //百度云推送平台
         BaiduMobStatPushPlatformJiGuang = 1,    //极光推送平台
         BaiduMobStatPushPlatformGeTui = 2,      //个推推送平台
         BaiduMobStatPushPlatformUmeng = 5,      //友盟推送平台
         BaiduMobStatPushPlatformXinGe = 6,      //信鸽推送平台
         BaiduMobStatPushPlatformAliYun = 7,     //阿里云推送平台
     } BaiduMobStatPushPlatform;
    
     /**
      *  上传第三方Push平台的Id,pushId长度限制1024字节。设置为nil或者空字符串,则清空对应平台的pushId
      *
      *  @prama pushId 从第三方Push SDK接口中获取的pushId
      *  @prama platform 指定Push平台类型,详见枚举声明
      */
     - (void)setPushId:(NSString *)pushId platform:(BaiduMobStatPushPlatform)platform;
    
  2. 调用示例

     // 可以在任意位置调用,建议在startWithAppId之前调用
     // 传入百度云推送平台的推送ID、SDK枚举定义的平台类型,其他平台类似。
     [[BaiduMobStat defaultStat] setPushId:@"YourPushId" platform:BaiduMobStatPushPlatformBaiduCloud];
    

第三方推送平台推动ID获取

第三方平台的接入流程,请到对应平台查看接入方法。这里介绍当您成功接入推送平台SDK之后,获取推送ID,并调用setPushId:platform:接口设置到MTJ平台的方法。

百度云推送平台获取推送ID

当您集成完百度云推送SDK之后,找到每一个bindChannelWithCompleteHandler:的函数调用,在其中的回调block中第一行插入如下调用:

[BPush bindChannelWithCompleteHandler:^(id result, NSError *error) {
    // [BPush getChannelId]函数是获取推送ID的方法,将其传入MTJ
    [[BaiduMobStat defaultStat] setPushId:[BPush getChannelId] platform:BaiduMobStatPushPlatformBaiduCloud];
    // 下面执行您自己的逻辑
}];

如果您找不到以上的函数调用,在MTJ SDK的初始化函数startWithAppId:前,调用如下方法:

[[BaiduMobStat defaultStat] setPushId:[BPush getChannelId] platform:BaiduMobStatPushPlatformBaiduCloud];
[[BaiduMobStat defaultStat] startWithAppId:@"YourAppKey"];

极光平台获取推送ID

当您集成完极光推送SDK之后,在MTJ SDK的初始化函数startWithAppId:前,调用如下方法:

[[BaiduMobStat defaultStat] setPushId:[JPUSHService registrationID] platform:BaiduMobStatPushPlatformJiGuang];
[[BaiduMobStat defaultStat] startWithAppId:@"YourAppKey"];

个推平台获取推送ID

当您集成完个推SDK之后,找到每一个GeTuiSdkDidRegisterClient:的函数调用,在其中第一行插入如下调用:

- (void)GeTuiSdkDidRegisterClient:(NSString *)clientId {
    [[BaiduMobStat defaultStat] setPushId:clientId platform:BaiduMobStatPushPlatformGeTui];
    // 下面执行您自己的逻辑
}

如果您找不到以上的函数调用,在MTJ SDK的初始化函数startWithAppId:前,调用如下方法:

[[BaiduMobStat defaultStat] setPushId:[GeTuiSdk clientId] platform:BaiduMobStatPushPlatformGeTui];
[[BaiduMobStat defaultStat] startWithAppId:@"YourAppKey"];

友盟推送平台获取推送ID

友盟推送平台,使用iOS系统DeviceToken去除特殊字符后的64位长度id,作为pushID。当您集成完友盟推送SDK之后,在系统回调函数application:didRegisterForRemoteNotificationsWithDeviceToken:中第一行插入如下代码获取pushID:

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
    NSString *umPushID = [[[[deviceToken description] stringByReplacingOccurrencesOfString: @"<" withString: @""] stringByReplacingOccurrencesOfString: @">" withString: @""] stringByReplacingOccurrencesOfString: @" " withString: @""];
    [[BaiduMobStat defaultStat] setPushId:umPushID platform:BaiduMobStatPushPlatformUmeng];
    // 下面执行您自己的逻辑

}

信鸽平台获取推送ID

当您集成完信鸽SDK之后,找到每一个xgPushDidRegisteredDeviceToken:error:的函数调用,在其中第一行插入如下调用:

- (void)xgPushDidRegisteredDeviceToken:(NSString *)deviceToken error:(NSError *)error {
    [[BaiduMobStat defaultStat] setPushId:deviceToken platform:BaiduMobStatPushPlatformXinGe];
    // 下面执行您自己的逻辑
}

如果您找不到以上的函数调用,在MTJ SDK的初始化函数startWithAppId:前,调用如下方法:

[[BaiduMobStat defaultStat] setPushId:[[XGPushTokenManager defaultTokenManager] deviceTokenString] platform:BaiduMobStatPushPlatformXinGe];
[[BaiduMobStat defaultStat] startWithAppId:@"YourAppKey"];

阿里云推送平台获取推送ID

当您集成完阿里云推送SDK之后,在MTJ SDK的初始化函数startWithAppId:前,调用如下方法:

[[BaiduMobStat defaultStat] setPushId:[CloudPushSDK getDeviceId] platform:BaiduMobStatPushPlatformAliYun];
[[BaiduMobStat defaultStat] startWithAppId:@"YourAppKey"];