美文网首页三方推送
android 2020 集成小米,华为,激光,魅族

android 2020 集成小米,华为,激光,魅族

作者: 一个冬季 | 来源:发表于2020-01-09 10:45 被阅读0次
    参考文章

    https://github.com/YoloHuang/PushLibrary

    需求描述

    最近要做推送相关的东西,主要是看了友盟的,它虽然可以集成厂商的通道,但是有推送的限制,在看完文档后,还有一个给我的感觉就是,当我把手机里面所有的APP都干死后,就不可能收到推送了。公司的业务需求就是干死APP也要收到推送,所以就只能自己集成厂商通道来操作,就发现上面黏贴的一个gitHub地址,他写的还是很好的但是作者久久没更新,我就自己又模仿着他鲁了一份gitHub

    业务代码大概介绍图
    基本介绍.jpg
    使用方法
          //这里初始化各种平台的对象
            PushTargetManager.getInstance().init(this.getApplication());
            //拿到对应的对象
            BasePushTargetInit basePushTargetInit = PushTargetManager.getInstance().getmPushTarget();
            String aligis="abcd";
            if (basePushTargetInit!=null && !TextUtils.isEmpty(aligis)){
                if (basePushTargetInit instanceof JPushInit){
                    JPushInit jPushInit = (JPushInit) basePushTargetInit;
                    jPushInit.deleteAlias(0);
                }else if (basePushTargetInit instanceof HuaWeiInit){
                    HuaWeiInit huaWeiInit = (HuaWeiInit) basePushTargetInit;
                    huaWeiInit.deleteToken();
                }else if (basePushTargetInit instanceof XiaomiInit){
                    XiaomiInit xiaomiInit = (XiaomiInit) basePushTargetInit;
                    xiaomiInit.deleteAlias(aligis);
                }else if (basePushTargetInit instanceof MeiZuInit){
                    MeiZuInit meiZuInit = (MeiZuInit) basePushTargetInit;
                    meiZuInit.deleteAlias(aligis);
                }
            }
    
            //注册广播监听
            if (pushBroadcastReceiver==null){
                pushBroadcastReceiver = new PushBroadcastReceiver();
            }
            IntentFilter intentFilter = new IntentFilter();
            intentFilter.addAction(PUSH_RECEIVE_INIT_RESULT);//初始化成功回调
            intentFilter.addAction(PUSH_RECEIVE_MESSAGE);//得到透传消息
            intentFilter.addAction(PUSH_RECEIVE_NOTIFICATION);//收到后台推送
            intentFilter.addAction(PUSH_RECEIVE_NOTIFICATION_CLICK);//用户点击推送
            intentFilter.addAction(PUSH_RECEIVE_OTHER_OPTIONS);//其它事情操作
            intentFilter.addAction(PUSH_RECEIVE_ALIAS);//其它事情操作
            LocalBroadcastManager.getInstance(this).registerReceiver(pushBroadcastReceiver,intentFilter);
    
    其它想说的

    1、透传跟通知是2回事,透传不会给你类似通知的那样显示出来
    2、做华为推送的时候 agconnect-services.json 这个文件,每个包名不同,需要自行到华为上下载

    相关文章

      网友评论

        本文标题:android 2020 集成小米,华为,激光,魅族

        本文链接:https://www.haomeiwen.com/subject/fofyactx.html