记录友盟推送不弹框的问题

官方文档: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去拿推送过来的数据。

补充:getNotification是走的自定义弹框,如果你没有自定义弹框样式,就会出现这个问题。

你可能感兴趣的:(记录友盟推送不弹框的问题)