1. 程式人生 > >關於整合極光推送的坑

關於整合極光推送的坑

1、根據文件使用自動整合,

需要在AndroidManifest.xml中加入下列程式碼(加粗部分)

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.android.tests.flavorlib.app"
    xmlns:tools="http://schemas.android.com/tools">

    <application
        android:icon="@drawable/icon"
        android:name="com.example.jpushdemo.ExampleApplication"
        android:label="@string/app_name" >

        <service android:name="cn.jpush.android.service.PushService"
            android:process=":multiprocess"
            tools:node="replace" >

            ……
        </service>
…… </application> …… </manifest>

確認android studio的 Project 根目錄的主 gradle 中配置了jcenter支援。(新建project預設配置就支援)

buildscript {
    repositories {
        jcenter()
    }
    ......
}

allprojets {
    repositories {
        jcenter()
    }
}

在 module 的 gradle 中新增依賴和AndroidManifest的替換變數加入下列程式碼(加粗部分)


android {
    ......
    defaultConfig {
        applicationId "com.xxx.xxx" //JPush上註冊的包名.
        ......

        ndk {
            //選擇要新增的對應cpu型別的.so庫。
            abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a'
            // 還可以新增 'x86', 'x86_64', 'mips', 'mips64'
        }

        manifestPlaceholders = [
            JPUSH_PKGNAME : applicationId,
            JPUSH_APPKEY : "你的appkey", //JPush上註冊的包名對應的appkey.
            JPUSH_CHANNEL : "developer-default", //暫時填寫預設值即可.
        ]
...... } ...... } dependencies { ...... compile 'cn.jiguang.sdk:jpush:3.1.1' // 此處以JPush 3.1.1 版本為例。 compile 'cn.jiguang.sdk:jcore:1.1.9' // 此處以JCore 1.1.9 版本為例。 ...... }

當出現下列錯誤不要慌

我的包命和對應的appKey都是正確的,但還是提示
[JPushGlobal] Invalid appKey :xxxxx , Please get your Appkey from JPush web console!

這裡key對應的報名都沒有問題

這種情況一般就是你在gradle種的appkey有問題,一定要注意有沒有加空格,有空格的話,刪除。