- Регистрация
- 1 Мар 2015
- Сообщения
- 1,481
- Баллы
- 155
Ссылка на оригинальную статью
Чтобы Firebase включил ваше приложение, необходимо выполнить 3 шага:
После того как вы загрузили пакет 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, и они не полностью совместимы. Мы планируем решить эту проблему в следующих обновлениях.
Чтобы Firebase включил ваше приложение, необходимо выполнить 3 шага:
- Создание проекта Firebase и регистрация вашего проекта FireMonkey в консоли Google Firebase
- Создание или обновление существующего проекта FireMonkey в RAD Studio 10.3.1 с использованием встроенной поддержки уровня push-уведомлений
- Внесение изменений в проект FireMonkey для поддержки Firebase вместо Google Cloud Messaging
После того как вы загрузили пакет 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, и они не полностью совместимы. Мы планируем решить эту проблему в следующих обновлениях.