Notification push du serveur Python vers Android

Objet de l'article

Article précédent Je pense avoir créé un modèle pour les notifications push, donc cette fois j'enverrai les notifications de mon serveur au lieu de la console Firebase. Un article sur le fait d'essayer de le publier.

Le serveur utilise CentOS7 configuré sur AWS. Je pense que le langage que vous utilisez n'a pas d'importance, mais j'ai choisi Python 3.7 pour le moment. On suppose que Python et pip sont déjà installés.

1. Procédure d'envoi du message de notification

En plus des notifications, j'aimerais que le client fasse diverses choses en utilisant les informations qui y sont envoyées comme déclencheur, mais je vais d'abord omettre cette zone et viser simplement à envoyer des notifications.

1.1 Ajout du SDK Firebase Admin

Je pense qu'il est bon de comprendre que le SDK Firebase Admin est un outil qui sert d'interaction entre le serveur et Firebase. Étant donné que Python est sélectionné comme langue à utiliser cette fois, le SDK Firebase Admin Python sera installé. Exécutez ceci selon la procédure de ici. Si pip est inclus, exécutez simplement la commande suivante. Cette fois, la version 4.2.0 a été installée.

pip install firebase-admin

1.2 Approbation de la demande d'envoi

La référence est ici, mais en commentaire, il est indiqué que "l'approbation de la demande d'envoi est requise". Tout d'abord, vérifiez la procédure de ici.

Certains modèles sont décrits, mais cette fois, la demande est émise à partir du serveur configuré dans AWS, elle correspond donc au "Téléchargement du fichier JSON du compte de service à partir du projet Firebase". La procédure correspond à Fournir les informations d'identification manuellement sur la page ci-dessus.

Je ne pense pas qu'il y ait de colmatage particulier, téléchargez simplement le fichier et définissez les variables d'environnement. Étant donné que le SDK Admin est utilisé cette fois, il n'est pas nécessaire d'effectuer les étapes après «Créer un jeton d'accès à l'aide des informations d'authentification».

1.3 Transmission d'essai

Revenez à ici. La transmission d'essai a été réalisée en détournant l'échantillon pour la transmission. Le code est comme suit.

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 = 'Jeton d'appareil'

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)

L'exemple de script est fondamentalement le même, mais les éléments suivants sont principalement modifiés.

Les spécifications de firebase_admin.messaging sont résumées dans ici, veuillez donc les consulter comme il convient.

Lorsque j'ai exécuté ce script python, après un certain temps, la notification push illustrée à la figure 1 est arrivée en toute sécurité sur l'appareil Android.

notification2.png Figure 1: Notifications push émises par le serveur

Pour le moment, le processus de transfert du côté serveur self-made peut être mis en œuvre.

Recommended Posts

Notification push du serveur Python vers Android
Notification PUSH de Python vers Android à l'aide de l'API de Google
Changements de Python 3.0 à Python 3.5
Changements de Python 2 à Python 3.0
Envoyer un message de Slack à un serveur Python
Publier de Python vers Slack
Flirter de PHP à Python
Notification push à Intel Edison
Amener Android à exécuter le traitement déclenché par la notification push
Passer de python2.7 à python3.6 (centos7)
Connectez-vous à sqlite depuis python
Accès ODBC à SQL Server depuis Linux avec Python
[Lambda] [Python] Publier sur Twitter depuis Lambda!
Connectez-vous à la base de données utf8mb4 à partir de python
Python (de la première fois à l'exécution)
Publier une image de Python sur Tumblr
Comment accéder à wikipedia depuis python
Python pour passer d'une autre langue
N'a pas changé de Python 2 à 3
Mettre à jour Mac Python de 2 à 3
Association de terminal du côté serveur à Amazon SNS (python + boto3)
[Python] Simulation de fluide: de linéaire à non linéaire
De Python à l'utilisation de MeCab (et CaboCha)
Comment mettre à jour Google Sheets à partir de Python
Je veux utiliser jar de python
Connexion de python à MySQL sur CentOS 6.4
Portage et modification du solveur de doublets de python2 vers python3.
Comment accéder à RDS depuis Lambda (python)
Python> Numéros de sortie de 1 à 100, 501 à 600> Pour csv
Convertir de Markdown en HTML en Python
[Amazon Linux] Passage de la série Python 2 à la série Python 3
Explication API pour toucher mastodonte de python
Connectez-vous à l'API Websocket de Coincheck depuis Python
Essayez d'utiliser le framework web de Python Django (1) - De l'installation au démarrage du serveur
[python] Envoyez l'image capturée de la caméra Web au serveur et enregistrez-la
Modifier Excel à partir de Python pour créer un tableau croisé dynamique
Mis à jour vers Python 2.7.9
Comment ouvrir un navigateur Web à partir de python
Connexion ODBC à FileMaker 11 Server Advanced avec Python 3
Étude de Python Hour7: Comment utiliser les classes
[Python] Conversion de DICOM en PNG ou CSV
Importer un fichier Excel depuis Python (enregistré dans DB)
Je souhaite envoyer un e-mail depuis Gmail en utilisant Python.
Comment utiliser Python Kivy ④ ~ Exécution sur Android ~
[Python] Je veux gérer 7DaysToDie depuis Discord! 1/3
Du dessin de fichier au graphique en Python. Élémentaire élémentaire
[Python] Comment lire les données de CIFAR-10 et CIFAR-100
[python] Créer une table de pandas DataFrame vers postgres
[Bash] Obtenez la puissance de python de bash en utilisant la documentation ici
Comment générer un objet Python à partir de JSON
Somme de 1 à 10
sql à sql
Comment bien gérer les commandes Linux à partir de Python
POST des images depuis ESP32-CAM (MicroPython) vers le serveur
Exemple de notification Slack avec python lambda
[Python] Flux du scraping Web à l'analyse des données
MeCab de Python
Je veux utiliser le solveur ceres de python