您当前的位置: 首页 > 

更方便的将各个 rom 厂商自己的推送服务进行集成,并统一管理

发布时间:2016-10-18 15:01:46 ,浏览量:0

AndroidPush
项目地址: jiang111/AndroidPush
简介:更方便的将各个 rom 厂商自己的推送服务进行集成,并统一管理

 

更方便的将各个 rom 厂商自己的推送服务进行集成,并统一管理,使用前还是需要熟悉各个平台的相关文档

各个平台的说明
  1. MIUI 系统将使用小米推送
  2. Flyme 系统将使用魅族推送
  3. EMUI 系统将使用华为推送
  4. 其他系统将使用JPush 推送
集成(请看 app 下的 demo)
  1. 将项目中的 aar 文件夹的四个包导入到自己的项目并添加依赖,在自己项目下的 gradle 文件添加

    //项目最外层的 gradle
    allprojects {
            repositories {
                ...
                maven { url "https://jitpack.io" }
            }
        }
        //app 下的 gradle
     defaultConfig {
         ...
         ndk {
             abiFilters 'armeabi', 'armeabi-v7a', 'armeabi-v8a'
         }
         manifestPlaceholders = [
                 JPUSH_PKGNAME : applicationId,
                 JPUSH_APPKEY : "3df7e06ec9bf5e79abdc4a6a",
                 JPUSH_CHANNEL : "develop",
                 PNAME : applicationId
         ]
     }
     dependencies {
                compile 'com.github.jiang111:AndroidPush:v1.1.1'
            }
  2. 在自己项目下的 manifest 文件中添加如下代码:

    
    					

			
				使用
			
			
				
  1. 在使用推送之前,请在 gradle 中配置 JPUSH_APPKEY 字段为 jpush 平台的 key,在小米和魅族开放平台申请的 id 和 key 进行配置,小米和魅族的配置方法:

    Const.setMiUI_APP("APP_MIUI_ID", "APP_MIUI_KEY");
    Const.setFlyme_APP("APP_FLYME_ID", "APP_FLYME_KEY");
  2. 创建 PushInterface 接口的子类,并在相关的方法里实现自己的业务逻辑,并在 Push 类中进行配置。

    Push.setPushInterface(pushInterface);
  3. 注册推送服务,这里会根据自己的 rom 型号自动配置相关的推送服务:

    Push.register(this, BuildConfig.DEBUG); //BuildConfig.DEBUG 代表是否开启各个推送服务的 debug 功能.

4.获取当前 rom 平台:

RomUtil.rom();
各个推送平台的特点
  1. 小米和极光推送做的都差不多,通知栏和透传消息都可以自己控制,没什么可说的.

  2. flyme 推送 无法对通知栏做任何的控制(除了改改样式),一切都由后台控制 透传消息的话,在 Receiver 的 onMessage()的回调中使用.

  3. 华为推送 如果推送的消息类型为透传消息的话,则无法使用 extra 字段,只可以用 onPushMsg()回调中的 byte[] msg 参数. 通知栏的话,由于点击动作和魅族一样,都是由后台控制.

混淆

在 library 中已经配置混淆,不需要再配置

常见 rom 的区分

参考自: http://www.jianshu.com/p/6e6828755667

关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    111326博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0492s