maatify/google-fcm

Unofficial Firebase Admin SDK for PHP its PHP library for maatify.dev FCM handler, known by our team

1.1.1 2023-07-26 23:52 UTC

This package is auto-updated.

Last update: 2024-04-27 11:02:14 UTC


README

Current version Packagist PHP Version Support Monthly Downloads Total Downloads Stars

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:

  • valid contains all tokens that are valid and registered to the current Firebase project
  • unknown contains all tokens that are valid, but not registered to the current Firebase project
  • invalid contains 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

  • $registrationTokenOrTokens can be string if one token or array if many tokens
    $registrationTokenOrTokens = __device_token__;
    // or
    $registrationTokenOrTokens = [__device_token1__, __device_token2__];
  • $topic is device token in string
    $topic = 'topic-a';
  • $topics is 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.