第三方推送平台推送ID上传(Android)

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

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

平台推送ID上传

调用如下API:

  1. /**
  2. * 设置推送id,设置后推送ID会回传到服务器。WEB端可以支持根据筛选规则导出推送ID,将导出的推送ID对接到特定的推送平台,实现精准推送
  3. *
  4. * @param context
  5. * @param platform 推送平台
  6. * @param pushId 客户端获取的对应推送平台的推送ID
  7. */
  8. 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
  2. public void onBind(Context context, int errorCode, String appid, String userId, String channelId, String requestId) {
  3. // 上传ID
  4. StatService.setPushId(context, MtjConfig.PushPlatform.BAIDUYUN, channelId)
  5. };
  • 极光

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

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

  • 个推

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

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

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

  • 小米

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

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