信鸽推送

在官网下载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);

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值