Android-плагин Unity для FCM

Я пытаюсь добавить функцию push-уведомлений Google FCM в проект Unity. Я удивлен, что нет ресурсов о Google FCM для Unity. Есть только старые ресурсы Google GCM. Это мой пошаговый прогресс ниже.

  1. Создайте проект Android Studio и зарегистрируйте его в проекте консоли FCM.
  2. Добавьте google-service.json в '/app' и настройте build.gradle (проект и модуль)
  3. Добавьте классы Java MyFirebaseInstanceIDService, MyFirebaseMessagingService и onTokenRefresh, sendRegistrationToServer, onMessageReceived, sendNotification в соответствии с образцом примера в документе FCM
  4. Добавьте сервисы для классов в AndroidManifest.xml

    После этого я протестировал проект Android Studio на мобильных устройствах, и push-уведомления консоли FCM работают хорошо. Затем я начал настраивать проект Android Studio для Unity.

  5. Измените «приложение» на «библиотека» в build.gradle (модуль) и добавьте deleteOldJar, exportJar для AndroidPlugin.jar
  6. Добавить classes.jar Unity в библиотеку Android Studio и настройку модуля
  7. Удалите 'android:icon...', 'android:theme...' в AndroidManifest.xml
  8. Экспортируйте jar и добавьте AndroidPlugin.jar, AndroidManifest.xml в 'Plugins/Android' в Unity

    Затем я протестировал проект Unity на мобильных устройствах. Он собран без исключения, но push-уведомление консоли FCM не сработало. (Я сделал тестовый журнал, чтобы убедиться, что библиотека Android Studio хорошо подключена к Unity, журнал работал хорошо)

Возможно, есть что добавить в 'Плагины/Android', кроме AndroidManifest.xml и AndroidPlugin.jar, как ссылки ниже.

Плагин аналитики Google Firebase для Unity – StackOverflow
http://joxi.ru/Q2KeQD7C3zdYrj

Но, я не мог найти свой ответ. Пожалуйста, дайте мне знать, что я должен сделать или добавить. Извините за плохой английский и длинное объяснение. Большое спасибо :)




Ответы (2)


Я использовал Unity SDK в OneSignal.
Это очень простой, удобный и классный SDK для push-уведомлений.

Ссылка ниже.
https://onesignal.com/

person USUM    schedule 14.11.2016

Такой подход будет невозможен.

Файлы JAR не содержат ресурсов, поэтому файл json будет отсутствовать в сборке JAR. В качестве альтернативы, файлы aar, которые теоретически должны содержать ресурсы, интерпретируются Unity3D как чистый плагин и игнорируют ресурсы или, по крайней мере, некоторые из них, особенно при использовании gradle. Но Unity становится лучше.

Попробуйте https://firebase.google.com/docs/unity/setup. Это ново, и у меня уже есть пример проекта.

Просто добавлю: новый плагин Firebase для Unity3D работал просто великолепно. Случаи использования, такие как чисто системное уведомление о попытке, не требуют ни одной строки дополнительного программирования на стороне клиента. Сообщения данных также очень легко реализуются.

person hfcgII    schedule 28.11.2016
comment
Единственная проблема с плагином FCM unity заключается в том, что вы не будете получать сообщения с данными, когда приложение находится в фоновом режиме. - person Ashwin; 10.04.2019