魅族通道接入

最近更新时间:2019-08-28 17:08:25

操作场景

魅族推送通道是由魅族官方提供的系统级推送通道。在魅族手机上,推送消息能够通过魅族的系统通道抵达终端,并且无需打开应用,即可收到推送。

说明:

  • 魅族推送通道通知标题不超过32字符,通知内容不超过100字符。
  • 魅族推送通道不支持透传消息。
  • 魅族通道支持抵达回调,支持点击回调,不支持透传。

操作步骤

获取密钥

进入 魅族推送官网,注册并登录开发者账号,获取 AppID,AppKey,AppSecret 三种信息。更多详情请参见 魅族开发文档

集成方式

AndroidStudio 集成

implementation 'com.tencent.tpns:meizu:1.1.0.2-release' //meizu 推送

Eclipse 集成

  1. 将魅族通道所需要的 jar 包(pushsdk-3.3.170110.jar),导入 libs 目录下:
  2. 在 Android manifest 下配置以下配置:
<application>
<service
    android:name="com.meizu.cloud.pushsdk.NotificationService"
     android:exported="true"/>

<receiver android:name="com.meizu.cloud.pushsdk.SystemReceiver" >
     <intent-filter>
      <action android:name="com.meizu.cloud.pushservice.action.PUSH_SERVICE_START"/>
      <category android:name="android.intent.category.DEFAULT" />
     </intent-filter>
 </receiver>
</application>

 <!-- 注:魅族push 需要的权限 begin -->
 <!-- 兼容flyme5.0以下版本,魅族内部集成pushSDK必填,不然无法收到消息-->

  <uses-permission android:name="com.meizu.flyme.push.permission.RECEIVE"></uses-permission>

  <permission android:name="应用包名.push.permission.MESSAGE" 

                   android:protectionLevel="signature"/>

  <uses-permission android:name="应用包名.push.permission.MESSAGE"></uses-permission>

  <!--  兼容flyme3.0配置权限-->

  <uses-permission android:name="com.meizu.c2dm.permission.RECEIVE" />

  <permission android:name="应用包名.permission.C2D_MESSAGE"

              android:protectionLevel="signature">
  </permission>

  <uses-permission android:name="应用包名.permission.C2D_MESSAGE"/>

<!-- 注:魅族push 需要的权限 end -->

魅族消息 receiver

AndroidManifest.xml 增加 Receiver 配置如下:

<receiver android:name="com.tencent.android.mzpush.MZPushMessageReceiver">
    <intent-filter>
        <!-- 接收push消息 -->
        <action android:name="com.meizu.flyme.push.intent.MESSAGE" />
        <!-- 接收register消息-->
         <action android:name="com.meizu.flyme.push.intent.REGISTER.FEEDBACK"/>
        <!-- 接收unregister消息-->
         <action android:name="com.meizu.flyme.push.intent.UNREGISTER.FEEDBACK"/>

         <action android:name="com.meizu.c2dm.intent.REGISTRATION" />
         <action android:name="com.meizu.c2dm.intent.RECEIVE" />

         <category android:name="应用包名"></category>
     </intent-filter>
</receiver>

开启魅族推送

在启动腾讯移动推送,调用 XGPushManager.registerPush 之前,配置如下代码:

//设置魅族APPID和APPKEY
XGPushConfig.enableOtherPush(context, true);
XGPushConfig.setMzPushAppId(this, APP_ID);
XGPushConfig.setMzPushAppKey(this, APP_KEY);

注册成功的日志如下:

//成功的获取到腾讯移动推送的token和魅族的token,并且绑定成功说明注册成功
INFO16:24:27.94313075XINGE[a] >> bind OtherPushToken success ack with [accId = 2100273138 , rsp = 0] token = 08d7ea8e4b93952cbfdd2cb68461342c314d281a otherPushType = meizu otherPushToken = ULY6c5968627059714a475c63517f675b7f655e62627e

如需通过点击回调获取参数或者跳转自定义页面,您可使用 Intent 来实现,单击 查看教程

代码混淆

-dontwarn com.meizu.cloud.pushsdk.**

-keep class com.meizu.cloud.pushsdk.**{*;}