Comment implémenter la messagerie cloud firebase côté serveur?
Après la migration vers Firebase, j'ai testé l'envoi de la notification par l'aide de la firebase de la console, il fonctionne très bien, mais j'ai besoin d'un avis quotidien sur un moment précis de sorte qu'au lieu d'utiliser le firebase console-je utiliser mon ancien tâche cron pour envoyer une notification quotidienne. J'ai changé https://android.googleapis.com/gcm/send
à https://fcm.googleapis.com/fcm/send
mais mon appareil ne reçoit pas de notification.
Est-il un moyen pour résoudre ce problème? Ou ai-je raté quelque chose? ma tâche cron fonctionne bien pour mes appareils qui est encore à l'aide de la GCM.
Voici mon code
function sendNotificationFCM($apiKey, $registrationIDs, $messageText,$id) {
$headers = array(
'Content-Type:application/json',
'Authorization:key=' . $apiKey
);
$message = array(
'registration_ids' => $registrationIDs,
'data' => array(
"message" => $messageText,
"id" => $id,
),
);
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => 'https://fcm.googleapis.com/fcm/send',
CURLOPT_HTTPHEADER => $headers,
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => json_encode($message)
));
$response = curl_exec($ch);
curl_close($ch);
return $response;
}
source d'informationauteur natsumiyu
Vous devez vous connecter pour publier un commentaire.
J'ai ajouté
notification
objet dans mon json.J'ai découvert que dans mon
remoteMessage.getNotification().getBody()
, elle renvoie null c'est pourquoi il ne reçoit aucune notification à envoyer par mon cron.Modifier
Voici mon objet json
En dehors de changer l'url suivante:
Vous devez également changer la façon dont vous envoyer la demande de données:
Découvrez ce guide complet.
Je ne suis pas en mesure de commenter directement à la réponse choisie. Prenez en compte que le json message varie en fonction de ce que vous voulez/besoin de recevoir dans le destinataire de l'os (android/ios).
e.g pour android pour obtenir les notifications lorsque l'application est en arrière-plan, vous devez ajouter les données json dans votre demande.
Pour iOS la clé de données n'est pas nécessaire, mais vous devez avoir la notification clé avec isContentAvailble indicateur a la valeur true et une priorité haute.
Dans la réponse sélectionnée comme valide, vous utilisez registration_ids clé doit être utilisée uniquement lorsque vous êtes à l'envoi de la notification à plus d'un appareil, peut-être que vous devriez jeter un oeil aux thèmes des notifications.
essayez d'utiliser ceci 🙂
Client de Python pour la FCM