美文网首页Android工具集三方推送
极光推送第一篇:配置

极光推送第一篇:配置

作者: Small_Cake | 来源:发表于2019-06-24 14:20 被阅读54次

极光推送第二篇:消息处理
极光推送第三篇:消息跳转和自定义

相信很多人都是用的极光推送,因为名字好看。官方也有文档:https://docs.jiguang.cn//jpush/client/Android/android_sdk/,但我觉得太杂太乱了,还是打算自己总结一下自动集成,因为懒,所以不手动。

  • 说明 : 使用 jcenter 自动集成的开发者,不需要在项目中添加 jar 和 so,jcenter 会自动完成依赖;在 AndroidManifest.xml 中不需要添加任何 JPush SDK 相关的配置,jcenter 会自动导入
  • 注意 :如果需要【处理收到的消息】、使用 3.0.7 版本支持的别名与标签的新接口,AndroidManifest 中的自定义广播接收器仍需开发者手动配置,参考 SDK 压缩包里的 AndroidManifest.xml 样例文件。
1.引入sdk:极光现在采用模块化引入,所以jcore核心是所有的极光服务都要引入的,然后我们只需要再引入推送jpush就可以了:
  • a.在dependencies引入相关的SDK
implementation 'cn.jiguang.sdk:jpush:3.3.2'
implementation 'cn.jiguang.sdk:jcore:2.0.1'
  • b.在android{defaultConfig{}}中配置:ndk(cup的支持)
        ndk {
            //选择要添加的对应 cpu 类型的 .so 库。
            abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a','x86', 'x86_64', 'mips', 'mips64'
        }
  • c.在android{defaultConfig{}}中配置:manifestPlaceholders(包名,key,渠道)
        manifestPlaceholders = [
            JPUSH_PKGNAME : applicationId,
            JPUSH_APPKEY : "你的 Appkey ", //JPush 上注册的包名对应的 Appkey.
            JPUSH_CHANNEL : "developer-default", //暂时填写默认值即可.
        ]
2.配置JCommonService:说好的在 AndroidManifest.xml 中不需要添加配置,但【极光】说:使用 JCore 2.0.0 及以上版本,则需要配置一个Service,才能更稳定。我们肯定希望更稳定啊!所以:

a.在创建自己的PushService

import cn.jpush.android.service.JCommonService;
public class PushService extends JCommonService {
}

b.在AndroidManifest.xml中配置

        <!-- Since JCore2.0.0 Required SDK核心功能-->
        <!-- 可配置android:process参数将Service放在其他进程中;android:enabled属性不能是false -->
        <!-- 这个是自定义Service,要继承极光JCommonService,可以在更多手机平台上使得推送通道保持的更稳定 -->
        <service android:name="com.smallcake.jpush.PushService"
            android:enabled="true"
            android:exported="false"
            android:process=":pushcore">
            <intent-filter>
                <action android:name="cn.jiguang.user.service.action" />
            </intent-filter>
        </service>
3.配置JPushMessageReceiver:说好的在 AndroidManifest.xml 中不需要添加配置,但【极光】说:要自己处理消息,就还是要写一个 广播接收器。我们肯定要自己处理一些消息啊!所以:

a.创建

/**
 * 自定义JPush message 接收器,包括操作tag/alias的结果返回(仅仅包含tag/alias新接口部分)
 * */
public class MyJPushMessageReceiver extends JPushMessageReceiver {
    @Override
    public void onTagOperatorResult(Context context,JPushMessage jPushMessage) {
        super.onTagOperatorResult(context, jPushMessage);
    }
    @Override
    public void onCheckTagOperatorResult(Context context,JPushMessage jPushMessage){
        super.onCheckTagOperatorResult(context, jPushMessage);
    }
    @Override
    public void onAliasOperatorResult(Context context, JPushMessage jPushMessage) {
        super.onAliasOperatorResult(context, jPushMessage);
    }
    @Override
    public void onMobileNumberOperatorResult(Context context, JPushMessage jPushMessage) {
        super.onMobileNumberOperatorResult(context, jPushMessage);
    }
}

b.配置

        <!-- Required since 3.0.7 -->
        <!-- 新的 tag/alias 接口结果返回需要开发者配置一个自定的广播 -->
        <!-- 3.3.0开始所有事件将通过该类回调 -->
        <!-- 该广播需要继承 JPush 提供的 JPushMessageReceiver 类, 并如下新增一个 Intent-Filter -->
        <receiver
            android:name="com.smallcake.jpush.MyJPushMessageReceiver"
            android:enabled="true"
            android:exported="false" >
            <intent-filter>
                <action android:name="cn.jpush.android.intent.RECEIVE_MESSAGE" />
                <category android:name="您应用的包名" />
            </intent-filter>
        </receiver>
4.初始化:在我们自己的Application中初始化,并设置调试开关
JPushInterface.init(this);
JPushInterface.setDebugMode(BuildConfig.DEBUG);

如果你设置了开启混淆minifyEnabled true,记得添加混淆配置:

 #极光推送
-dontoptimize
-dontpreverify
-dontwarn cn.jpush.**
-keep class cn.jpush.** { *; }
-keep class * extends cn.jpush.android.helpers.JPushMessageReceiver { *; }

-dontwarn cn.jiguang.**
-keep class cn.jiguang.** { *; }

配置好这些后,我们去极光后台发送一条消息测试一下,效果如下:


推送测试

下一篇我们来看看消息的处理:

极光推送第二篇:消息处理

相关文章

  • 极光推送第二篇:消息接收

    极光推送第一篇:配置极光推送第三篇:消息跳转和自定义 上一篇极光推送第一篇:配置中的第三节我们说到了需要通过自定义...

  • 极光推送第三篇:消息跳转和自定义

    极光推送第一篇:配置极光推送第二篇:消息处理 上一篇极光推送第二篇:消息接收中我们接收并打印了消息,这一篇我们看看...

  • 极光推送(二)——推送的使用

    前言 在极光推送(一)——配置中讲过了极光推送的配置,这节讲讲极光推送的使用参考文档极光官网 下面以我写的demo...

  • 极光统计

    前言 极光统计可以独立使用,其配置和极光推送相似 极光统计配置 极光统计代码编写 极光统计方法调用 具体配置请参考...

  • 极光推送进行远程推送

    借阅:极光推送进行远程推送 怎么使用极光推送进行远程推送 在极光官网注册极光推送创建一个应用在应用配置中导入两个证...

  • iOS 极光推送诶配置成功却收不到推送消息的处理

    极光配置都OK了,推送能力打开了,Apple的推送证书也配置了,极光后台的推送证书也验证成功了,推送也打印了log...

  • iOS-iOS10极光推送的使用

    1、首先先配置好推送证书,传到极光。极光推送->iOS证书设置指南极光推送->iOS SDK集成指南(XCode8...

  • iOS-极光推送的使用

    1、首先先配置好推送证书,传到极光。极光推送->iOS证书设置指南极光推送->iOS SDK集成指南(XCode8...

  • 极光推送配置

    1、安装cordova 因为极光推送使用的是cordova插件,所以我们要先安装cordova: 通过npm包管理...

  • iOS初步集成极光推送后你还要做这些事

    当我们把推送证书配置好再把极光SDK拖入项目配置,然后注册极光推送,完成代理,这样没有太多意外你就能收到消息了,但...

网友评论

    本文标题:极光推送第一篇:配置

    本文链接:https://www.haomeiwen.com/subject/qejnqctx.html