maatify / google-fcm
Unofficial Firebase Admin SDK for PHP its PHP library for maatify.dev FCM handler, known by our team
Installs: 80
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/maatify/google-fcm
Requires
- ext-curl: *
- kreait/firebase-php: ^6.9
- maatify/logger: ^5
README
About
Note:
This Library is smiller to kreait/firebase-php
View kreait/firebase-php Docs
View kreait/firebase-php on GitHub
Installation
composer require maatify/google-fcm
Usage
Project Instance
use Maatify\FCM\FcmHandler; require __DIR__ . '/vendor/autoload.php'; $message = new FcmHandler(__credentials_json_file_location__);
Note: $message will use in whole project handler
Message Preparing and Send
Notification Setter For FCM
// Optional $message->SetNotification('My Custom Title', 'My Custom Body', __image_url__ = '');
Data Setter For FCM
// Optional $message->SetDate([ 'key1'=>'value1', 'key2'=>'value2', ]);
Send FCM To Device Token
try { // $message->sender cannot callable before setting at least one of optional setter $result = $message->sender->ToDeviceToken(__device_token__); } catch (MessagingException|FirebaseException $e) { $result = (array) $e; } print_r($result);
Send FCM To Multiple Devices Token
// $message->sender cannot callable before setting at least one of optional setter $result = $message->sender->ToMultipleDevicesToken([__device_token1__, __device_token2__]); print_r($result);
Send FCM To Topic
try { // $message->sender cannot callable before setting at least one of optional setter $result = $message->sender->ToTopic(__topic__); } catch (MessagingException|FirebaseException $e) { $result = (array) $e; } print_r($result);
Topic Validate
If you have a set of registration tokens that you want to check for validity or if they are still registered to your project, you can use the validateTokens() method:
Topic Validation
try { $tokens = [__device_token__]; // to validate one token only $result = $message->TopicValidation()->ValidateRegistrationTokens($tokens); } catch (MessagingException|FirebaseException $e) { $result = (array) $e; } print_r($result);
Topics Validation
try { $tokens = [__device_token1__, __device_token2__]; // to validate many tokens $result = $message->TopicValidation()->ValidateRegistrationTokens($tokens); } catch (MessagingException|FirebaseException $e) { $result = (array) $e; } print_r($result);
Note:
validcontains all tokens that are valid and registered to the current Firebase projectunknowncontains all tokens that are valid, but not registered to the current Firebase projectinvalidcontains all invalid (=malformed) tokens
Topic Management
You can subscribe one or multiple devices to one or multiple messaging topics with the following methods:
Topic Instance
$topic_manager = $message->TopicManagement();
Note: for all Topic Management
$registrationTokenOrTokenscan be string if one token or array if many tokens$registrationTokenOrTokens = __device_token__; // or $registrationTokenOrTokens = [__device_token1__, __device_token2__];$topicis device token in string$topic = 'topic-a';$topicsis devices tokens in array$topics = ['topic-a', 'topic-b'];
Subscribe To Topic
$result = $topic_manager->SubscribeToTopic($topic, $registrationTokenOrTokens); print_r($result);
Subscribe To Topics
$result = $topic_manager->SubscribeToTopics($topics, registrationTokenOrTokens); print_r($result);
Unsubscribe From Topic
$result = $topic_manager->UnsubscribeFromTopic($topic, $registrationTokenOrTokens); print_r($result);
Unsubscribe From Topics
$result = $topic_manager->SubscribeToTopics($topics, registrationTokenOrTokens); print_r($result);
Unsubscribe From All Topics
$result = $topic_manager->UnsubscribeFromAllTopics(registrationTokenOrTokens); print_r($result);
The result will return an array win which the keys are the topic names, and the values are the operation results for the individual tokens.
Note:
You can subscribe up to 1,000 devices in a single request. If you provide an array with over 1,000 registration tokens, the operation will fail with an error.