-
-
Save nyufeng/189431163010c43b7382acd77ebb858c to your computer and use it in GitHub Desktop.
Google API PHP Client - Firebase Cloud Messaging Service v1 example
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* This serves as an example of how to use the Google API PHP Client | |
* with Firebase Cloud Messaging Service. | |
* | |
* The client can be found here: | |
* https://github.com/google/google-api-php-client | |
* | |
* At the time of writing this, there's no Service object for the correct | |
* scope for Firebase Messaging, so here's an example of how this can be | |
* done with provididing the scope manually. | |
* | |
* Info regarding authorization and requests can be found here: | |
* https://firebase.google.com/docs/cloud-messaging/server | |
*/ | |
require 'vendor/autoload.php'; | |
$client = new Google_Client(); | |
// Authentication with the GOOGLE_APPLICATION_CREDENTIALS environment variable | |
$client->useApplicationDefaultCredentials(); | |
// Alternatively, provide the JSON authentication file directly. | |
$client->setAuthConfig(__DIR__.'/auth.json'); | |
// Add the scope as a string (multiple scopes can be provided as an array) | |
$client->addScope('https://www.googleapis.com/auth/firebase.messaging'); | |
// Returns an instance of GuzzleHttp\Client that authenticates with the Google API. | |
$httpClient = $client->authorize(); | |
// Your Firebase project ID | |
$project = "myproject-4e6ed"; | |
// Creates a notification for subscribers to the debug topic | |
$message = [ | |
"message" => [ | |
"topic" => "debug", | |
"notification" => [ | |
"body" => "This is an FCM notification message!", | |
"title" => "FCM Message", | |
] | |
] | |
]; | |
// Send the Push Notification - use $response to inspect success or errors | |
$response = $httpClient->post("https://fcm.googleapis.com/v1/projects/{$project}/messages:send", ['json' => $message]); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment