后台配置如图:
后台推送有三种形式:通知、应用内消息、自定义消息;
通常我们常用的是通知和自定义消息,本文着重介绍这两个;
当选择通知的时候,我们填完“基础内容”》“应用内消息”》“后续行为”,其中后续行为如图
在“后续动作”中,它们都会执行
UmengMessageHandler messageHandler = new UmengMessageHandler() {
@Override
public Notification getNotification(Context context, UMessage msg) {
}
“打开应用”和“自定义行为”的区别:只有“自定义行为”才走此方法,这个方法是点击通知是执行的点击动作。
“自定义行为”
UmengNotificationClickHandler notificationClickHandler = new UmengNotificationClickHandler() {
@Override
public void dealWithCustomAction(Context context, UMessage msg) {
Log.e("mPushAgent", "点击了: " );
Toast.makeText(context, msg.custom, Toast.LENGTH_LONG).show();
}
};
前面说过,后台推送有三种形式:通知、应用内消息、自定义消息;
我们选择“自定义消息”时才走此方法:
UmengMessageHandler messageHandler = new UmengMessageHandler() {
@Override
public void dealWithCustomMessage(final Context context, final UMessage msg) {
new Handler(getMainLooper()).post(new Runnable() {
@Override
public void run() {
// 对于自定义消息,PushSDK默认只统计送达。若开发者需要统计点击和忽略,则需手动调用统计方法。
boolean isClickOrDismissed = true;
if(isClickOrDismissed) {
//自定义消息的点击统计
UTrack.getInstance(getApplicationContext()).trackMsgClick(msg);
} else {
//自定义消息的忽略统计
UTrack.getInstance(getApplicationContext()).trackMsgDismissed(msg);
}
Toast.makeText(context, msg.custom, Toast.LENGTH_LONG).show();
}
});
}
}
区别:“通知”和“自定义消息”的区别:自定义消息,是指发送后不会在系统通知栏展现,SDK将消息体传给第三方应用后需要开发者写展现代码才能看到的推送形式
注意:我们可以控制是否显示应用在前台时否显示通知
//应用在前台时否显示通知
mPushAgent.setNotificaitonOnForeground(true);