android 2020 集成小米,華為,激光,魅族

參考文章

https://github.com/YoloHuang/PushLibrary

需求描述

最近要做推送相關(guān)的東西,主要是看了友盟的,它雖然可以集成廠商的通道,但是有推送的限制,在看完文檔后,還有一個(gè)給我的感覺(jué)就是,當(dāng)我把手機(jī)里面所有的APP都干死后,就不可能收到推送了。公司的業(yè)務(wù)需求就是干死APP也要收到推送,所以就只能自己集成廠商通道來(lái)操作,就發(fā)現(xiàn)上面黏貼的一個(gè)gitHub地址,他寫的還是很好的但是作者久久沒(méi)更新,我就自己又模仿著他魯了一份gitHub

業(yè)務(wù)代碼大概介紹圖
基本介紹.jpg
使用方法
      //這里初始化各種平臺(tái)的對(duì)象
        PushTargetManager.getInstance().init(this.getApplication());
        //拿到對(duì)應(yīng)的對(duì)象
        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);
            }
        }

        //注冊(cè)廣播監(jiān)聽(tīng)
        if (pushBroadcastReceiver==null){
            pushBroadcastReceiver = new PushBroadcastReceiver();
        }
        IntentFilter intentFilter = new IntentFilter();
        intentFilter.addAction(PUSH_RECEIVE_INIT_RESULT);//初始化成功回調(diào)
        intentFilter.addAction(PUSH_RECEIVE_MESSAGE);//得到透?jìng)飨?        intentFilter.addAction(PUSH_RECEIVE_NOTIFICATION);//收到后臺(tái)推送
        intentFilter.addAction(PUSH_RECEIVE_NOTIFICATION_CLICK);//用戶點(diǎn)擊推送
        intentFilter.addAction(PUSH_RECEIVE_OTHER_OPTIONS);//其它事情操作
        intentFilter.addAction(PUSH_RECEIVE_ALIAS);//其它事情操作
        LocalBroadcastManager.getInstance(this).registerReceiver(pushBroadcastReceiver,intentFilter);
其它想說(shuō)的

1、透?jìng)鞲ㄖ?回事,透?jìng)鞑粫?huì)給你類似通知的那樣顯示出來(lái)
2、做華為推送的時(shí)候 agconnect-services.json 這個(gè)文件,每個(gè)包名不同,需要自行到華為上下載

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容