Vorheriger Artikel Ich glaube, ich habe eine Vorlage für Push-Benachrichtigungen erstellt, daher werde ich diesmal die Benachrichtigungen von meinem Server anstelle der Firebase-Konsole senden. Ein Artikel über den Versuch, es zu löschen.
Der Server verwendet CentOS7, das in AWS eingerichtet wurde. Ich denke, es spielt keine Rolle, welche Sprache Sie verwenden, aber ich habe mich vorerst für Python 3.7 entschieden. Es wird davon ausgegangen, dass Python und pip bereits installiert sind.
Zusätzlich zu Benachrichtigungen möchte ich, dass der Kunde verschiedene Dinge unter Verwendung der dort gesendeten Informationen als Auslöser tut, aber zuerst werde ich diesen Bereich weglassen und versuchen, einfach Benachrichtigungen zu senden.
Ich denke, es ist gut zu verstehen, dass das Firebase Admin SDK ein Tool ist, das den Dialog zwischen dem Server und Firebase vermittelt. Da Python als diesmal zu verwendende Sprache ausgewählt ist, wird das Firebase Admin Python SDK installiert. Führen Sie dies gemäß der Prozedur von hier aus. Wenn pip enthalten ist, führen Sie einfach den folgenden Befehl aus. Dieses Mal wurde Version 4.2.0 installiert.
pip install firebase-admin
Die Referenz ist hier, aber als Kommentar wird angegeben, dass "die Genehmigung der Sendeanforderung erforderlich ist". Überprüfen Sie zunächst die Vorgehensweise von hier.
Einige Muster werden beschrieben, aber diesmal wird die Anforderung von dem in AWS eingerichteten Server ausgegeben, sodass sie dem Herunterladen der JSON-Datei des Dienstkontos aus dem Firebase-Projekt entspricht. Die Prozedur entspricht Anmeldeinformationen manuell bereitstellen auf der obigen Seite.
Ich glaube nicht, dass es eine bestimmte Verstopfung gibt. Laden Sie einfach die Datei herunter und legen Sie die Umgebungsvariablen fest. Da dieses Mal das Admin-SDK verwendet wird, müssen die Schritte nach "Erstellen eines Zugriffstokens mithilfe von Authentifizierungsinformationen" nicht ausgeführt werden.
Kehren Sie zu [hier] zurück (https://firebase.google.com/docs/cloud-messaging/send-message?hl=ja#python). Die Probeübertragung wurde durchgeführt, indem die Probe zur Übertragung umgeleitet wurde. Der Code lautet wie folgt.
import firebase_admin
from firebase_admin import messaging
default_app = firebase_admin.initialize_app()
# This registration token comes from the client FCM SDKs.
registration_token = 'Geräte-Token'
myNotification = messaging.Notification(title='Test', body='Hello, FCM from My Phthon Server!')
# See documentation on defining a message payload.
message = messaging.Message(
data={
'score': '850',
'time': '2:45',
},
token=registration_token,
notification=myNotification
)
# Send a message to the device corresponding to the provided
# registration token.
response = messaging.send(message)
# Response is a message ID string.
print('Successfully sent message:', response)
Das Beispielskript ist im Grunde das gleiche, aber die folgenden werden hauptsächlich geändert.
--Kopieren Sie den Initialisierungsprozess von hier, um die Fehlermeldung "SDK initialisieren" zu behandeln.
Daten
verwendet, aber ich habe sie vorerst verlassen, weil sie als harmlos erkannt werden.Die Spezifikationen von firebase_admin.messaging
sind in hier zusammengefasst.
Als ich dieses Python-Skript nach einer Weile ausführte, kam die in Abb. 1 gezeigte Push-Benachrichtigung sicher auf dem Android-Gerät an.
Abbildung 1: Vom Server ausgegebene Push-Benachrichtigungen
Derzeit kann der Prozess des Kickens von der selbst erstellten Serverseite implementiert werden.
Recommended Posts