关于 mPaaS 接入第三方推送(华为+小米)的注意事项总结

记录一次在 app 集成第三方推送的过程,总流程跟着 mPaaS 官方文档和各个推送厂商的官方文档进行就可以,主要记录自己接入的过程中忽略的一些点,导致的开发过程的滞慢。因为 mPaaS 已经集成了自建渠道的推送、华为推送和小米推送(OPPO 和 VIVO 需要另外集成 SDK),所以整个集成的过程还是比较友好的,不过因为第一次集成还是稍微花了一些时间,也有一些比较容易忽略的点,所以做一次完整的记录。

不得不吐槽一下国内安卓手机推送的环境对开发者真不友好,为了保证到达率要集成好几家推送,去年看到消息说国内也要搞一个推送联盟的,以后就可以像国外的手机一样用统一的服务器进行推送了,但是后面就没啥声音了。

Let's get it.

1、按照 mPaas 官方文档打开”消息推送“的组件,并在 AndroidManifest.xml 里进行相关配置

      这里要注意的点就是小米推送的接入有两个权限的配置

    

<!--由于涉及到签名,权限放在 Portal 中-->
    <permission
        android:name="${appcationId}.permission.MIPUSH_RECEIVE"
        android:protectionLevel="signature"/>
    <uses-permission android:name="${appcationId}.permission.MIPUSH_RECEIVE"/>

2、由于项目是采用 bundle + portal 的组件化接入方式,接收推送消息的 Service 类是在 Bundle 中的,在 portal 中配置该 Service 时需要注意类路径依旧保持该 Service 在 Bundle 中的路径。

<!--消息推送 start-->
<service android:name="${bundle 的包名}.service.PushMsgService"
    android:exported="false" >
    <intent-filter>
        <!--MESSAGE_RECEIVED 表示处理接收到的消息-->
        <action android:name="${portal 的包名}.push.action.MESSAGE_RECEIVED" />
        <!--REGISTRATION_ID 表示处理获取到的设备标识-->
        <action android:name="${portal 的包名}.push.action.REGISTRATION_ID" />
                <category android:name="${portal 的包名}" />
    </intent-filter>
 </service>

3、 mPaaS 控制台渠道配置,这一步注意不要配置错就好了

4、注册好开发者账号,按照推送厂商的官方文档进行操作。(这里要注意的就是新建完应用之后,要开启 Push 服务)

      华为的我同时也在 portal 的 app 根目录下配置了 agconnect-services.json 文件和在 build.gradle 文件中配置 华为的 maven 地址

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高钙小新

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值