1、参考资料

  • 官方参考文档

https://www.mob.com/wiki/detailed?wiki=MobPushForFlutterfenlei&id=136

  • 注意官方插件中有些bug,请使用修复后的

https://github.com/xiaobug0929/MobPush-For-Flutter

2、Flutter项目配置

  • 引入mob推送插件

image.png

  • 引入mob所需要的依赖库及相关配置

image.png
image.png

  • 在MainActivity中增加scheme配置,用于实现Android端厂商通道推送时的数据传递,比如离线情况下,点击推送消息,可以将消息传递给MainActivity

image.png

  • 在MainActivity中增加Intent数据解析的方法,因为通过scheme地址打开应用后,数据会被封装在Intent中。

image.png

  • 解析Intent的具体逻辑,注意使用 MobPushUtils.parseMainPluginPushIntent(intent)方法来解析。

image.png

  • 由此,原生端的配置工作就完成了,以下看Flutter端的代码,插件初始化,配置监听回调,当点击推送过来的消息时,会回调我们的监听函数,setOnMessageClickCallback中的回调函数。

image.png
image.png

3、服务器端配置

配置主要参考官方文档,注意后续动作一定要选择应用内跳转的这种方式。
image.png

4、实现原理

mob本身可以实现android和ios的在线和离线推送功能是完全没有问题的,重点是点击推送消息后,能够拿到推送的数据,从而灵活的处理业务逻辑。举个栗子,很常见的一种场景,点击推送过来的消息,打开app中的某个特定页面。
通过以上的配置后,可以实现任何情况下,点击推送消息都可以收到消息中的数据。
具体配置可以参考demo(https://github.com/xiaobug0929/flutter_mob_push_demo

5、注意,项目中一定要配置一下,否则会报错 “MobSDK已停止支持非严格模式版本,请按上面编译告示接入合规版本!”
image.png
image.png