第三方推送ID配置

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

SDK支持上传推送平台的设备推送ID,上传后,可以后续通过WEB端筛选,导出特定人群的推送ID。目前支持的平台:百度云极光个推华为小米友盟信鸽阿里云OPPO魅族

iOS端的第三方推送平台推送ID打通,请查看该链接

平台推送ID上传

调用如下API:

/**
 * 设置推送id,设置后推送ID会回传到服务器。WEB端可以支持根据筛选规则导出推送ID,将导出的推送ID对接到特定的推送平台,实现精准推送
 *
 * @param context
 * @param platform 推送平台
 * @param pushId   客户端获取的对应推送平台的推送ID
 */
StatService.setPushId(Context context, MtjConfig.PushPlatform platform, String pushId)

推送平台,通过MtjConfig.PushPlatform指定:BAIDUYUN(百度云),JIGUANG(极光),GETUI(个推),HUAWEI(华为),XIAOMI(小米), UMENG(友盟),XINGE(信鸽),ALIYUN(阿里云),OPPO(OPPO),MEIZU(魅族)

平台推送ID获取

由于获取推送ID的方式会有多种,APP开发者自行获取保存,然后调用上述API上报即可。为方便开发者,以下给出建议的获取方式。

  1. 百度云

     @Override
     public void onBind(Context context, int errorCode, String appid, String userId, String channelId, String requestId) {
         // 上传ID
         StatService.setPushId(context, MtjConfig.PushPlatform.BAIDUYUN, channelId)
     };
    
  2. 极光

    接收极光推送广播,解析 Intent,判断action 为 JPushInterface.ACTION_REGISTRATION_ID ,获取 clientId。clientId 为 SDK 向 JPush Server 注册所得到的 全局唯一的 ID ,可以通过此 ID 向对应的客户端发送消息和通知。

    APP获取clientId,调用 StatService.setPushId(context, MtjConfig.PushPlatform.JIGUANG, clientId)上传。

  3. 个推

     @Override
     public void onReceiveClientId(Context context, String clientid) {
         Log.e(TAG, "onReceiveClientId -> " + "clientid = " + clientid);
    
         // 上传ID
         StatService.setPushId(context, MtjConfig.PushPlatform.GETUI, clientid)
     }
    
  4. 华为

    TMID:用户标识唯一标识一部用户终端。此标识在应用通过开放接口注册到PUSH平台时会获得,需要应用客户端将此标识传递给应用服务端。

    APP获取TMID,调用 StatService.setPushId(context, MtjConfig.PushPlatform.HUAWEI, tmid)上传。

  5. 小米

     @Override
     public void onReceiveRegisterResult(Context context, MiPushCommandMessage message) {
         String command = message.getCommand();
         List<String> arguments = message.getCommandArguments();
         if (MiPushClient.COMMAND_REGISTER.equals(command)) {
             if (message.getResultCode() == ErrorCode.SUCCESS) {
                 mRegId = cmdArg1;
    
                 // 上传ID
                 StatService.setPushId(context, MtjConfig.PushPlatform.XIAOMI, mRegId)
             }
         } 
     }
    
  6. 其它平台

    请具体参考平台API,将获取到的可用于推送的设备id,调用百度移动统计API上传即可。