Estou começando com o novo serviço do Google para as notificações Firebase Cloud Messaging
.
Graças a este código https://github.com/firebase/quickstart-android/tree/master/messaging , consegui enviar notificações do meu Firebase User Console para o meu dispositivo Android.
Existe alguma API ou maneira de enviar uma notificação sem usar o console do Firebase? Quero dizer, por exemplo, uma API PHP ou algo parecido, criar notificações diretamente do meu próprio servidor.
Respostas:
O Firebase Cloud Messaging possui APIs do lado do servidor que você pode chamar para enviar mensagens. Consulte https://firebase.google.com/docs/cloud-messaging/server .
O envio de uma mensagem pode ser tão simples quanto usar
curl
para chamar um ponto de extremidade HTTP. Consulte https://firebase.google.com/docs/cloud-messaging/server#implementing-http-connection-server-protocolfonte
Isso funciona usando CURL
$message
é a sua mensagem para enviar para o dispositivo$id
é o token de registro de dispositivosYOUR_KEY_HERE
é sua chave da API do servidor (ou chave da API do servidor herdado)fonte
{"multicast_id":3694931298664346108,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"MessageTooBig"}]}
. O que pode ser feito para corrigir isso?Use uma API de serviço.
URL:
https://fcm.googleapis.com/fcm/send
Tipo de método:
POST
Cabeçalhos:
Corpo / Carga útil:
E com isso no seu aplicativo, você pode adicionar o código abaixo na sua atividade a ser chamado:
Verifique também a resposta no Firebase onMessageReceived não chamado quando o aplicativo em segundo plano
fonte
"to" : "to_id(firebase refreshedToken)"
vez da identificação do dispositivo?"all"
não está funcionando. Estou usando c #WebRequest
para enviar notificação. @AshikurRahman sua sugestão também é bem-vinda. Estou lutando e pesquisando desde 3-4 dias.Envie mensagens para dispositivos específicos
Para enviar mensagens para dispositivos específicos, defina o token de registro para a instância específica do aplicativo
Enviar mensagens para tópicos
aqui o tópico é: / topics / foo-bar
Enviar mensagens para grupos de dispositivos
O envio de mensagens para um grupo de dispositivos é muito semelhante ao envio de mensagens para um dispositivo individual. Defina o parâmetro to como a chave de notificação exclusiva para o grupo de dispositivos
URL da API:
https://fcm.googleapis.com/fcm/send
Cabeçalhos
Método de solicitação:
POST
Organismo de solicitação
Mensagens para dispositivos específicos
Mensagens para tópicos
Mensagens para grupos de dispositivos
fonte
Conforme mencionado por Frank, você pode usar a API HTTP do Firebase Cloud Messaging (FCM) para acionar a notificação por push do seu próprio back-end. Mas você não será capaz de
Significado: você precisará armazenar os IDs de registro do FCM / GCM (tokens de envio) ou usar os tópicos do FCM para inscrever usuários. Lembre-se de que o FCM não é uma API para notificações do Firebase , é uma API de nível inferior sem agendamento ou análise de taxa aberta. As Notificações do Firebase são construídas no topo do FCM.
fonte
Primeiro, você precisa obter um token do Android e, em seguida, você pode chamar esse código php e até enviar dados para outras ações em seu aplicativo.
fonte
Você pode usar, por exemplo, um script PHP para o Google Cloud Messaging (GCM). O Firebase e seu console estão no topo do GCM.
Encontrei este no github: https://gist.github.com/prime31/5675017
Dica: este script PHP resulta em uma notificação do Android .
Portanto: Leia esta resposta da Koot se desejar receber e mostrar a notificação no Android.
fonte
Uma notificação ou mensagem de dados pode ser enviada ao servidor de mensagens na nuvem base do firebase usando o terminal da API FCM HTTP v1. https://fcm.googleapis.com/v1/projects/zoftino-stores/messages:send .
Você precisa gerar e fazer o download da conta de chave privada de serviço usando o console do Firebase e gerar a chave de acesso usando a biblioteca do cliente API do Google. Use qualquer biblioteca http para postar a mensagem no ponto final acima; o código abaixo mostra a postagem da mensagem usando o OkHTTP. Você pode encontrar o código completo do lado do servidor e do cliente em mensagens nuvem do firebase e no envio de mensagens para vários clientes usando o exemplo de tópico fcm
Se uma mensagem específica do cliente precisar ser enviada, você precisará obter a chave de registro do firebase, consulte o exemplo de envio de mensagens específicas do cliente ou do dispositivo ao servidor FCM
fonte
essa solução desse link me ajudou muito. você pode conferir.
O arquivo curl.php com essas linhas de instrução pode funcionar.
Lembrar
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.
fonte
Se você deseja enviar notificações push do Android, confira minha postagem no blog
Envie notificações push de um telefone Android para outro sem servidor.
enviar notificação por push não passa de uma solicitação de postagem para https://fcm.googleapis.com/fcm/send
snippet de código usando vôlei:
Sugiro a todos que consultem minha postagem no blog para obter detalhes completos.
fonte
Usando o Firebase Console, você pode enviar mensagens para todos os usuários com base no pacote de aplicativos, mas não é possível com a API CURL ou PHP.
Por meio da API Você pode enviar uma notificação para um ID de dispositivo específico ou usuários inscritos para o tópico selecionado ou usuários do tópico inscrito.
fonte
Ou você pode usar as funções de nuvem do Firebase, que é para mim a maneira mais fácil de implementar suas notificações por push. firebase / funções-amostras
fonte
Se você estiver usando PHP, recomendo usar o SDK do PHP para Firebase: Firebase Admin SDK . Para uma configuração fácil, você pode seguir estas etapas:
Obtenha o arquivo json das credenciais do projeto no Firebase ( Inicialize o sdk ) e inclua-o no seu projeto.
Instale o SDK no seu projeto. Eu uso o compositor:
Tente qualquer exemplo da sessão do Cloud Messaging na documentação do SDK:
fonte