Как использовать плагин конденсатора-firebase/обмена сообщениями без фреймворка?

Я перенес свой проект Кордовы на конденсатор 6.0.0 (без фреймворка). Мое приложение использует jQuery Mobile, а код поддерживается в Android Studio. Мне удалось заставить работать все плагины, кроме cordova-plugin-fcm, который несовместим с конденсатором. Вместо этого я хочу использовать @capacitor-firebase/messaging, но не могу найти никакой документации/демо о том, как включить его в свой проект на Javascript.

Единственная документация, которую я нашел, касается конденсатора с каким-то типом каркаса.

Интеграция Angular - Firebase Analytics
Интеграция Angular - Firebase Analytics
Узнайте, как настроить Firebase Analytics и отслеживать поведение пользователей в вашем приложении Angular.
0
0
227
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вам просто нужно импортировать его, как описано в документации:

import { FirebaseMessaging } from '@capacitor-firebase/messaging';

Вот пример использования плагина Capacitor без каких-либо фреймворков.

Это то, что я пробовал раньше, но получил ошибку в операторе импорта: «Сообщение: Uncaught SyntaxError: невозможно использовать оператор импорта вне модуля»

user2763405 25.04.2024 17:03
Ответ принят как подходящий

Мне удалось это решить.

  1. Убедитесь, что установлен плагин @capacitor-firebase/messaging.

  2. Включите этот код в файл конденсатора.config.json внутри «плагинов».

     "FirebaseMessaging": {
             "presentationOptions": [
                 "badge",
                 "sound",
                 "alert"
             ]
         }
    
  3. Включите этот код в свой файл JavaScript.

     const FirebaseMessaging = Capacitor.Plugins.FirebaseMessaging;
    
     //Check permissions set by the user               
     FirebaseMessaging.checkPermissions().then(
             function(value)
             {   //If checkPermissions value is prompt, then this is the first time and we need to requestPermission
                 if (value.receive == "prompt")
                 {       //Request permission from user
                         FirebaseMessaging.requestPermissions().then(
                             function(value)
                             {   //If permission is granted then get the device token and set the listener
                                 if (value.receive == "granted")
                                 {
                                      FirebaseMessaging.getToken().then(
                                         function(value)
                                         {
                                              console.info(JSON.stringify(value));
                                              FirebaseMessaging.addListener("messageReceived", (message) => console.info(message));
                                         },
                                         function(error)
                                         {
                                             console.info(JSON.stringify(error));
                                         }
                                      );
                                 }
                             },
                             function(error)
                             {
                                console.info(JSON.stringify(error));
                             }
                         );
                 }
                 else if (value.receive == "granted")     //If checkPermissions value is granted, then user already made a selection and we need to get the token and set the listener
                 {
                     //Get the token and add listener
                     FirebaseMessaging.getToken().then(
                         function(value)
                         {
                             console.info(JSON.stringify(value));
                             FirebaseMessaging.addListener("messageReceived", (message) => console.info(message));
                         },
                         function(error)
                         {
                              console.info(JSON.stringify(error));
                         }
                     );
                 }
             },
             function(error)
             {
                 console.info(JSON.stringify(error));
             }
         );
    
  4. Чтобы протестировать уведомление приложения, сначала вам нужно получить токен вашего эмулятора или физического устройства. Для этого запустите приложение, в консоли вы увидите токен. Затем убедитесь, что приложение работает в фоновом режиме (т. е. не отображается на экране). Затем войдите в консоль Firebase, выберите «Отправить сообщение на тестовое устройство», введите токен и отправьте сообщение.

Другие вопросы по теме