信鸽推送

来源:互联网 发布:阿里云域名续费优惠 编辑:程序博客网 时间:2024/04/27 15:48

在官网下载sdk 将jar包和so库拷贝到项目中

登录官方文档创建项目

导入so库的时候会找不到so库 可在gradle里面增加

sourceSets {//信鸽推送so库找不到    main {        jniLibs.srcDirs = ['libs']    }}


清单中:
<!-- 【必须】 信鸽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.RECEIVE_BOOT_COMPLETED" /><uses-permission android:name="android.permission.RESTART_PACKAGES" /><uses-permission android:name="android.permission.BROADCAST_STICKY" /><uses-permission android:name="android.permission.WRITE_SETTINGS" /><uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" /><uses-permission android:name="android.permission.WAKE_LOCK" /><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.VIBRATE" /><!-- 【可选】 信鸽SDK所需权限 --><uses-permission android:name="android.permission.BLUETOOTH" /><uses-permission android:name="android.permission.BATTERY_STATS" />



    <!-- 【必须】 信鸽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.intent.action.USER_PRESENT" />            <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />            <!-- 【可选】 一些常用的系统广播,增强信鸽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>    <!-- 【必须】 (2.30及以上版新增)展示通知的activity -->    <!-- 【注意】 如果被打开的activity是启动模式为SingleTopSingleTaskSingleInstance,请根据通知的异常自查列表第8点处理-->    <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>    <!-- 【必须】 信鸽service -->    <service        android:name="com.tencent.android.tpush.service.XGPushService"        android:exported="true"        android:persistent="true"        android:process=":xg_service_v2" />    <!-- 【必须】 通知service,此选项有助于提高抵达率 -->    <service        android:name="com.tencent.android.tpush.rpc.XGRemoteService"        android:exported="true">        <intent-filter>            <action android:name="*****.PUSH_ACTION" />        </intent-filter>    </service>    <!-- 【必须】 请将YOUR_ACCESS_ID修改为APPAccessId“21”开头的10位数字,中间没空格 -->    <meta-data        android:name="XG_V2_ACCESS_ID"        android:value="********" />    <!-- 【必须】 请将YOUR_ACCESS_KEY修改为APPAccessKey“A”开头的12位字符串,中间没空格 -->    <meta-data        android:name="XG_V2_ACCESS_KEY"        android:value="********" /></application>


注册信鸽


 @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        Context context = getApplicationContext();        XGPushManager.registerPush(this, new XGIOperateCallback() {//注册信鸽            @Override            public void onSuccess(Object data, int flag) {                Log.d("TPush", "注册成功,设备token为:" + data);            }            @Override            public void onFail(Object data, int errCode, String msg) {                Log.d("TPush", "注册失败,错误码:" + errCode + ",错误信息:" + msg);            }        });// 2.36(不包括)之前的版本需要调用以下2行代码        Intent service = new Intent(context, XGPushService.class);        context.startService(service);

@Overrideprotected void onNewIntent(Intent intent) {    super.onNewIntent(intent);    setIntent(intent);// 必须要调用这句}

0 0
原创粉丝点击