記錄下集成騰訊信鴿推送的步驟要領。給自己做個筆記:
創建應用:
http://xg.qq.com/xg/apps/ctr_app/get_app_info?app_id=2100254961
1、應該很容易到這一步。然後需要添加測試設備,添加它的token。
這裏可以通過log日誌獲取或者過debug調試獲取到token。然後你就集成完畢了
XGPushManager.registerPush(context, new XGIOperateCallback() {
@Override
public void onSuccess(Object data, int flag) {
Log.d("TPush", "註冊成功,設備token爲:" + data);
tvToken.setText(data.toString());
}
@Override
public void onFail(Object data, int errCode, String msg) {
Log.d("TPush", "註冊失敗,錯誤碼:" + errCode + ",錯誤信息:" + msg);
}
});
2、添加依賴.so文件以及jar包
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.1.1'
compile files('libs/jg_filter_sdk_1.1.jar')
}
3、清單文件mainfest配置修改
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="tdotapp.com.xingedemo">
<!-- 【必須】 信鴿SDK所需權限 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<!-- 【常用】 信鴿SDK所需權限 -->
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- 【可選】 信鴿SDK所需權限 -->
<uses-permission android:name="android.permission.RESTART_PACKAGES" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BATTERY_STATS" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- 【必須】 (2.30及以上版新增)展示通知的activity -->
<activity
android:name="com.tencent.android.tpush.XGPushActivity"
android:exported="false"
android:theme="@android:style/Theme.Translucent">
<intent-filter>
<!-- 若使用AndroidStudio,請設置android:name="android.intent.action"-->
<action android:name="android.intent.action" />
</intent-filter>
</activity>
<!-- 【必須】 信鴿receiver廣播接收 -->
<receiver
android:name="com.tencent.android.tpush.XGPushReceiver"
android:process=":xg_service_v2">
<intent-filter android:priority="0x7fffffff">
<!-- 【必須】 信鴿SDK的內部廣播 -->
<action android:name="com.tencent.android.tpush.action.SDK" />
<action android:name="com.tencent.android.tpush.action.INTERNAL_PUSH_MESSAGE" />
<!-- 【必須】 系統廣播:網絡切換 -->
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
<!-- 【可選】 系統廣播:開屏 -->
<action android:name="android.intent.action.USER_PRESENT" />
<!-- 【可選】 一些常用的系統廣播,增強信鴿service的復活機會,請根據需要選擇。當然,你也可以添加APP自定義的一些廣播讓啓動service -->
<action android:name="android.bluetooth.adapter.action.STATE_CHANGED" />
<action android:name="android.intent.action.ACTION_POWER_CONNECTED" />
<action android:name="android.intent.action.ACTION_POWER_DISCONNECTED" />
</intent-filter>
<!-- 【可選】 usb相關的系統廣播,增強信鴿service的復活機會,請根據需要添加 -->
<intent-filter android:priority="0x7fffffff">
<action android:name="android.intent.action.MEDIA_UNMOUNTED" />
<action android:name="android.intent.action.MEDIA_REMOVED" />
<action android:name="android.intent.action.MEDIA_CHECKING" />
<action android:name="android.intent.action.MEDIA_EJECT" />
<data android:scheme="file" />
</intent-filter>
</receiver>
<!-- 【必須】 信鴿service -->
<service
android:name="com.tencent.android.tpush.service.XGPushService"
android:exported="true"
android:persistent="true"
android:process=":xg_service_v2" />
<!-- 【必須】 通知service,其中android:name部分要改爲當前包名 -->
<service
android:name="com.tencent.android.tpush.rpc.XGRemoteService"
android:exported="true">
<intent-filter>
<!-- 【必須】 請修改爲當前APP名包.PUSH_ACTION,如demo的包名爲:com.qq.xgdemo -->
<action android:name="tdotapp.com.xingedemo.PUSH_ACTION" />
</intent-filter>
</service>
<!-- 【可選】信鴿拉起其他APP應用,若應用在本地找不到可以自動下載 -->
<!--
<service
android:name="com.tencent.android.tpush.XGDownloadService"
android:enabled="true"
android:exported="false" />
-->
<!-- 【可選】APP實現的Receiver,用於接收消息透傳和操作結果的回調,請根據需要添加 -->
<!-- YOUR_PACKAGE_PATH.CustomPushReceiver需要改爲自己的Receiver: -->
<!--<receiver-->
<!--android:name="com.qq.xgdemo.receiver.MessageReceiver"-->
<!--android:exported="false">-->
<!--<intent-filter>-->
<!--<!– 接收消息透傳 –>-->
<!--<action android:name="com.tencent.android.tpush.action.PUSH_MESSAGE" />-->
<!--<!– 監聽註冊、反註冊、設置/刪除標籤、通知被點擊等處理結果 –>-->
<!--<action android:name="com.tencent.android.tpush.action.FEEDBACK" />-->
<!--</intent-filter>-->
<!--</receiver>-->
<!-- 【必須】 請修改爲APP的AccessId,“21”開頭的10位數字,中間沒空格 -->
<meta-data
android:name="XG_V2_ACCESS_ID"
android:value="21xxxxxxx" />
<!-- 【必須】 請修改爲APP的AccessKey,“A”開頭的12位字符串,中間沒空格 -->
<meta-data
android:name="XG_V2_ACCESS_KEY"
android:value="Axxxxxxxxx" />
</application>
</manifest>
4、那麼基本集成就算完成了。至於消息的回調那些沒做深究,demo奉上,修改access id,access key,應用包名,添加設備token就可以了。