Взаимодействие с Firebase

Модераторы: immortal, newz20

Ответить
indiana
Сообщения: 54
Зарегистрирован: Пн ноя 13, 2017 12:56 pm
Благодарил (а): 3 раза
Поблагодарили: 35 раз

Взаимодействие с Firebase

Сообщение indiana » Чт июл 16, 2020 10:47 am

Выложу здесь, возможно кому-то пригодится.

Собственно для чего нужно - отсылка нотификаций и данных в андроид приложения. Т.к. возникла необходимость получать алерты и не хотелось использовать сторонние приложения типа телеги и хотелось просто сделать красиво :)

- добавляем через композер либы в проект: php composer.phar require kreait/firebase-php ^4.35 -d .
- в файл config.php добавляем require ".vendor/autoload.php";
- ключик для взаимодйствия с Firebase кладём в удобное место, дальше в скрипте на него укажем путь, не забываем о правах
- шлём что-нибудь нашему приложению из Majordomo
use Kreait\Firebase;
use Kreait\Firebase\Messaging\CloudMessage;
use Kreait\Firebase\Messaging\Notification;

$messaging = (new Firebase\Factory())
->withServiceAccount('./appPrivateKey.json') // ключ приложения для взаимодействия с Firebase
->createMessaging();


$deviceToken = 'fI..хххххххххх...09'; // токен устройства

$title = 'My Notification Title';
$body = 'My Notification Body';

$notification = Notification::fromArray([
'title' => $title,
'body' => $body,
]);

$notification = Notification::create($title, $body);

$data = [
'data1' => 'Some data',
'data2' => 'Some data',
];

$message = CloudMessage::withTarget('token', $deviceToken)
->withNotification($notification) // добавляем нотификацию (optional)
->withData($data) // добавляем данные (optional)
;

$messaging->send($message);
Ответить