Android 友盟推送开发

推送厂商集成文档: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() {
            @Override
            public void onSuccess(String s) {
                Log.e("xsw", "推送id友盟token: "+s );
                UserHelper.get().saveUmengToken(s);

            }

            @Override
            public void onFailure(String s, String s1) {
                Log.e("xsw", s+"---"+s1 );

            }
        });

        UmengNotificationClickHandler umengNotificationClickHandler = new UmengNotificationClickHandler(){
            @Override
            public 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() {

            @Override
            public Notification getNotification(Context context, UMessage msg) {
                LgqLog.e(msg.text+"....推送id==== "+msg.builder_id);//推送内容和ID

                Message 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);
    }

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值