Как начать работу с Firebase In-App Messaging

В этом руководстве рассказывается, как настроить Firebase In-App Messaging и отправить первое сообщение.


Подготовка

Прежде чем начать, добавьте Firebase в проект Apple.

Добавьте SDK Firebase In-App Messaging в проект

Для установки зависимостей Firebase и управления ими используйте Swift Package Manager.

  1. Откройте проект приложения в Xcode и перейдите в меню File (Файл) > Add Packages (Добавить пакеты).
  2. Когда появится запрос, добавьте хранилище Firebase SDK для платформ Apple:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. Выберите библиотеку In-App Messaging.
  5. Добавьте флаг -ObjC в раздел Other Linker Flags (Другие флаги компоновщика) в настройках сборки целевого объекта.
  6. Чтобы использовать In-App Messaging, необходимо включить Google Analytics в проекте Firebase и добавить в приложение Firebase SDK для Google Аналитики. Вы можете выбрать подходящую библиотеку в зависимости от того, нужно ли собирать IDFA. Ознакомьтесь с разделом часто задаваемых вопросов о последней организации модулей в Google Analytics для Firebase SDK.
  7. После этого Xcode автоматически начнет распознавать и скачивать зависимости в фоновом режиме.

Теперь инициализируйте SDK в приложении:

  1. Импортируйте модуль Firebase в структуру App или UIApplicationDelegate, если вы ещё этого не сделали:
    Swift
    import Firebase
    Objective-C
    @import Firebase;
  2. Также настройте общий экземпляр FirebaseApp (обычно в инициализаторе App или методе application(_:didFinishLaunchingWithOptions:) делегата приложения), если вы ещё этого не сделали:
    Swift
    FirebaseApp.configure()
    Objective-C
    [FIRApp configure];
  3. Скомпилируйте и запустите приложение.

Отправьте тестовое сообщение

Как получить идентификатор установки приложения

Для экономии энергии Firebase In-App Messaging получает сообщения с сервера только раз в день. Это может затруднить тестирование, поэтому в консоли Firebase можно указать тестовое устройство, на котором сообщения будут показываться по запросу.

Тестовое устройство определяется по идентификатору установки Firebase, который предоставляется сервисом установок Firebase. Чтобы найти идентификатор установки тестового приложения, запустите его с аргументом командной строки -FIRDebugEnabled:

  1. Откройте проект Xcode и в строке меню сверху выберите Product (Продукт) > Scheme (Схема) > Edit scheme (Изменить схему).
  2. В появившемся диалоговом окне откройте вкладку Arguments (Аргументы).
  3. В разделе Arguments Passed On Launch (Аргументы, передаваемые при запуске) нажмите + Add items (Добавить элементы).
  4. В новом поле введите "-FIRDebugEnabled".
  5. Нажмите Close (Закрыть) и запустите приложение.

После запуска приложения найдите в журналах консоли Xcode следующую строку:

[Firebase/InAppMessaging][I-IAM180017] Starting InAppMessaging runtime with Firebase Installation ID YOUR_INSTALLATION_ID

Отправьте сообщение на тестовое устройство

Запустите приложение на тестовом устройстве и найдите его Firebaseидентификатор установки (FID). Затем отправьте тестовое сообщение, чтобы проверить Firebase In-App Messagingнастройки.

  1. В консоли Firebase выберите DevOps & Engagement (DevOps и взаимодействие) > Messaging (Обмен сообщениями).

  2. Запустите рабочий процесс, чтобы настроить новую кампанию:

    • Если это ваша первая кампания:

      1. Нажмите Создать первую кампанию.
      2. Выберите Firebase In-App Messaging и нажмите Создать.
    • Если у вас уже есть кампании:

      1. На вкладке Кампании нажмите Новая кампания.
      2. Выберите In-App Messaging.
  3. Введите название первого сообщения.

  4. Нажмите Протестировать на устройстве.

  5. В поле Добавить идентификатор установки введите идентификатор установки Firebase Firebase вашего приложения.

  6. Нажмите Проверить, чтобы отправить сообщение. Оно будет отправлено немедленно.

  7. Чтобы увидеть сообщение на тестовом устройстве, закройте и снова откройте приложение.

Чтобы убедиться, что ваше устройство является тестовым, найдите в журнале следующее сообщение:

[Firebase/InAppMessaging][I-IAM180017] Seeing test message in fetch response. Turn the current instance into a testing instance.