android {......defaultConfig {//控制台上注册的包名.注意application ID 和当前的应用包名以及控制台上注册应用的包名必须一致。applicationId "您的包名"......ndk {//根据需要 自行选择添加的对应cpu类型的.so库。abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a'// 还可以添加 'x86', 'x86_64', 'mips', 'mips64'}manifestPlaceholders = [XG_ACCESS_ID : "注册应用的accessid",XG_ACCESS_KEY : "注册应用的accesskey",]......}......}dependencies {......//添加以下依赖implementation 'com.tencent.tpns:tpns:[VERSION]-release'// TPNS 推送 [VERSION] 为最新 SDK 版本号,即为上述步骤2获取的版本号}
<application>// 其他安卓组件<meta-dataandroid:name="XG_SERVER_SUFFIX"android:value="其他服务接入点域名" /></application>
tpns.sh.tencent.com
tpns.sgp.tencent.com
tpns.hk.tencent.com
<receiver android:name="com.tencent.android.xg.cloud.demo.MessageReceiver"><intent-filter><!-- 接收消息透传 --><action android:name="com.tencent.android.xg.vip.action.PUSH_MESSAGE" /><!-- 监听注册、反注册、设置/删除标签、通知被点击等处理结果 --><action android:name="com.tencent.android.xg.vip.action.FEEDBACK" /></intent-filter></receiver>
<uses-library android:name="org.apache.http.legacy" android:required="false"/>
<!-- 【必须】 移动推送 TPNS SDK VIP版本所需权限 --><permissionandroid:name="应用包名.permission.XGPUSH_RECEIVE"android:protectionLevel="signature" /><uses-permission android:name="应用包名.permission.XGPUSH_RECEIVE" /><!-- 【必须】 移动推送 TPNS SDK 所需权限 --><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" /><uses-permission android:name="android.permission.POST_NOTIFICATIONS"/><!-- 【常用】 移动推送 TPNS SDK所需权限 --><uses-permission android:name="android.permission.WAKE_LOCK" /><uses-permission android:name="android.permission.VIBRATE" /><uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission android:name="android.permission.GET_TASKS" />
权限 | 是否必选 | 说明 |
android.permission.INTERNET | 必选 | 允许程序访问网络连接,可能产生 GPRS 流量 |
android.permission.ACCESS_WIFI_STATE | 必选 | 允许程序获取当前 Wi-Fi 接入的状态以及 WLAN 热点的信息 |
android.permission.ACCESS_NETWORK_STATE | 必选 | 允许程序获取网络信息状态 |
android.permission.WAKE_LOCK | 必选 | 允许程序在手机屏幕关闭后,后台进程仍然运行 |
android.permission.SCHEDULE_EXACT_ALARM | 必选 | 允许定时广播 |
android.permission.VIBRATE | 可选 | 允许应用震动 |
android.permission.RECEIVE_USER_PRESENT | 可选 | 允许应用可以接收点亮屏幕或解锁广播 |
android.permission.WRITE_EXTERNAL_STORAGE | 可选 | 允许程序写入外部存储 |
android.permission.RESTART_PACKAGES | 可选 | 允许程序结束任务 |
android.permission.GET_TASKS | 可选 | 允许程序获取任务信息 |
<application><activity android:name="com.tencent.android.tpush.TpnsActivity"android:theme="@android:style/Theme.Translucent.NoTitleBar"android:launchMode="singleInstance"android:exported="true"><intent-filter><action android:name="${applicationId}.OPEN_TPNS_ACTIVITY" /><category android:name="android.intent.category.DEFAULT" /></intent-filter><intent-filter><dataandroid:scheme="tpns"android:host="${applicationId}"/><action android:name="android.intent.action.VIEW" /><category android:name="android.intent.category.BROWSABLE" /><category android:name="android.intent.category.DEFAULT" /></intent-filter><intent-filter><action android:name="android.intent.action" /></intent-filter></activity><activityandroid:name="com.tencent.android.tpush.InnerTpnsActivity"android:exported="false"android:launchMode="singleInstance"android:theme="@android:style/Theme.Translucent.NoTitleBar"><intent-filter><action android:name="${applicationId}.OPEN_TPNS_ACTIVITY_V2" /><category android:name="android.intent.category.DEFAULT" /></intent-filter><intent-filter><dataandroid:host="${applicationId}"android:scheme="stpns" /><action android:name="android.intent.action.VIEW" /><category android:name="android.intent.category.BROWSABLE" /><category android:name="android.intent.category.DEFAULT" /></intent-filter><intent-filter><action android:name="android.intent.action" /></intent-filter></activity><!-- 【必须】 信鸽receiver广播接收 --><receiverandroid:name="com.tencent.android.tpush.XGPushReceiver"android:exported="false"android:process=":xg_vip_service"><intent-filter android:priority="0x7fffffff"><!-- 【必须】 信鸽SDK的内部广播 --><action android:name="com.tencent.android.xg.vip.action.SDK" /><action android:name="com.tencent.android.xg.vip.action.INTERNAL_PUSH_MESSAGE" /><action android:name="com.tencent.android.xg.vip.action.ACTION_SDK_KEEPALIVE" /></intent-filter></receiver><!-- 【必须】移动推送 TPNS service --><serviceandroid:name="com.tencent.android.tpush.service.XGVipPushService"android:exported="false"android:process=":xg_vip_service"></service><!-- 【必须】通知 service ,android:name 部分改为包名.XGVIP_PUSH_ACTION --><service android:name="com.tencent.android.tpush.rpc.XGRemoteService"android:exported="false"><intent-filter><!-- 【必须】请修改为当前APP名包.XGVIP_PUSH_ACTION --><action android:name="应用包名.XGVIP_PUSH_ACTION" /></intent-filter></service><!-- 【必须】【注意】authorities 修改为包名.XGVIP_PUSH_AUTH --><providerandroid:name="com.tencent.android.tpush.XGPushProvider"android:authorities="应用包名.XGVIP_PUSH_AUTH" /><!-- 【必须】【注意】authorities 修改为包名.TPUSH_PROVIDER --><providerandroid:name="com.tencent.android.tpush.SettingsContentProvider"android:authorities="应用包名.TPUSH_PROVIDER" /><!-- 【可选】用于增强保活能力 --><providerandroid:name="com.tencent.android.tpush.XGVipPushKAProvider"android:authorities="应用包名.AUTH_XGPUSH_KEEPALIVE"android:exported="true" /><!-- 【可选】APP实现的Receiver,用于接收消息透传和操作结果的回调,请根据需要添加 --><!-- YOUR_PACKAGE_PATH.CustomPushReceiver需要改为自己的Receiver: --><receiver android:name="应用包名.MessageReceiver"android:exported="false"><intent-filter><!-- 接收消息透传 --><action android:name="com.tencent.android.xg.vip.action.PUSH_MESSAGE" /><!-- 监听注册、反注册、设置/删除标签、通知被点击等处理结果 --><action android:name="com.tencent.android.xg.vip.action.FEEDBACK" /></intent-filter></receiver><!-- MQTT START --><service android:exported="false"android:process=":xg_vip_service"android:name="com.tencent.tpns.mqttchannel.services.MqttService" /><providerandroid:exported="false"android:name="com.tencent.tpns.baseapi.base.SettingsContentProvider"android:authorities="应用包名.XG_SETTINGS_PROVIDER" /><!-- MQTT END--><!-- 【必须】 请修改为 APP 的 AccessId,“15”开头的10位数字,中间没空格 --><meta-dataandroid:name="XG_V2_ACCESS_ID"android:value="APP的AccessId" /><!-- 【必须】 请修改为APP的AccessKey,“A”开头的12位字符串,中间没空格 --><meta-dataandroid:name="XG_V2_ACCESS_KEY"android:value="APP的AccessKey" /></application><!-- 【必须】 移动推送 TPNS SDK 5.0版本所需权限 --><permissionandroid:name="应用包名.permission.XGPUSH_RECEIVE"android:protectionLevel="signature" /><uses-permission android:name="应用包名.permission.XGPUSH_RECEIVE" /><!-- 【必须】 移动推送 TPNS SDK所需权限 --><uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.WAKE_LOCK" /><uses-permission android:name="android.permission.POST_NOTIFICATIONS"/><!-- 【常用】 移动推送 TPNS SDK所需权限 --><uses-permission android:name="android.permission.VIBRATE" /><uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" /><uses-permission android:name="android.permission.READ_PHONE_STATE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application>// 其他安卓组件<meta-dataandroid:name="XG_SERVER_SUFFIX"android:value="其他服务接入点域名" /></application>
tpns.sh.tencent.com
tpns.sgp.tencent.com
tpns.hk.tencent.com
XGPushManager.registerPush(this, new XGIOperateCallback() {@Overridepublic void onSuccess(Object data, int flag) {//token在设备卸载重装的时候有可能会变Log.d("TPush", "注册成功,设备token为:" + data);}@Overridepublic void onFail(Object data, int errCode, String msg) {Log.d("TPush", "注册失败,错误码:" + errCode + ",错误信息:" + msg);}});
TPNS register push success with token : 6ed8af8d7b18049d9fed116a9db9c71ab44d5565
new XGPushConfig.Build(context).setLogLevel(Log.ERROR);
-keep public class * extends android.app.Service-keep public class * extends android.content.BroadcastReceiver-keep class com.tencent.android.tpush.** {*;}-keep class com.tencent.tpns.baseapi.** {*;}-keep class com.tencent.tpns.mqttchannel.** {*;}-keep class com.tencent.tpns.dataacquisition.** {*;}-keep class com.tencent.bigdata.baseapi.** {*;} // 1.2.0.1 及以上版本不需要此条配置-keep class com.tencent.bigdata.mqttchannel.** {*;} // 1.2.0.1 及以上版本不需要此条配置
XGPushConfig.enablePullUpOtherApp(Context context, boolean pullUp);
xxx
为任意自定义名称;如果使用手动集成方式,请修改如下节点属性:<!-- 在自身应用的AndroidManifest.xml文件中添加如下结点,其中 xxx 为任意自定义名称: --><!-- 关闭与 TPNS 应用的联合保活功能,请配置 --><providerandroid:name="com.tencent.android.tpush.XGPushProvider"tools:replace="android:authorities"android:authorities="应用包名.xxx.XGVIP_PUSH_AUTH"android:exported="false" />
I/TPush: [ServiceUtil] disable pull up other app
。//获取 TokenXGPushConfig.getToken(getApplicationContext());
XGPushManager.uploadLogFile(context, new HttpRequestCallback() {@Overridepublic void onSuccess(String result) {Log.d("TPush", "上传成功,文件地址:" + result);}@Overridepublic void onFailure(int errCode, String errMsg) {Log.d("TPush", "上传失败,错误码:" + errCode + ",错误信息:" + errMsg);}});
我们使用 腾讯云移动推送 TPNS 用于实现产品信息的推送,在您授权我们“访问网络连接”和“访问网络状态”权限后,表示您同意腾讯 SDK 隐私协议。您可以通过关闭终端设备中的通知选项来拒绝接受此 SDK 推送服务。
https://www.tencentcloud.com/products/tpns
本页内容是否解决了您的问题?