Je commence avec le nouveau service Google pour les notifications, Firebase Cloud Messaging
.
Grâce à ce code https://github.com/firebase/quickstart-android/tree/master/messaging j'ai pu envoyer des notifications de ma console utilisateur Firebase à mon appareil Android.
Existe-t-il une API ou un moyen d'envoyer une notification sans utiliser la console Firebase? Je veux dire, par exemple, une API PHP ou quelque chose comme ça, pour créer des notifications directement depuis mon propre serveur.
Réponses:
Firebase Cloud Messaging dispose d'une API côté serveur que vous pouvez appeler pour envoyer des messages. Voir https://firebase.google.com/docs/cloud-messaging/server .
L'envoi d'un message peut être aussi simple que d'utiliser
curl
pour appeler un point de terminaison HTTP. Voir https://firebase.google.com/docs/cloud-messaging/server#implementing-http-connection-server-protocolla source
Cela fonctionne en utilisant CURL
$message
est votre message à envoyer à l'appareil$id
est le jeton d'enregistrement des appareilsYOUR_KEY_HERE
est votre clé API serveur (ou clé API serveur héritée)la source
{"multicast_id":3694931298664346108,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"MessageTooBig"}]}
. Qu'est-ce qui peut être fait pour régler ceci?Utilisez une API de service.
URL:
https://fcm.googleapis.com/fcm/send
Type de méthode:
POST
En-têtes:
Corps / Charge utile:
Et avec cela dans votre application, vous pouvez ajouter le code ci-dessous dans votre activité pour être appelé:
Vérifiez également la réponse sur Firebase onMessageReceived non appelé lorsque l'application en arrière-plan
la source
"to" : "to_id(firebase refreshedToken)"
place de l'ID de l'appareil?"all"
ne fonctionne pas du tout. J'utilise C #WebRequest
pour envoyer une notification. @AshikurRahman votre suggestion est également la bienvenue. Je me bats et cherche depuis 3-4 jours.Envoyer des messages à des appareils spécifiques
Pour envoyer des messages à des appareils spécifiques, définissez le sur le jeton d'enregistrement pour l'instance d'application spécifique
Envoyer des messages aux sujets
ici le sujet est: / topics / foo-bar
Envoyer des messages aux groupes d'appareils
L'envoi de messages à un groupe d'appareils est très similaire à l'envoi de messages à un appareil individuel. Définissez le paramètre to sur la clé de notification unique pour le groupe de périphériques
URL de l'API:
https://fcm.googleapis.com/fcm/send
En-têtes
Méthode de demande:
POST
Organe de demande
Messages vers des appareils spécifiques
Messages aux sujets
Messages aux groupes d'appareils
la source
Comme mentionné par Frank, vous pouvez utiliser l'API HTTP Firebase Cloud Messaging (FCM) pour déclencher une notification push à partir de votre propre back-end. Mais vous ne pourrez pas
Signification: vous devrez stocker vous-même les identifiants d'enregistrement FCM / GCM (jetons push) ou utiliser les rubriques FCM pour abonner les utilisateurs. Gardez également à l'esprit que FCM n'est pas une API pour les notifications Firebase , c'est une API de niveau inférieur sans planification ni analyse à taux ouvert. Les notifications Firebase sont basées sur FCM.
la source
Vous devez d'abord obtenir un jeton d'Android, puis vous pouvez appeler ce code php et vous pouvez même envoyer des données pour d'autres actions dans votre application.
la source
Vous pouvez utiliser par exemple un script PHP pour Google Cloud Messaging (GCM). Firebase et sa console sont juste au-dessus de GCM.
J'ai trouvé celui-ci sur github: https://gist.github.com/prime31/5675017
Astuce: ce script PHP entraîne une notification Android .
Par conséquent: lisez cette réponse de Koot si vous souhaitez recevoir et afficher la notification dans Android.
la source
Une notification ou un message de données peut être envoyé au serveur de messagerie cloud de base Firebase à l'aide du point de terminaison FCM HTTP v1 API. https://fcm.googleapis.com/v1/projects/zoftino-stores/messages:send .
Vous devez générer et télécharger la clé privée du compte de service à l'aide de la console Firebase et générer la clé d'accès à l'aide de la bibliothèque cliente Google api. Utilisez n'importe quelle bibliothèque http pour publier un message au point final ci-dessus, le code ci-dessous montre la publication du message à l'aide d'OkHTTP. Vous pouvez trouver le code côté serveur et côté client complet dans la messagerie cloud Firebase et l'envoi de messages à plusieurs clients à l'aide de l'exemple de rubrique fcm
Si un message client spécifique doit être envoyé, vous devez obtenir la clé d'enregistrement Firebase du client, voir l' envoi de messages spécifiques client ou périphérique au serveur FCM, exemple
la source
cette solution à partir de ce lien m'a beaucoup aidé. vous pouvez le vérifier.
Le fichier curl.php avec ces instructions peut fonctionner.
Rappelles toi
you need to execute curl.php file using another browser ie not from the browser that is used to get the user token. You can see notification only if you are browsing another website.
la source
la source
Si vous souhaitez envoyer des notifications push depuis Android, consultez mon blog
Envoyez des notifications push d'un téléphone Android à un autre sans serveur.
envoyer une notification push n'est rien d'autre qu'une demande de publication à https://fcm.googleapis.com/fcm/send
extrait de code utilisant volley:
Je vous suggère à tous de consulter mon article de blog pour plus de détails.
la source
En utilisant Firebase Console, vous pouvez envoyer un message à tous les utilisateurs en fonction du package d'application, mais avec CURL ou PHP API, ce n'est pas possible.
Via l'API Vous pouvez envoyer une notification à un ID d'appareil spécifique ou à des utilisateurs abonnés à un sujet sélectionné ou à des utilisateurs de sujets abonnés.
la source
Ou vous pouvez utiliser les fonctions cloud de Firebase, qui est pour moi le moyen le plus simple de mettre en œuvre vos notifications push. base de feu / fonctions-échantillons
la source
Si vous utilisez PHP, je vous recommande d'utiliser le SDK PHP pour Firebase: Firebase Admin SDK . Pour une configuration facile, vous pouvez suivre ces étapes:
Obtenez le fichier json des informations d'identification du projet à partir de Firebase ( initialisez le sdk ) et incluez-le dans votre projet.
Installez le SDK dans votre projet. J'utilise le compositeur:
Essayez n'importe quel exemple de la session Cloud Messaging dans la documentation du SDK:
la source