Как получить регистрационный ключ или токен fcm используя brozot laravel - PullRequest
0 голосов
/ 31 января 2020

Я создал сайт уведомлений в режиме реального времени и приложение android. Итак, мне нужен пакет, который я упоминаю. Документация от отправки нисходящего сообщения на устройство

 $token = "a_registration_from_your_database";

и от отправки нисходящего сообщения на несколько устройств

// You must change it to get your tokens
$tokens = MYDATABASE::pluck('fcm_token')->toArray();

Как я могу это получить? Или это просто генерируется случайно?

1 Ответ

1 голос
/ 31 января 2020

Нет, вы не можете генерировать это случайно. Во время входа в систему firebase предоставляет вам device_token. Вы можете сохранить его в базе данных. А во время выхода из системы вы можете сделать поле NULL. Потому что каждый раз firebase генерирует уникальный токен для каждого устройства. И FCM работает в соответствии с этим токеном, т.е. отправляет уведомление этому уникальному устройству. Вам нужно только передать этот device_token в пакет.

Я могу показать пример для Laravel.

$recipients = DB::table($table_name)
                ->select('device_token', 'device_type')
                ->where('id', $request->id)
                ->get();

$r[] = $recipients[0]->device_token;

Если несколько, то просто объединить все в один массив.

А для Fcm просто передать массив получателей а затем показать, что ответ пользователю:

$sent = fcm()
    ->to($r)
    ->priority('high')
    ->data([
        'title' => $notification_title,
        'body' => $notification_body,
    ])
    ->send();
$notification_response = $sent['success'];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...