友盟PUSH SDK-v5.0.4版本升级文档
最新资讯 • U-Push
3161
2019-5-14
摘要:
友盟PUSH SDK-v5.0.4版本升级文档

温馨提示:

(1)如之前您的应用使用的Common版本高于1.5.4,则Common包不用修改,只需升级替换Push相关的包即可;

(2)由于安卓机型和版本碎片化较多,新版本SDK虽已通过主流机型测试流程,但在暂未覆盖大量用户的情况下,不能完全保证适配所有机型。建议您在更新上线时采用“灰度控制”的方式,如有发现问题随时跟我们联系,我们将全力解决。


完全自定义处理(透传)功能

若开发者需要实现对消息的完全自定义处理,则可以继承 UmengMessageService, 实现自己的Service来完全控制达到消息的处理。使用完全自定义处理后,PushSDK只负责下发消息体且只统计送达数,展示逻辑需由开发者自己写代码实现,点击数和忽略数需由开发者调用UTrack类的trackMsgClicktrackMsgDismissed方法进行统计。


1、实现一个类,继承 UmengMessageService, 重写onMessage(Context context, Intent intent) 方法,注意:该服务不能实现onCreate\onBind等生命周期方法代码,代码如下:

public class UmengNotificationService extends UmengMessageService {

    @Override

    public void onMessage(Context context, Intent intent) {

        String message = intent.getStringExtra(AgooConstants.MESSAGE_BODY);

        //处理消息内容

    }

}

//注意:该服务不能实现onCreate\onBind等生命周期方法


2、在AndroidManifest.xml 中声明:

<!-- 请填写实际的类名,下面仅是示例代码-->

<service android:name="【应用包名】.UmengNotificationService"

android:permission="android.permission.BIND_JOB_SERVICE" />


3、在自定义Application类的onCreate方法中调用:

mPushAgent.setPushIntentServiceClass(UmengNotificationService.class);

说明:

打开消息行为的数据统计:默认情况下,SDK将用户点击通知栏的行为定义为打开消息。使用完全自定义处理后,SDK只能记录消息送达的数据,无法记录消息打开的数据。要记录消息打开的数据,你可以在应用中定义打开消息的语义,并使用以下接口向服务器发送消息打开的数据以便统计:UTrack.getInstance(context).trackMsgClick(msg);

也可以根据需要对自定义处理的消息进行忽略统计:UTrack.getInstance(context).trackMsgDismissed(msg);

如果需要打开Activity,需为Intent添加FlagIntent.FLAG_ACTIVITY_NEW_TASK,否则无法启动Activity

如果使用了完全自定义处理后,又想恢复成【友盟+】的默认的处理,可以通过如下设置来恢复mPushAgent.setPushIntentServiceClass(null);