美文网首页推送
Android极光推送(接入小米厂商)

Android极光推送(接入小米厂商)

作者: Wang_Mr | 来源:发表于2021-08-12 14:45 被阅读0次

    小米开放平台

    1. 登录小米开放平台账号,点击应用服务-消息推送-立即体验
    Push服务.png
    1. 创建应用
    创建应用.png
    填写应用信息.png
    1. 启用推送服务
    启用.png
    1. 找到APPID、Key 以及 SecretKey。
    id、key.png

    极光推送

    1. 创建应用
    创建应用.png

    2.选择推送服务

    推送服务.png
    1. 填写App包名,以及勾选配置厂商(此处以小米为例)后,最下方提示尚未配置,点击进行配置
    勾选厂商.png
    1. 填写配置信息(在小米开放平台获取到的 id、secret 以及 key 填写上),点击保存后,右上角会出现一个启用的按钮,点击启用。点击下一步,完成配置。
    填写配置.png
    一定要打开启用.png

    项目配置

    1. modulegradle中添加依赖等
    apply plugin: 'com.android.application'
    
    android {
        compileSdkVersion 30
        buildToolsVersion "30.0.2"
    
        defaultConfig {
            applicationId "wang"
            ...
    
            ndk {
                //选择要添加的对应 cpu 类型的 .so 库。
                abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a'
                // 还可以添加 'x86', 'x86_64', 'mips', 'mips64'
            }
    
            // 千万不要去掉前缀` MI- ` 
            manifestPlaceholders = [
                    JPUSH_PKGNAME : applicationId,
                    JPUSH_APPKEY : "2e5242949a5d5ecbe70fd034", //JPush 上注册的包名对应的 Appkey.
                    JPUSH_CHANNEL : "developer-default",//暂时填写默认值即可
                    XIAOMI_APPID : "MI-小米的APPID",
                    XIAOMI_APPKEY : "MI-小米的APPKEY"
            ]
    
        }
    
        ...
    }
    
    dependencies {
        ...
    
        implementation 'cn.jiguang.sdk:jcore:2.9.0'
        implementation 'cn.jiguang.sdk:jpush:4.3.0'
        // 接入小米厂商
        // 此要与jpush版本号保持一致
        implementation 'cn.jiguang.sdk.plugin:xiaomi:4.3.0'
    }
    
    
    1. AndroidManifest 中配置一个Service
         <!-- Since JCore2.0.0 Required SDK核心功能-->
            <!-- 可配置android:process参数将Service放在其他进程中;android:enabled属性不能是false -->
            <!-- 这个是自定义Service,要继承极光JCommonService,可以在更多手机平台上使得推送通道保持的更稳定 -->
            <service android:name="xx.xx.XService"
                    android:enabled="true"
                    android:exported="false"
                    android:process=":pushcore">
                    <intent-filter>
                        <action android:name="cn.jiguang.user.service.action" />
                    </intent-filter>
            </service>    
    
    1. AndroidManifest 中配置配置继承JPushMessageReceiver的广播
         <!-- Required since 3.0.7 -->
            <!-- 新的 tag/alias 接口结果返回需要开发者配置一个自定的广播 -->
            <!-- 3.3.0开始所有事件将通过该类回调 -->
            <!-- 该广播需要继承 JPush 提供的 JPushMessageReceiver 类, 并如下新增一个 Intent-Filter -->
            <receiver
                android:name="自定义 Receiver"
                android:enabled="true" 
                android:exported="false" >
                <intent-filter>
                        <action android:name="cn.jpush.android.intent.RECEIVE_MESSAGE" />
                        <category android:name="您应用的包名" />
                </intent-filter>
            </receiver>
    
    1. 初始化推送服务
    public class ExampleApplication extends Application {
        @Override
            public void onCreate() {
                super.onCreate();
                JPushInterface.setDebugMode(true);
                JPushInterface.init(this);
           }
       }
    
    
    1. 验证
    验证.png
    1. 注意:点击通知跳转,获取附加字段

    onCreate()获取getIntent().getExtras().getString("JMessageExtra")

    // 通过极光通道点开,获取如下
    {"key":"123"}
    // 通过厂商通道,获取如下
    {
        "n_extras": {
            "key": "123"
        },
        "n_title": "通知标题",
        "n_content": "通知内容",
        "msg_id": 90074111111111,
        "rom_type": 1,
        "_j_data_": "{\"data_msgtype\":1,\"push_type\":4,\"is_vip\":0}"
    }
    

    相关文章

      网友评论

        本文标题:Android极光推送(接入小米厂商)

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