厂商消息报表补全

厂商消息报表补全

一、消息报表介绍

  • 个推渠道:个推sdk内部有相应的埋点,应用有收到推送的通知和透传消息的时候,会上报数据 到后台,数据报表进行展示和统计;
  • 华为渠道:华为暂时未对外提供报表数据接口,提供了回执,报表数据可以根据回执统计到到达数据;
  • 魅族渠道:魅族有对外提供报表数据接口,可以统计到全量的数据;
  • 小米渠道:小米有对外提供报表数据接口,展示数据未提供;
  • oppo渠道:oppo暂时未对外提供报表数据接口,提供了回执,报表数据可以根据回执统计到到达数据;
  • vivo渠道:vivo渠道有对外提供群推报表数据,任务维度报表可以统计到全量的数据;单推没有提供报表数据,由于也未提供app维度的报表数据接口,所以app维度报表通过单推回执+群推报表的形式统计;

二、消息报表补全配置

2.1 点击数据

纯透传模板

如果服务端使用纯透传模板推送的消息,需要app端埋点上报点击数据。这里需要注意的是,如果应用也有使用通知模板推送,并携带了透传内容,这个时候app端需要进行区分判断“是否上报埋点”。方式之一 是,可以在透传消息里面添加一个type字段用以区分纯透传消息,如果是的话则需要调用埋点接口。示例代码如下:

    @Override
    public void onReceiveMessageData(Context context, GTTransmitMessage msg) {
        byte[] payload = msg.getPayload();
        String data = new String(payload);
        Log.d(TAG, "receiver payload = " + data);
        String taskid = msg.getTaskId();
        String messageid = msg.getMessageId();
        }   
        /***
         * 第三方回执调用接口,可根据业务场景执行 
         * actionId传入60002表示点击,SDK内部会根据messageid转换成对应的厂商actionId
         */
        if(//type是纯透传消息){ 
        int gtactionid = 60002; 
        boolean result = PushManager.getInstance().sendFeedbackMessage(context, taskid, messageid, gtactionid); }   

通知+Intent模板

如果服务端使用通知+intent方式推送消息。需要在intent中添加S.gttask=;,添加后个推会自动在intent里拼接taskid和actionid,app端接收到参数以后,上报埋点。
app端接收到拼接之后的intent如下:

intent:#Intent;action=action配置;component=应用包名/activity路径;S.gttask=OSA-
0323_4bVmhahaUIYd7lPef8W1qXU9;S.gtaction=actionid;S.payload={payload};end

点击厂商通知以后,在activity的onCreate()方法里面接收相关参数,上报埋点,示例:

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity);
        try {
        String taskid = getIntent().getStringExtra("gttask");
        String gtaction = getIntent().getStringExtra("gtaction");
        String clientid = PushManager.getInstance().getClientid(context);
        String uuid = UUID.randomUUID().toString().replaceAll("-","");
        String messageid = "md5(taskid + clientid + uuid)"; // 这里的messageid需要自定义, 保证每条消息汇报的都不相同

       /***
               * 第三方回执调用接口,可根据业务场景执行 
               *
               * 60020 华为点击 
               * 60030 oppo点击 
               * 60040 vivo点击 
               *
               * 埋点接口对应填写获取到的actionid值,如果有获取到 actionid 值,就上报埋点,如 果没有则不用上报。
               *
               */
           if (gtaction != null){ 
               int actionid = Integer.parseInt(gtaction); 
               boolean result = PushManager.getInstance().sendFeedbackMessage(context, taskid, messageid, actionid);} 
               } catch (Exception e) {
               //…………
    }
}

注:1、个推sdk需要更新到2.14.0.0以上版本;2、vivo的intent长度限制1kb,intent拼接 actionid和taskid以后,会增加intent长度,这个可以根据业务场景适当调整参数内容长度,以免超限。

三、配置后报表数据预览

消息渠道 下发 到达 展示 点击
个推 ×
华为 ×
小米 ×
魅族
oppo ×
vivo
ups ×
开发者中心 SDK 下载

文档中心搜索

在线
咨询

微信扫一扫

随时联系技术支持

在线
咨询