Skip to content

Php integration of Firebase API (FCM Http v1, RealTime database)

Notifications You must be signed in to change notification settings

pety-dc/firebase-php

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Firebase php

Php implementation of Firebase API.

Why

This package is built to be simple, scalable and configurable to allow easy integration in other packages or frameworks (ex: laravel-firebase ).

This package uses google/auth to generate OAuth2.0 tokens from the service account and guzzlehttp/guzzle as http library.

Install

Install it with composer via

composer require plokko/firebase-php

Usage

All the calls on the API are made using a Firebase OAuth2.0 token, this token is generated using your ServiceAccount informations.

Service Account

To use the API you need to authenticate the requests with your service account: this is done by the ServiceAccount class that uses your Firebase ServiceAccount json credential file. You can download your service account json file from the Firebase console in settings > service accounts, keep in mind to store this file in a secure non-public location.

use Plokko\Firebase\ServiceAccount;

//Use one of those methods:
$sa = new ServiceAccount('/path/to/your/serviceaccount/file.json');
$sa = new ServiceAccount('{"type":"service_account",..............}');
$sa = new ServiceAccount(['type'=>'service_account',/*...*/]);

Accepted methods for the constructor are:

  • string: ServiceAccount file content (json string)
  • string: path to the serviceAccount json file
  • array: php-translated array of the service account content

You can also add a token cache handler via the setCacheHandler method that accepts an implementation of CacheItemPoolInterface to allow custom cache integrations.

see google/auth MemoryCacheItemPool for an example implementation:

$handler = new Google\Auth\Cache\MemoryCacheItemPool\MemoryCacheItemPool();
$sa->setCacheHandler($handler);

FCM

This package implements FCM Http v1 Api

see FCM docs

Real time database

This package includes the Firebase Real time database API integration

see Real time database docs

About

Php integration of Firebase API (FCM Http v1, RealTime database)

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%