Saltar al contenido

¿Cómo puedo enviar una notificación de Firebase Cloud Messaging sin usar Firebase Console?

Solución:

Firebase Cloud Messaging tiene API del lado del servidor a las que puedes llamar para enviar mensajes. Consulte https://firebase.google.com/docs/cloud-messaging/server.

Enviar un mensaje puede ser tan simple como usar curl para llamar a un punto final HTTP. Ver https://firebase.google.com/docs/cloud-messaging/server#implementing-http-connection-server-protocol

curl -X POST --header "Authorization: key=<API_ACCESS_KEY>" 
    --Header "Content-Type: application/json" 
    https://fcm.googleapis.com/fcm/send 
    -d "{"to":"<YOUR_DEVICE_ID_TOKEN>","notification":{"title":"Hello","body":"Yellow"}}"

Esto funciona usando CURL

function sendGCM($message, $id) {


    $url="https://fcm.googleapis.com/fcm/send";

    $fields = array (
            'registration_ids' => array (
                    $id
            ),
            'data' => array (
                    "message" => $message
            )
    );
    $fields = json_encode ( $fields );

    $headers = array (
            'Authorization: key=' . "YOUR_KEY_HERE",
            'Content-Type: application/json'
    );

    $ch = curl_init ();
    curl_setopt ( $ch, CURLOPT_URL, $url );
    curl_setopt ( $ch, CURLOPT_POST, true );
    curl_setopt ( $ch, CURLOPT_HTTPHEADER, $headers );
    curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );
    curl_setopt ( $ch, CURLOPT_POSTFIELDS, $fields );

    $result = curl_exec ( $ch );
    echo $result;
    curl_close ( $ch );
}

?>

$message es su mensaje para enviar al dispositivo

$id es el token de registro de dispositivos

YOUR_KEY_HERE es su clave de API de servidor (o clave de API de servidor heredado)

Utilice una API de servicio.

URL: https://fcm.googleapis.com/fcm/send

Tipo de método: POST

Encabezados:

Content-Type: application/json
Authorization: key=your api key

Cuerpo / Carga útil:

{ "notification": {
    "title": "Your Title",
    "text": "Your Text",
     "click_action": "OPEN_ACTIVITY_1" // should match to your intent filter
  },
    "data": {
    "keyname": "any value " //you can get this data as extras in your activity and this data is optional
    },
  "to" : "to_id(firebase refreshedToken)"
} 

Y con esto en su aplicación, puede agregar el siguiente código en su actividad para ser llamado:

<intent-filter>
    <action android:name="OPEN_ACTIVITY_1" />
    <category android:name="android.intent.category.DEFAULT" />
</intent-filter>

También verifique la respuesta en Firebase onMessageReceived no llamado cuando la aplicación está en segundo plano

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *