在即时通讯 IM 中集成魅族推送
大约 2 分钟
Andorid 集成文档
在即时通讯 IM 中集成魅族推送
环信即时通讯 IM SDK 中已集成魅族推送相关逻辑,你还需要完成以下步骤。
步骤一 在魅族开发者后台创建应用
在魅族开发者后台创建应用,开启推送服务,并上传对应的证书指纹。详见魅族官方介绍:Flyme 推送服务集成。
步骤二 上传推送证书
在环信即时通讯云控制台上传魅族推送证书。
在环信即时通讯云控制台首页的应用列表中,点击目标应用的操作栏中的管理。
在左侧导航栏中,选择即时通讯 > 功能配置 > 消息推送 > 证书管理,点击添加推送证书。
在添加推送证书对话框中选择 魅族 页签,配置魅族推送参数。参数相关信息,详见你在 flyme 推送平台创建的应用的
APP ID
和APP SECRET
以及程序的包名
。
参数 | 类型 | 是否必需 | 描述 |
---|---|---|---|
证书名称 | String | 是 | 填写魅族 App ID。 |
推送密钥 | String | 是 | 填写魅族 App Secret。 |
应用包名 | String | 是 | 填写魅族 App package name。 |
Activity | String | 否 | 选择点击通知后的动作。 |
推送送达回执 | String | 否 | - 开启; - 关闭 |
步骤三 集成魅族推送 SDK
配置魅族推送远程依赖包。
在
app level/build.gradle
中添加依赖。dependencies{ // 从 PushSDK4.1.0 开始 其已发布⾄ mavenCentral implementation 'com.meizu.flyme.internet:push-internal:4.3.0' }
配置
AndroidManifest.xml
。- 推送服务需要的权限列表:
<!-- 魅族推送配置 start--> <!-- 兼容 flyme5.0 以下版本,魅族内部集成 pushSDK 必填,不然无法收到消息--> <uses-permission android:name="com.meizu.flyme.push.permission.RECEIVE" /> <permission android:name="${applicationId}.push.permission.MESSAGE" android:protectionLevel="signature" /> <uses-permission android:name="${applicationId}.push.permission.MESSAGE" /> <!-- 兼容 flyme3.0 配置权限--> <uses-permission android:name="com.meizu.c2dm.permission.RECEIVE" /> <permission android:name="${applicationId}.permission.C2D_MESSAGE" android:protectionLevel="signature" /> <uses-permission android:name="${applicationId}.permission.C2D_MESSAGE" /> <!-- 魅族推送配置 end-->
- 推送服务需要的
receiver
:
<!-- MEIZU 推送配置 start --> <receiver android:name="com.hyphenate.push.platform.meizu.EMMzMsgReceiver"> <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"/> <!-- 兼容低版本 Flyme3 推送服务配置 --> <action android:name="com.meizu.c2dm.intent.REGISTRATION" /> <action android:name="com.meizu.c2dm.intent.RECEIVE" /> <category android:name="${applicationId}"></category> </intent-filter> </receiver> <!-- MEIZU 推送配置 end -->
在即时通讯 IM SDK 初始化时,配置启用魅族推送。
EMOptions options = new EMOptions(); ... EMPushConfig.Builder builder = new EMPushConfig.Builder(this); builder.enableMeiZuPush(String appId,String appKey); // 将 pushconfig 设置为 ChatOptions options.setPushConfig(builder.build()); // 初始化 IM SDK EMClient.getInstance().init(this, options);