Надеюсь, это поможет.

работал свое приложение с DevExtreme, мультиплатформенным инструментом на основе PhoneGap.

Теперь я пытаюсь использовать push-уведомления для phonegap-plugin-push.

Моя первая, простая цель - отправлять и получать уведомления от FCM (Firebase Cloud Messaging).

Я предпочитаю начинать с Android, поэтому я установил свое приложение для Android на FCM. Здесь я взял идентификатор отправителя.

Следуя документации, я изменил config.xml, как показано ниже:

<widget id="com.devexpress.apptemplate" version="1.0" versionCode="1">
  <name>ApplicationTemplate</name>
  <description>Template</description>
  <preference name="phonegap-version" value="cli-6.4.0" />
  <preference name="permissions" value="none" />
  <preference name="prerendered-icon" value="true" />
  <preference name="android-windowSoftInputMode" value="adjustPan" />
  <preference name="SplashScreen" value="splash" />
  <preference name="SplashScreenDelay" value="60000" />
  <preference name="AutoHideSplashScreen" value="false" />
  <preference name="SplashShowOnlyFirstTime" value="false" />
  <preference name="FadeSplashScreen" value="false" />
  <preference name="ShowSplashScreenSpinner" value="false" />
  <preference name="DisallowOverscroll" value="true" />
  <preference name="StatusBarOverlaysWebView" value="false" />
  <preference name="StatusBarBackgroundColor" value="#000000" />
  <preference name="android-minSdkVersion" value="15" />
  <preference name="android-targetSdkVersion" value="22" />
  <!--<plugin name="cordova-plugin-file" />-->
  <plugin name="cordova-plugin-geolocation" />
  <plugin name="cordova-plugin-splashscreen" onload="true" />
  <plugin name="cordova-plugin-whitelist" />
  <plugin name="cordova-plugin-ios-longpress-fix" />
  <plugin name="cordova-plugin-statusbar" onload="true" />
  <plugin spec="https://github.com/phonegap/phonegap-plugin-push.git" source="git" >
    <param name="SENDER_ID" value="123456" />
  </plugin>
  <access origin="*" />
</widget>

Затем в файле index.js в событии deviceReady:

  var push = PushNotification.init({
      android: {
          senderID: "123456"
      },
      browser: {
          pushServiceURL: 'https://fcm.googleapis.com/fcm/send' 
      },
      ios: {
          alert: "true",
          badge: "true",
          sound: "true"
      },
      windows: {}
  });

  push.on('registration', function (data) {
      // data.registrationId
      DevExpress.ui.notify("Device registered", "success", 3000);
  });

  push.on('notification', function (data) {
      // data.message,
      // data.title,
      // data.count,
      // data.sound,
      // data.image,
      // data.additionalData
      DevExpress.ui.notify(data.message, "info", 10000);
  });

  push.on('error', function (e) {
      // e.message
      DevExpress.ui.notify(e.message, "error", 10000);
  });

И тут начинается боль.

Прежде всего, я не знаю, является ли pushServiceURL правильным. Этот URL-адрес использовать, если я хочу отправлять уведомления от FCM?

Затем я правильно создал шаблон приложения и собрал apk. Но, конечно же, когда я устанавливаю его на своем Android-устройстве и пытаюсь отправить уведомления из FCM,Я ничего не вижу в приложении.

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

Так что здесь ничего не работает! Так как, ИМХО, не хватает документации, можете ли вы мне помочь?

ОБНОВИТЬ: Следуя документации по push-плагину phonegap, я заметил, что должен включить google-service.json. Итак, я написал в моем config.xml:

  <platform name="android">
    <resource-file src="google-services.json" target="google-services.json" />
  </platform>

И я изменил код в index.js:

  var push = PushNotification.init({
      android: {},
      ios: {
          alert: "true",
          badge: "true",
          sound: "true"
      },
      windows: {}
  });

Поскольку идентификатор отправителя теперь находится в google-services.json. Далее я удалил senderID также в config.xml:

<plugin spec="https://github.com/phonegap/phonegap-plugin-push.git" source="git" />

Я также включил этот файл в свой проект в index.html (https://github.com/phonegap/phonegap-plugin-push/blob/master/src/js/push.js) но я не знаю, правильно ли это.

Ответы на вопрос(1)

Ваш ответ на вопрос