官方文档:https://developer.umeng.com/docs/66632/detail/98581
首先通过官方文档集成,功能正常,弹框正常,满足基本需求。
但是推送的问题是,如果app正在运行,推送过来的消息是没有弹出来的提示的。所以产品需要新加一个在app内部弹框的功能。
问题:之前是点击才去拿推送的数据,现在需要推送过来,马上就要拿到数据处理
参考文档-》高级功能集成-》
方案一:消息到达时获取自定义参数。重写UmengMessageHandler类中的getNotification(Context context, UMessage msg)方法:
UmengMessageHandler messageHandler = new UmengMessageHandler() {
@Override
public Notification getNotification(Context context, UMessage msg) {
for (Map.Entry entry : msg.extra.entrySet()) {
Object key = entry.getKey();
Object value = entry.getValue();
}
return super.getNotification(context, msg);
}
};
mPushAgent.setMessageHandler(messageHandler);
大坑!!!!!
加上之后发现,推送过来的消息,没有系统弹框了!!!
解决:
去掉getNotification(Context context, UMessage msg)方法,实现dealWithNotificationMessage(p0: Context?, p1: UMessage?)
通过p1去拿推送过来的数据。