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. Измените "application" на "library" в build.gradle (модуль) и добавьте deleteOldJar, exportJar для AndroidPlugin.jar
  6. добавлять classes.jar библиотеки Unity to Android Studio и настройка модуля
  7. Удалите "android:icon ...", "android:theme ..." в AndroidManifest.xml
  8. Экспортируйте банку и добавьте AndroidPlugin.jar, AndroidManifest.xml на "Плагины /Android" в Unity

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

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

Google Firebase аналитический плагин для единства - Stackru
http://joxi.ru/Q2KeQD7C3zdYrj

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

2 ответа

Решение

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

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

Такой подход не будет осуществим.

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

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

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