Push-Benachrichtigung vom Python-Server an Android

Zweck des Artikels

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.

1. Verfahren zum Senden einer Benachrichtigung

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.

1.1 Hinzufügen des Firebase Admin SDK

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

1.2 Genehmigung der Sendeanforderung

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.

1.3 Probeübertragung

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.

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.

notification2.png Abbildung 1: Vom Server ausgegebene Push-Benachrichtigungen

Derzeit kann der Prozess des Kickens von der selbst erstellten Serverseite implementiert werden.

Recommended Posts

Push-Benachrichtigung vom Python-Server an Android
PUSH-Benachrichtigung von Python an Android mithilfe der Google-API
Änderungen von Python 3.0 zu Python 3.5
Änderungen von Python 2 zu Python 3.0
Senden Sie eine Nachricht von Slack an einen Python-Server
Post von Python nach Slack
Flirte von PHP nach Python
Push-Benachrichtigung an Intel Edison
Veranlassen Sie Android, die durch Push-Benachrichtigung ausgelöste Verarbeitung auszuführen
Wechseln Sie von Python2.7 zu Python3.6 (centos7)
Stellen Sie von Python aus eine Verbindung zu SQLite her
ODBC-Zugriff auf SQL Server von Linux mit Python
[Lambda] [Python] Von Lambda auf Twitter posten!
Stellen Sie von Python aus eine Verbindung zur utf8mb4-Datenbank her
Python (vom ersten Mal bis zur Ausführung)
Poste ein Bild von Python auf Tumblr
So greifen Sie über Python auf Wikipedia zu
Python, um von einer anderen Sprache zu wechseln
Hat sich nicht von Python 2 auf 3 geändert
Aktualisieren Sie Mac Python von 2 auf 3
Terminalzuordnung von der Serverseite zu Amazon SNS (Python + Boto3)
[Python] Fluidsimulation: Von linear zu nichtlinear
Von Python bis zur Verwendung von MeCab (und CaboCha)
So aktualisieren Sie Google Sheets von Python
Ich möchte ein Glas aus Python verwenden
Herstellen einer Verbindung von Python zu MySQL unter CentOS 6.4
Portieren und Ändern des Doublet-Solvers von Python2 auf Python3.
Zugriff auf RDS von Lambda (Python)
Python> Ausgaben von 1 bis 100, 501 bis 600> Für CSV
In Python von Markdown in HTML konvertieren
[Amazon Linux] Wechsel von der Python 2-Serie zur Python 3-Serie
API-Erklärung zum Berühren von Mastodon aus Python
Stellen Sie von Python aus eine Verbindung zur Websocket-API von coincheck her
Versuchen Sie es mit Pythons Webframework Django (1) - Von der Installation bis zum Serverstart
[Python] Senden Sie das von der Webkamera aufgenommene Bild an den Server und speichern Sie es
Bearbeiten Sie Excel in Python, um eine Pivot-Tabelle zu erstellen
Auf Python 2.7.9 aktualisiert
So öffnen Sie einen Webbrowser über Python
ODBC-Verbindung zu FileMaker 11 Server Advanced mit Python 3
Studie aus Python Hour7: Verwendung von Klassen
[Python] Konvertieren von DICOM in PNG oder CSV
Excel-Datei aus Python importieren (in DB registriert)
Ich möchte mit Python eine E-Mail von Google Mail senden.
Verwendung von Python Kivy ④ ~ Ausführung unter Android ~
[Python] Ich möchte 7DaysToDie von Discord aus verwalten! 1/3
Von der Datei zur Diagrammzeichnung in Python. Grundstufe Grundstufe
[Python] Lesen von Daten aus CIFAR-10 und CIFAR-100
[Python] Erstellen Sie eine Tabelle von Pandas DataFrame zu Postgres
[Bash] Holen Sie sich die Kraft von Python aus Bash mithilfe der folgenden Dokumentation
So generieren Sie ein Python-Objekt aus JSON
Summe von 1 bis 10
SQL zu SQL
Wie man gut mit Linux-Befehlen aus Python umgeht
POST-Images von ESP32-CAM (MicroPython) an den Server
Beispiel für eine Slack-Benachrichtigung mit Python Lambda
[Python] Fluss vom Web-Scraping zur Datenanalyse
MeCab von Python
Ich möchte Ceres Solver aus Python verwenden