Android項目集成信鴿推送

記錄下集成騰訊信鴿推送的步驟要領。給自己做個筆記:
創建應用:
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>-->
        <!--&lt;!&ndash; 接收消息透傳 &ndash;&gt;-->
        <!--<action android:name="com.tencent.android.tpush.action.PUSH_MESSAGE" />-->
        <!--&lt;!&ndash; 監聽註冊、反註冊、設置/刪除標籤、通知被點擊等處理結果 &ndash;&gt;-->
        <!--<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就可以了。

5、demo地址:http://download.csdn.net/detail/z_zt_t/9790947

發佈了89 篇原創文章 · 獲贊 141 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章