Какую часть интегрировать с FCM? Интерфейс или Бэкэнд - PullRequest
0 голосов
/ 09 октября 2019

Итак, давайте перейдем к прямому вопросу. Я сделал нативное приложение, в котором я использую REST API laravel в качестве бэкэнда, а в качестве внешнего интерфейса реагирую. Я выполнил все функции, кроме Push-уведомлений.

  • Теперь я не знаю, как работает fcm и какую часть мне нужно интегрировать? Если мне нужно интегрировать laravel или реагировать, и как мне это сделать?

Я надеюсь, что вы, ребята, получите мой вопрос, и, пожалуйста, простите меня, если мой вопрос глупый. Я новичок, поэтому я надеюсь, что вы понимаете. Заранее спасибо.

Ответы [ 3 ]

0 голосов
/ 09 октября 2019

Вы должны внедрить код, чтобы получать уведомления в своем интерфейсе (ReactJs или React native). Уведомление будет отправлено с сервера FCM, посмотрите документацию, чтобы узнать Как это работает ?

Или вы можете просто следовать этой средней статье: Реализация FCM вReact Native

Кроме того, если это веб-приложение, следуйте этой статье: Интеграция FCM в ReactJS

0 голосов
/ 09 октября 2019

Кажется, это мое последнее задание. Так что вам нужно использовать Laravel или серверный движок для отправки сообщения облака базы данных (fcm) и использовать реагирование для его получения.

Для внутреннего интерфейса на основе php (Laravel / lumen / что угодно) вы можете использовать это: https://firebase -php.readthedocs.io / en / latest / cloud-messaging.html

или, если вам нужно более простое, просто с помощью функции curl (). Это моя простая функция для fcm:

public function sendCloudMessageTopic($title, $message, $topics, $detail = null)
    {
        try {

            $serverApiKey = "YOUR APP FIREBASE KEY";
            $header       = [
                "Authorization: Key=" . $serverApiKey,
                "Content-Type: Application/json",
            ];

            $notification = [
                "title" => $title,
                "body" => $message,
            ];

            $data = [
                "notification" => $notification,
                "detail" => $detail,
            ];

            $payload = ["notification" => $notification, "data" => $data, "to" => $topics];
            $curl    = curl_init();

            curl_setopt_array($curl, array(
                CURLOPT_URL => "https://fcm.googleapis.com/fcm/send",
                CURLOPT_RETURNTRANSFER => true,
                CURLOPT_ENCODING => "",
                CURLOPT_MAXREDIRS => 10,
                CURLOPT_TIMEOUT => 30,
                CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
                CURLOPT_CUSTOMREQUEST => "POST",
                CURLOPT_POSTFIELDS => json_encode($payload),
                CURLOPT_HTTPHEADER => $header,
            ));

            $response = curl_exec($curl);
            $failed   = curl_error($curl);
            curl_close($curl);

            if ($failed == TRUE)
                throw new \Exception("CURL Action Failed to send firebase cloud message");

            $result = json_decode($response);

            if (!isset($result->message_id))
                throw new \Exception("Failed to send firebase cloud message");

            return [
                'status' => 1,
                'message' => "successfully sending firebase cloud message"
            ];

        } catch
        (\Exception $exception) {
            return [
                'status' => 0,
                'message' => "Failed to send firebase cloud message"
            ];
        }
    }

Я никогда не пробовал использовать ее для поиска по фронту, но вы можете взглянуть на эту статью:

https://codeburst.io/how-to-add-push-notifications-on-firebase-cloud-messaging-to-react-web-app-de7c6f04c920

Спасибо,

0 голосов
/ 09 октября 2019

Вы можете использовать FCM непосредственно в любом проекте laravel с помощью пакетов. Существует пакет в Laravel, чтобы упростить его. Взгляните на это.

Laravel-FCM-пакет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...