記一次友盟push接入廠商通道遇到的幾個(gè)小問題點(diǎn)

最近在接入友盟push廠商通道,從華為開始接入,就開始踩坑,閑話不多說,直接說事兒!

華為接入問題:

接友盟的華為廠商可以看友盟官方文檔:https://developer.umeng.com/docs/67966/detail/98589

1.獲取不到token,卻提示:
2020-12-17 10:43:37.778 29115-29115/com.ume.browser I/NAccs.HuaWeiRegister:  connect result:6003

經(jīng)過詢問umeng客服,得到解釋:
image.png
解決辦法

說我這里面的指紋沒設(shè)置:SHA256,這個(gè)東西可以通過以下命令來獲?。?br> 我電腦是mac,所以找到我的apk的簽名文件,然后使用keytool命令來查詢

keytool -list -v -keystore /Users/gudongdong/Documents/AndroidWorkSpace/SUME_C_V7X/app/Browser2.keystore 

那么查看到
獲取SHA256.png

這里的sha256以后,則說明你可以去設(shè)置到華為AppGallery Connect里去了。
重新打包運(yùn)行,那么token獲取正常!

2.點(diǎn)擊push通知進(jìn)入到應(yīng)用后獲取body為亂碼

自定義一個(gè)類PushActivity.java并繼承于UmengNotifyClickActivity.java,PushActivity作為推送發(fā)送時(shí)打開的用于接收數(shù)據(jù)的界面,不過這個(gè)界面最好設(shè)置為透明!接收數(shù)據(jù)如下:但當(dāng)時(shí)body為亂碼,我剛開始還以為是加密數(shù)據(jù)需要通過算法來解密!但文檔翻了半天,也沒發(fā)現(xiàn)解密算法。

 @Override
    public void onMessage(Intent intent) {
        super.onMessage(intent);// 此方法必須調(diào)用,否則無法統(tǒng)計(jì)打開數(shù)
        String body = intent.getStringExtra(AgooConstants.MESSAGE_BODY);
      // 在此處的body就是為自定義參數(shù)傳遞過來的內(nèi)容,也就是此處body為亂碼,大概內(nèi)容是
     body : pE4i070ObrI0zQWufTCQV96pchZnXalcndK8KVrDQ9ZmdSqaDwwCtqWse72u8XfN45ALSZa3jZwt
 vxqmJVCb9tmWzYYcaa7kSsS3OrZfPAWJEgR9ajUIWTOKVd0TSBfc2ryng0gA0L4uxM6wDmCcKPVD
 9OswqWs2BzdxWn_FsXxo7cXJF2ac3kM2k3lYozwlbyrJ5Q3UYgWzScvNV0-cquqSG_JgCUwmURep
 Du14SR7X0jT6wS5CYCYghkQbVYQYiVegQ4pqX-kFKxwFN5lYCreO7IOfDA_8Pvm2RtJt6tyQYeZD
 zxcUpFNaHiJP1g4uj2PVpUyIl6X1KaEoIajfSbQSWG_a1VgfEBIDztutA2f8xineatMQqU5lhoJ_
 grqutdNeSTQOMDuUhcZfDcYv0CcttkYndG33qBoRibdWrWst4--ETJKCJBfzL9xvUrqhj9elvXMp
 RGRXN3-XlJ7tuOEGbx-XKeAD21P-LB9D9ydxiIHMJCzN2omeKO7cOZnbFY5OLpp3lBW3sr3Wcb4d
 M3O2kgKq_4h6ogoU4N8WlqPmqGq7mE8DTM1f9Hj8dPXOA8C7XOPvmiJJX0u0wMJKuKCj6EhKr0KM
 -yytzATRg-LAY0ZbqgZmTGXUw79pIQtuis3_n3PBU2U3daDUnfJ8RJm80FC2-k7526ech3rnjm4=

    }
解決辦法:

可查看:https://developer.umeng.com/docs/67966/detail/187200?spm=a311a.7996332.0.0.21a93080Mv5vXN
它是說如果你代碼使用了預(yù)初始化方法,那么就有可能出現(xiàn)亂碼。原文如下:

注意事項(xiàng):延遲初始化方案不是官方推薦,如果業(yè)務(wù)確有需要,請對主要功能進(jìn)行完備測試。
注意事項(xiàng):onAppStart()方法再授權(quán)后的頁面調(diào)用。
如果在設(shè)置延遲初始化方案時(shí),廠商通道獲取消息為亂碼,需要在Application的onCreate方法中,在所有友盟SDK初始化之前,添加如下代碼段。
**備注:以下代碼段不會觸發(fā)設(shè)備等信息采集

try {
    AccsClientConfig.Builder configBuilder = new AccsClientConfig.Builder();
    AccsClientConfig accsConfig = configBuilder.setAppKey("umeng:" + "你的appkey")
            .setAppSecret("你的secret")
            .setTag(AccsClientConfig.DEFAULT_CONFIGTAG)
            .build();
    ACCSClient.init("context上下文", accsConfig);
    TaobaoRegister.setAccsConfigTag("context上下文", AccsClientConfig.DEFAULT_CONFIGTAG);
UMConfigure .preInit("context上下文", "你的appkey", "你的channel")
} catch (Throwable e){
    e.printStackTrace();
}

至此...再遇到新問題再添加,好久沒記錄問題了,文章比較糙,希望海涵,能幫助到你當(dāng)然最好啦。
感謝瀏覽??!

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

相關(guān)閱讀更多精彩內(nèi)容

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