1.在APP下的build中进行添加
并在build中进行依赖
//信鸽jar implementation 'com.tencent.xinge:xinge:3.2.6-release' //jg包 implementation'com.tencent.jg:jg:1.1' //wup包 implementation 'com.tencent.wup:wup:1.0.0.E-release' //mid包 implementation 'com.tencent.mid:mid:4.0.6-release'
2.在清单文件中添加
<receiver android:name="你自己创建的receiver" android:exported="true"> <intent-filter> <!-- 接收消息透传 --> <action android:name="com.tencent.android.tpush.action.PUSH_MESSAGE" /> <!-- 监听注册、反注册、设置/删除标签、通知被点击等处理结果 --> <action android:name="com.tencent.android.tpush.action.FEEDBACK" /> </intent-filter> </receiver>
3.创建receiver
记住继承的是XGPushBaseReceiver
public class Receiver extends XGPushBaseReceiver { @Override public void onRegisterResult(Context context, int i, XGPushRegisterResult xgPushRegisterResult) { } @Override public void onUnregisterResult(Context context, int i) { } @Override public void onSetTagResult(Context context, int i, String s) { } @Override public void onDeleteTagResult(Context context, int i, String s) { } @Override public void onTextMessage(Context context, XGPushTextMessage xgPushTextMessage) { } @Override public void onNotifactionClickedResult(Context context, XGPushClickedResult xgPushClickedResult) { } @Override public void onNotifactionShowedResult(Context context, XGPushShowedResult xgPushShowedResult) { } }
4.创建APP继承application
public class App extends Application { @Override public void onCreate() { super.onCreate(); XGPushConfig.enableDebug(this, true); XGPushManager.registerPush(this, new XGIOperateCallback() { @Override public void onSuccess(Object data, int flag) { //token在设备卸载重装的时候有可能会变 Log.d("TPush", "注册成功,设备token为:" + data); } @Override public void onFail(Object data, int errCode, String msg) { Log.d("TPush", "注册失败,错误码:" + errCode + ",错误信息:" + msg); } }); } }
5.在腾讯移动推送页面中实现推送
完成推送
附加实现手动推送
可以用点击事件事项手动推送
private void show() { NotificationManager mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this); mBuilder.setContentTitle("用户更新了")//设置通知栏标题 .setContentText("新版本来了!!!!") .setContentIntent(getDefalutIntent(Notification.FLAG_AUTO_CANCEL, this)) //设置通知栏点击意图 .setTicker("新版本来了!!!!") //通知首次出现在通知栏,带上升动画效果的 .setWhen(System.currentTimeMillis())//通知产生的时间,会在通知信息里显示,一般是系统获取到的时间 .setPriority(Notification.PRIORITY_DEFAULT) //设置该通知优先级 .setAutoCancel(true)//设置这个标志当用户单击面板就可以让通知将自动取消 .setOngoing(false)//ture,设置他为一个正在进行的通知。他们通常是用来表示一个后台任务,用户积极参与(如播放音乐)或以某种方式正在等待,因此占用设备(如一个文件下载,同步操作,主动网络连接) .setDefaults(Notification.DEFAULT_VIBRATE)//向通知添加声音、闪灯和振动效果的最简单、最一致的方式是使用当前的用户默认设置,使用defaults属性,可以组合 .setSound(Uri.withAppendedPath( MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "5")) .setSmallIcon(R.mipmap.ic_launcher);//设置通知小ICON mNotificationManager.notify(3, mBuilder.build()); } private PendingIntent getDefalutIntent(int flagAutoCancel, MainActivity mainActivity) { // return null; }