Работа с несколькими учетными записями Firebase (не проектами) - PullRequest
0 голосов
/ 19 октября 2018

Мы используем две службы Firebase в собственных приложениях для Android и iOS - Firebase Analytics и FCM (Firebase Cloud Messaging).Эти службы принадлежат двум отдельным командам - ​​команда аналитиков владеет учетной записью Firebase, содержащей проект аналитики, тогда как ИТ-команда владеет учетной записью для FCM (содержащей проект FCM).Мы также используем UrbanAirship для сообщений PUSH, которые внутренне используют ключ FCM (ключ API из проекта FCM).В настоящее время приложения используют google-services.json, загруженный из аккаунта Google Analytics, и, следовательно, аналитические события проходят очень хорошо.

Но PUSH-уведомления не работают, поскольку учетная запись UA (UrbanAirship) содержит ключ API FCM из другой учетной записи.В качестве временного исправления мы настроили UA на использование ключа FCM из проекта Analytics (поскольку приложение использует JSON только из учетной записи аналитики), что, на мой взгляд, не подходит для долгосрочной работы, поскольку оно создает зависимость между двумя командами.Пожалуйста, поделитесь своим мнением эксперта о наилучшей практике в этом случае, чтобы обе команды (Analytics, IT) могли независимо управлять своими (отдельными) учетными записями.

Обратите внимание, что я просмотрел несколько других потоков, скопированных ниже, но они относятся к работе с несколькими проектами, а не к отдельным учетным записям.Так выложил этот вопрос.Спасибо!

Может ли одно приложение подключаться к нескольким учетным записям Firebase?

Использовать несколько учетных записей Firebase в одном приложении Android для аналитики Google

1 Ответ

0 голосов
/ 26 ноября 2018

Наконец, мы получили решение вышеуказанной проблемы и решили поделиться со всеми, чтобы это помогло и другим.«По состоянию на дату» (не уверен насчет будущих обновлений): Firebase Analytics SDK (на самом деле многие другие функции Firebase также) в проекте Android зависит от файла google-services.JSON, который мы загружаем с консоли Firebase (соответственнопроект) и использовать в проекте Android.

Напротив, PUSH-уведомление через SDK Urban Airship (UA) не зависит от google-services.JSON, фактически зависит только от настроек файла airshipconfig.properties.

КакВ результате мы можем поддерживать разные учетные записи Firebase, например, одну, контролируемую командой Analytics, а другую - ИТ-командой для уведомлений PUSH (интегрированных с Urban Airship) в нашем случае.

Обратите внимание, что настройки на стороне сервера UA (на консоли) ив приложении Android (airshipconfig.properties) можно настроить следующим образом:

консоль UA - в разделе Настройки-> Платформы-> Android-> Ключ API используйте разделКлюч API скопирован из Консоль Firebase-> Настройки-> Облачные сообщения-> Ключ сервера .Смотрите пример скриншота, скопированного ниже.

Android-приложение (airshipconfig.properties) - используйте «Идентификатор отправителя» из того же раздела в консоли Firebase, упомянутой выше.Ключ API и SenderID связывают компоненты клиента и сервера.

Firebase Analytics Console Keys

UrbanAirship console settings

Приложение для iOS - Поскольку приложение для iOS основано на APNS, а не на Firebase FCM, в консоли Urban Airship не нужно настраивать специальные клавиши.Однако сертификат необходимо предоставить в консоли UA.

...