• Что бы вступить в ряды "Принятый кодер" Вам нужно:
    Написать 10 полезных сообщений или тем и Получить 10 симпатий.
    Для того кто не хочет терять время,может пожертвовать средства для поддержки сервеса, и вступить в ряды VIP на месяц, дополнительная информация в лс.

  • Пользаватели которые будут спамить, уходят в бан без предупреждения. Спам сообщения определяется администрацией и модератором.

  • Гость, Что бы Вы хотели увидеть на нашем Форуме? Изложить свои идеи и пожелания по улучшению форума Вы можете поделиться с нами здесь. ----> Перейдите сюда
  • Все пользователи не прошедшие проверку электронной почты будут заблокированы. Все вопросы с разблокировкой обращайтесь по адресу электронной почте : info@guardianelinks.com . Не пришло сообщение о проверке или о сбросе также сообщите нам.

Firebase Android Push Notification Support with RAD Studio 10.3.1

Lomanu4 Оффлайн

Lomanu4

Команда форума
Администратор
Регистрация
1 Мар 2015
Сообщения
1,481
Баллы
155
Ссылка на оригинальную статью

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.


Чтобы Firebase включил ваше приложение, необходимо выполнить 3 шага:

  1. Создание проекта Firebase и регистрация вашего проекта FireMonkey в консоли Google Firebase
  2. Создание или обновление существующего проекта FireMonkey в RAD Studio 10.3.1 с использованием встроенной поддержки уровня push-уведомлений
  3. Внесение изменений в проект FireMonkey для поддержки Firebase вместо Google Cloud Messaging
Создание проекта Firebase и регистрация вашего проекта FireMonkey в консоли Google Firebase
После того как вы загрузили пакет GetIt и распаковали файлы, выполните следующие действия.

1. Перейдите на страницу

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

и нажмите «+ Добавить проект», затем введите имя для своего проекта, например FirebaseApp.





2. Вам будет предложено просмотреть и принять условия Google, прежде чем нажать «Создать проект».



3. После того, как проект создан, нам нужно зарегистрировать наше приложение FMX для Android.

На левой навигационной панели перейдите к значку шестеренки и выберите «Настройки проекта».





4. Нажмите значок Android, чтобы перейти на страницу «Добавить Firebase в ваше приложение Android».



5. Имя пакета по умолчанию для приложения FireMonkey - com.embarcadero.packagename. В этом примере мы изменили его на com.embarcadero.FirebaseApp, но вы должны изменить его на com.yourcompany.packagename для своих собственных приложений.

Примечание. Для существующих приложений, которые доступны в магазине Google Play сегодня, вам нужно будет добавить сюда имя пакета этого проекта вместо назначения нового имени. Нажмите «Зарегистрировать приложение».





6. Загрузите файл конфигурации





Нажмите «Далее» и пропустите этот шаг на данный момент.

7. Преобразуйте файл настроек JSON, который мы только что загрузили, в файл формата ресурса строк Android. Откройте предоставленный файл strings.xml из пакета Firebase - FMX, загруженного через менеджер пакетов GetIt. Этот файл содержит все возможные настройки Firebase.

Хотя вы можете обновить все записи в шаблоне, необходимо заполнить только два параметра:

google_app_id и gcm_defaultSenderID.

Необходимые значения вы найдете в файле google-services.json, который вы скачали на шаге 6.



На этом этапе все неиспользуемые параметры должны быть удалены из XML-файла. Далее новый узел должен быть добавлен в этот файл:

<string name="fcm_fallback_notification_channel_label" translatable="false">Notification channel for Firebase</string>

Указывает заголовок для канала уведомлений по умолчанию. Сохраните этот файл strings.xml в папку проекта приложения FireMonkey, например, C: \ MyFireBaseApplication

Создание или обновление существующего проекта FireMonkey в RAD Studio 10.3.1 с использованием встроенной поддержки уровня push-уведомлений
8. Создайте новое приложение FireMonkey, запустив Delphi, C ++ Builder или RAD Studio 10.3.1 и выбрав « Файл»> «Создать»> «Многофункциональное приложение» .

Если у вас есть существующий проект FireMonkey, который вы хотите обновить, откройте его на этом этапе.

9. Измените имя проекта FMX, чтобы оно совпадало с именем проекта, зарегистрированным в консоли Firebase , т.е. FirebaseApp.



Сохраните файлы проекта в том же каталоге, что и обновленный файл strings.xml, начиная с шага 7 , то есть C: \ MyFireBaseApplication. Вам нужно проверить, что значение `package` в информации о версии параметров проекта соответствует имени пакета, зарегистрированному в конфигурации Firebase.

