推送厂商集成文档:https://developer.umeng.com/docs/67966/detail/98589?spm=a311a.9588098.0.0#h1-vivo-push-5
SDK下载:https://developer.umeng.com/sdk/android
集成步骤
1、导入依赖
implementation 'com.umeng.sdk:common:1.5.3'
implementation 'com.umeng.sdk:push:4.2.0'
// 添加友盟分享库 implementation 'cn.dlc.android:umeng-share:1.0.4'
2、在Application初始化
/*** 初始化友盟SDK*/private void initUmengSDK() {/*** 方法2,直接初始化,app key和channel为null的话,等价于方法1* 初始化common库* 参数1:上下文,不能为空* 参数2:友盟 app key* 参数3:友盟 channel* 参数4:设备类型,UMConfigure.DEVICE_TYPE_PHONE为手机、UMConfigure.DEVICE_TYPE_BOX为盒子,默认为手机* 参数5:Push推送业务的secret,需要集成Push功能时必须传入Push的secret,否则传空*/UMConfigure.init(this, Information.UmengAppkey, Information.UmengChannel,UMConfigure.DEVICE_TYPE_PHONE, Information.UmengPushSecret);PushAgent instance = PushAgent.getInstance(this);instance.register(new IUmengRegisterCallback() {@Overridepublic void onSuccess(String s) {Log.e("xsw", "推送id友盟token: "+s );UserHelper.get().saveUmengToken(s);}@Overridepublic void onFailure(String s, String s1) {Log.e("xsw", s+"---"+s1 );}});UmengNotificationClickHandler umengNotificationClickHandler = new UmengNotificationClickHandler(){@Overridepublic void launchApp(Context context, UMessage uMessage) {Intent mIntent = new Intent(sInstance, WelcomeActivity.class);//自定义通知栏点击事件mIntent.putExtra("notification",true);mIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK );startActivity(mIntent);}};instance.setNotificationClickHandler(umengNotificationClickHandler);UmengMessageHandler messageHandler = new UmengMessageHandler() {@Overridepublic Notification getNotification(Context context, UMessage msg) {LgqLog.e(msg.text+"....推送id==== "+msg.builder_id);//推送内容和IDMessage msgg = new Message();msgg.what = 1;Bundle bundle = new Bundle();bundle.putString("text1",msg.text); //往Bundle中存放数据msgg.setData(bundle);//mes利用Bundle传递数据 // mHandler.sendMessage(msgg);//用activity中的handler发送消息mHandler.sendMessageAtTime(msgg,2000);switch (msg.builder_id) {case 1://自定义通知栏Notification.Builder builder = new Notification.Builder(context);RemoteViews myNotificationView = new RemoteViews(context.getPackageName(),R.layout.notification_view);SimpleDateFormat df = new SimpleDateFormat("HH:mm");//设置日期格式"yyyy年-MM月dd日-HH时mm分ss秒"String dfd = df.format(new Date());myNotificationView.setTextViewText(R.id.notification_title, msg.title);myNotificationView.setTextViewText(R.id.notification_text, msg.text);myNotificationView.setTextViewText(R.id.timete, dfd); // myNotificationView.setImageViewBitmap(R.id.notification_large_icon, // getLargeIcon(context, msg)); // myNotificationView.setImageViewResource(R.id.notification_small_icon, // getSmallIconId(context, msg));builder.setContent(myNotificationView).setSmallIcon(getSmallIconId(context, msg)).setTicker(msg.ticker).setAutoCancel(true);return builder.getNotification();default://默认为0,若填写的builder_id并不存在,也使用默认。return super.getNotification(context, msg);}}};instance.setMessageHandler(messageHandler);instance.setDisplayNotificationNumber(0);}