此處先附上官網(wǎng)API:http://docs.developer.qq.com/xg/android_access/api.html
官網(wǎng)API寫(xiě)的挺全的,如果只是單單前端需要獲取通知的話(huà),以下內(nèi)容就足夠了。
?一、官網(wǎng)注冊(cè)
1、在信鴿官網(wǎng)注冊(cè)賬號(hào),進(jìn)行實(shí)名認(rèn)證。
2、找到應(yīng)用管理 →我的應(yīng)用→新建應(yīng)用

3.、填寫(xiě)配置

注意: (1) ?應(yīng)用名稱(chēng)可以自己隨便寫(xiě),當(dāng)最好與自己項(xiàng)目名稱(chēng)一致。
? ? ? ? ? ? ?(2) 應(yīng)用包名必須使用你所要使用推送的項(xiàng)目 app包build.gradle中?applicationId的屬性

4、下一步完成以后,就在官網(wǎng)注冊(cè)好了。

????注意:這里的ACCESS ID 和 ACCESS KEY 等會(huì)在 android studio中集成的時(shí)候會(huì)用到。
二、android studio集成
? ? 這里只講通過(guò)jcenter遠(yuǎn)程倉(cāng)庫(kù)自動(dòng)接入,不需要在項(xiàng)目中導(dǎo)入jar包和so文件。
1、確認(rèn)android studio的 Project 根目錄的主 gradle 中配置了jcenter支持。(新建project默認(rèn)配置就支持)

2、在 app下build.gradle做androidManifest的替換變量

android {
? ?......
????defaultConfig {
????????applicationId "com.xxx.xxx" //JPush上注冊(cè)的包名.
? ? ? ......
????????ndk {
????????//選擇要添加的對(duì)應(yīng)cpu類(lèi)型的.so庫(kù)
?? ? ? ? ????? abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a'
????????????????????// 還可以添加 'x86', 'x86_64', 'mips', 'mips64'
????????}
???????manifestPlaceholders = [
????????????????????XG_ACCESS_ID:"注冊(cè)應(yīng)用的accessid",
????????????????????XG_ACCESS_KEY : "注冊(cè)應(yīng)用的accesskey",
????????]
????......
????}
......
}
這里的XG_ACCESS_ID和XG_ACCESS_KEY就是剛才我們提到的集成會(huì)用到的accessId和accessKey。
3、在 app下的build.gradle中添加依賴(lài)

//完整的信鴿依賴(lài)三個(gè)都必須有,如果發(fā)生依賴(lài)沖突請(qǐng)根據(jù)對(duì)應(yīng)的依賴(lài)版本號(hào)選擇高版本的依賴(lài)。(使用jcenter自動(dòng)接入請(qǐng)確認(rèn)libs 中沒(méi)有信鴿的相關(guān)jar包)
//是否需要信鴿采集安裝列表 自行二選一
//采集安裝列表
compile 'com.tencent.xinge:xinge:3.1.2-a-alpha'
//不采集安裝列表
compile 'com.tencent.xinge:xinge:3.1.2-b-alpha'
//wup包
compile 'com.tencent.wup:wup:1.0.0.E-alpha'
//mid包
compile 'com.tencent.mid:mid:3.9.0-alpha'
**注意***
如果在添加以上 abiFilter 配置之后android Studio出現(xiàn)以下提示:
NDK integration is deprecated in the current plugin. Consider trying the new experimental plugin.
則在 Project 根目錄的gradle.properties文件中添加:
android.useDeprecatedNdk=true
4、在我的項(xiàng)目中,我是創(chuàng)建了一個(gè)BaseApplication 繼承 Application,這樣只要在app啟動(dòng)的時(shí)候直接就啟用了信鴿推送了。在BaseApplication中重寫(xiě)onCreate方法,調(diào)用initXGPush();。 ? ? ? 這里需要注意的是需要在AndroidManifest中對(duì)application進(jìn)行name屬性配置

private voidinitXGPush(){
????XGPushConfig.enableDebug(this,true);
????XGPushManager.registerPush(this, newXGIOperateCallback() {
????@Override
????public voidonSuccess(Object data, intflag) {
????//token在設(shè)備卸載重裝的時(shí)候有可能會(huì)變
????Log.e("TPush","注冊(cè)成功,設(shè)備token為:"+ data);
????}
????@Override
????public voidonFail(Object data, interrCode,String msg) {
????Log.e("TPush","注冊(cè)失敗,錯(cuò)誤碼:"+ errCode +",錯(cuò)誤信息:"+ msg);
????}
????});
????//設(shè)置賬號(hào)
????XGPushManager.registerPush(getApplicationContext(),"XINGE");
????// 設(shè)置標(biāo)簽
????XGPushManager.setTag(this,"XINGE");
}
如果是詳細(xì)按照我寫(xiě)的步驟集成的話(huà),騰訊信鴿就算集成好了。接下來(lái),就可以在官網(wǎng)進(jìn)行消息推送了。