簡體   English   中英

Android-Azure推送通知Google FCM

[英]Android - Azure Push Notifications Google FCM

我已遵循使用Azure Notification Hubs將推播通知發送到Android教程 ,使用Azure Notification Hub將推播通知實施到Android應用程序中。

以前,我使用另一個教程通過帶有Azure Notification Hub的Google Cloud Messaging服務來執行此操作,但是,當我從Android Studio將應用程序發送到設備時,我只能獲得Push通知。 當我構建簽名的APK並將其安裝在設備上時,沒有推送通知通過。

昨天經過一整天的嘗試(禁用ProGuard,嘗試其他API密鑰等)后,我決定從今天早上開始。 從那時起,我意識到當用戶從Cloud Console中單擊GCM時,Google現在可以將用戶定向到Firebase Cloud Messaging。 所以...我已經使用上述教程和Google FCM在我的應用程序中實現了推送通知。

效果很好。...但是,當我創建一個簽名的APK並將其安裝在我的設備上,而不是將應用程序從Android Studio發送到我的設備時,我沒有收到推送通知。 Azure顯示推送已成功發送,但沒有成功。

在推送處理程序中,我有一個登錄到控制台的日志,如下面的onReceive方法所示。 當我從Android Studio運行該應用程序時,這種情況就很好了,並且推送應按原樣進行。 但是,當我創建簽名的apk並從中運行時,不會調用onReceive方法,也不會進行任何推送。

@Override
    public void onReceive(Context context, Bundle bundle) {

        Log.d("TAG","TRIGGERED");

        ctx = context;
        String nhMessage = bundle.getString("message");
        String nhTitle = bundle.containsKey("title") ? bundle.getString("title") : "Title";
        String nhBadge = bundle.containsKey("badge") ? bundle.getString("badge") : null ;
        sendNotification(nhMessage,nhTitle,nhBadge);
        if (Main.isVisible) { Main.mainActivity.ToastNotify(nhMessage); }
    }

有人請幫助我。 我想念什么????? 是因為我是直接安裝APK嗎? 是否必須從Google Play下載? 除此之外,我不知道這可能是什么。

更新

根據Nikita G的建議,我已按照說明使用cURL從命令行發送測試推送
我收到的響應如下(它看起來像一條成功消息),但是我在設備上未收到任何推送。

{"multicast_id":6722521883082447284,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:1473693614087201%06fb35f0f9fd7ecd"}]}

我的cURL請求看起來像這樣,就像本教程所示。

curl --header "Authorization: key=XXXXXXXXXXXX" --header "Content-Type: application/json" https://android.googleapis.com/gcm/send -d "{\"registration_ids\":[\"fs...Tw:APA...SzXha\"]}"

更新

我只是注意到這不僅是當我使用SIGNED APK時。 在Android Studio中,如果我使用Build APK選項生成APK

在此處輸入圖片說明

然后使用位於myappfolder / app / build / output / apk /的app-debug.apk文件進行安裝,則“推送通知”仍然不起作用。 只有當我使用“運行”選項從Android Studio發送到設備時,它們才起作用。

經過數天的努力,我的MyHandler類並未聲明為public,該類是負責處理通過的推送的類。

將課程更改為公開后,push現在可以在構建和簽名的apk上使用。

希望有人解釋為什么這只會在從apk文件安裝應用程序時引起問題,盡管那是我的絆腳石。

如果首先嘗試了解問題是在通知中心端還是在PNS(在這種情況下為FCM)端,則是解決此類問題的一種重要方法。

一種方法是首先通過ANH診斷指南 如果問題仍未解決,嘗試直接通過PNS推送消息以查看其是否有用可能會有所幫助。 (對於FCM,您可以從命令行發送測試推送 。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM