android接入华为推送注意点

        由于公司产品有及时聊天功能,因此对信息达到及时性要求比较高,因此安排我处理部分android手机在app不运行情况下的信息推送。下面分别介绍华为推送和小米推送接入。
       一、华为推送
接入之前,我先研究了华为推送的demo,目前华为推送官网是HMS,这个推送里面集成了很多平台功能,而Push只是其中一个功能。如果你只是需要接入push功能,个人不建议用HMS,因为HMS对系统权限要求比较复杂,而且在平台申请到权限之后,如果要测试推送的话,还需要填apk的指纹证书,而如果用旧版本的push SDK则此处的指纹证书则不需要。所以我们暂时考虑接入华为专门针对推送服务的SDK(HWPushSDK_v2.7.05)。接入流程如下:
1. 首先上华为开发者联盟上注册认证成为开发者;
2. 申请通过后,在管理中心处,选择产品管理,创建产品,名称应该和工程中的产品名称一致。
3. 引入华为推送服务jar包(HwPush_SDK_V2705.jar)到工程;
4. 建立一个华为推送接收器(com.huawei.android.pushagent.api.PushEventReceive)子类用于接收服务器token,同时将token上传到自己的服务器。
5. 在androidmanifest.xml文件中配置华为推送服务权限等。
6. 测试在推送服务下“新建android推送”(推送服务不需要SHA256证书指纹),发送范围选择指定到具体的EMEI号(是token的第2位之后的15位数字)。
7. 如果要出发onEvent(...)回调函数,需要添加Extras键值对;
附(androidmanifest.xml华为配置):


二、小米推送
1. 首先上小米推送运营平台注册认证。
2. 创建应用,包名确定后不能修改。
3. 导入小米推送服务jar包(MiPush_SDK_Client_3_2_2.jar)到工程。
4. 建立一个小米推送接收器(com.xiaomi.mipush.sdk.PushMessageReceiver)子类用于重写服务注册的结果。
5. 在androidmanifest.xml文件中配置华为推送服务权限等。


附(androidmanifest.xml小米配置):

    

        android:exported="true"

        android:name="com.xiaomi.push.service.receivers.NetworkStatusReceiver" >

        

            

            

        

    

    

        android:exported="false"

        android:process=":pushservice"

        android:name="com.xiaomi.push.service.receivers.PingReceiver" >

        

            

        

    

    //继承了PushMessageReceiverDemoMessageReceiver的广播注册

    

        android:name="com.winhong.android.zhiku.receiver.Mipush_Broadcast"

        android:exported="true">

        

            

        

        

            

        

        

            

        

    

 


androidmanifest.xml华为配置):

    

        

        

            

                

                

                

                

                

                

                

                

            

        

 

        

          

        

        

            android:name="com.huawei.android.pushagent.PushEventReceiver"

            android:process=":pushservice" >

            

                

                

                

                

            

            

                

                

                

            

        

        

            android:name="com.huawei.android.pushagent.PushBootReceiver"

            android:process=":pushservice" >

            

                

                

            

            

                android:name="CS_cloud_version"

                android:value="\u0032\u0037\u0030\u0035" />

        

        

        

        

            android:name="com.huawei.android.pushagent.PushService"

            android:process=":pushservice" >

        


你可能感兴趣的:(android推送服务)