10. Добавьте в форму элемент управления TMemo для отображения журналов событий Firebase. Переименуйте элемент управления MemoLog. Далее нам нужно инициализировать службу push-уведомлений Firebase и соединение с помощью события OnCreate .



Смотрите файл Snippets.txt, включенный в пакет GetIt . Файл Snippets.txt содержит код для создания службы push-уведомлений и подключения, а также для обработчиков событий, описанных ниже. Вы можете Ĉ OpY код для создания службы уведомления толчок и соединение с сниппет в ваш FireMonkey проект.



Примечание. Оператор использования для push-уведомлений Android должен быть в IFDEF, если вы хотите скомпилировать то же приложение для других платформ.

Этот экземпляр службы используется для регистрации устройства в Firebase и получения уникального токена устройства, который используется в качестве службы устройства получателя push-сообщения. Чтобы этот код компилировался, вам нужно добавить два поля в ваш класс формы:

FDeviceId: string; FDeviceToken: string;

Как вы можете видеть из включенного фрагмента , мы назначили два обработчика: 1) для получения push и 2) для получения изменений, в частности, получение токена устройства.

Вы можете скопировать код из предоставленного фрагмента в свой проект после добавления двух методов-обработчиков событий в класс главной формы вашего проекта:

procedure OnServiceConnectionChange(Sender: TObject; PushChanges: TPushService.TChanges);
procedure OnReceiveNotificationEvent(Sender: TObject; const ServiceNotification: TPushServiceNotification);





Мы распечатаем токен в журнале устройства для тестирования.

Внесение изменений в проект FireMonkey для поддержки Firebase вместо Google Cloud Messaging
11. В диспетчере проектов справа разверните Android> Библиотеки и отключите все библиотеки Google Play и Cloud Messaging, вручную щелкнув правой кнопкой мыши по каждой из них.



12. Затем щелкните правой кнопкой мыши на « Библиотеки», чтобы добавить новые библиотеки Firebase и обновленные библиотеки Google Play Services. Их можно найти в архиве Firebase - FMX, который вы загрузили из диспетчера пакетов GetIt (Firebase - FMX> Файлы поддержки> jar и Firebase - FMX> Файлы поддержки> jars> Сервисы Google Play). Обратите внимание, что вам нужно добавить все файлы JAR в эти две папки.

13. Затем добавьте в ваш проект обновленный FMX.PushNotification.Android.pas с поддержкой Firebase и файлом AndroidAPI.JNI.Firebase.pas. Эти файлы можно найти в архиве Firebase - FMX, который вы загрузили из диспетчера пакетов GetIt (Firebase - FMX> Вспомогательные файлы). Чтобы добавить оба файла в ваш проект, щелкните правой кнопкой мыши FirebaseApp в Диспетчере проектов и выберите «Добавить».

Сохраните проект.

14. Перейдите в Project> Deployment Manager и добавьте файл strings.xml из папки проекта приложения FireMonkey, то есть C: \ MyFireBaseApplication (см. Шаг 7).

Обновите удаленный путь до res \ values \ для файла strings.xml и сохраните изменения.



15. Последний шаг включает в себя изменения в файле шаблона манифеста Android ( AndroidManifest.template.xm) . Вы можете найти файл манифеста Android в папке проекта приложения FireMonkey, т.е. C: \ MyFireBaseApplication.

Откройте файл xml и файл Snippets.txt, предоставленные в пакете GetIt. Вы можете скопировать и вставить код фрагмента в файл манифеста, после раздела

<%activity%>

<%receivers%>

и раньше

</application>

</manifest>

Когда закончите, нажмите Сохранить .



16. Разверните приложение FMX на устройстве Android. Теперь вы должны увидеть токен устройства в журнале и то, что приложение было автоматически зарегистрировано в FireBase.





Чтобы отправить push-сообщение на устройство, нам нужно будет скопировать токен Firebase. Вы можете скопировать его из заметки или, в качестве альтернативы, взять из adb logcat. Смотрите вызов метода Log.d во фрагменте кода.

17. Перейдите на console.firebase.google.com в браузере и выберите проект, который вы ранее создали. Затем выберите Grow> Cloud Messaging> Отправить первое сообщение из бокового меню.

18. Составьте свое уведомление, введя заголовок и сообщение, затем нажмите « Отправить тестовое сообщение» . Затем введите токен устройства, который вы ранее скопировали, и нажмите « Тест» . Это подтолкнет сообщение к нашему тестовому устройству.







Как вы можете видеть на скриншоте выше, журнал показывает, что сообщение было успешно получено. Сообщения также появляются в центре уведомлений Android.





PS. Существует предостережение, касающееся применения этого патча: компонент TMapView перестанет работать, поскольку процесс обновляет банки Google Play, и они не полностью совместимы. Мы планируем решить эту проблему в следующих обновлениях.
 
Вверх Снизу