Ich habe Sending push notifications to Android with Azure Notification Hubs tutorial verfolgt, um Push-Benachrichtigungen in meine Android-App mit dem Azure Notification Hub zu implementieren.Android - Azure Push Benachrichtigungen Google FCM
Bisher habe ich ein anderes Lernprogramm verwendet, um den Google Cloud Messaging-Dienst mit Azure Notification Hub zu verwenden. Allerdings konnte ich nur Push-Benachrichtigungen erhalten, wenn ich meine App von Android Studio an mein Gerät gesendet habe. Als ich eine signierte APK erstellte und diese auf meinem Gerät installierte, gab es keine Push-Benachrichtigungen.
Nachdem ich gestern den ganzen Tag versucht habe, es zur Arbeit zu bringen (ProGuard deaktivieren, verschiedene API-Schlüssel ausprobieren usw.), beschloss ich, heute Morgen frisch zu starten. Zu diesem Zeitpunkt wurde mir klar, dass Google die Nutzer jetzt zum Firebase Cloud Messaging leitet, wenn sie in der Cloud Console auf GCM klicken. Also ... Ich habe die Push-Benachrichtigungen mit dem obigen Tutorial und Google FCM in meine App implementiert.
Es funktioniert super .... aber noch einmal, wenn ich ein signiertes APK erstelle und dieses auf meinem Gerät installiere, anstatt die App von Android Studio an mein Gerät zu senden, erhalte ich keine Push-Benachrichtigungen. Azure zeigt, dass der Push erfolgreich gesendet wurde, aber nichts kommt durch.
In meinem Push-Handler habe ich ein Protokoll an die Konsole wie unten in der OnReceive-Methode angezeigt. Das wird gut, wenn ich die App von Android Studio aus starte, und der Push kommt wie es soll. Aber wenn ich signierte apk erstelle und davon laufe, wird die onReceive-Methode nicht aufgerufen und kein Push kommt durch.
@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); }
}
Jemand bitte helfen Sie mir. Was vermisse ich????? Liegt es daran, dass ich die APK direkt installiere? Muss es von Google Play heruntergeladen werden? Ansonsten sehe ich nicht, was es sein könnte.
UPDATE
Per Nikita G Vorschlag habe ich die instructions to send a test push from the command line using cURL gefolgt.
Die Antwort, die ich zurückbekomme, ist die folgende (die wie eine Erfolgsmeldung aussieht), aber ich bekomme kein Push auf meinem Gerät.
{"multicast_id":6722521883082447284,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:1473693614087201%06fb35f0f9fd7ecd"}]}
Meine cURL Anfrage sieht so aus, wie das Tutorial zeigt.
curl --header "Authorization: key=XXXXXXXXXXXX" --header "Content-Type: application/json" https://android.googleapis.com/gcm/send -d "{\"registration_ids\":[\"fs...Tw:APA...SzXha\"]}"
UPDATE
Ich habe gerade bemerkt, dass es nicht nur ist, wenn ich ein unterzeichnetes APK verwenden. In Android Studio erzeugen, wenn ich eine APK die Build-APK Option
und installieren Sie dann mit der App-debug.apk Datei auf myappfolder/app/build/Ausgabe/apk/befindet verwenden, die Push Notifications funktionieren immer noch nicht. Sie funktionieren nur, wenn ich über die Option "Ausführen" von Android Studio aus auf mein Gerät sende.
Könnten Sie gehen [Diagnose Richtlinien] (https://azure.microsoft.com/en-us/documentation/articles/notification-hubs-push-notification-fixer /) und wenn nichts hilft, den Beitrag mit dem, was noch passiert, zu aktualisieren? –
@NikitaG. - Danke für den Link, den ich unbedingt machen werde. Werde zurückgeben, was ich finde – Phil
welches Gerät verwenden Sie? –