Добавьте Firebase в свой проект Unity

Расширьте возможности своих игр Unity с помощью наших Firebase Unity SDK.

Чтобы показать, насколько просто подключить Firebase к вашему проекту Unity, мы создали пример игры MechaHamster. Если вы хотите попробовать добавить Firebase в игру, используйте начальную версию на GitHub . Если вам нужна полная версия, ознакомьтесь с версиями в App Store или Google Play Store .

MechaHamster (GitHub)

MechaHamster (App Store)

MechaHamster (Play Store)


Дополнительную информацию о том, как улучшить ваши игры с помощью Firebase, можно найти на нашей странице игр Firebase .

Уже добавили Firebase в свой проект Unity? Убедитесь, что вы используете последнюю версию Firebase Unity SDK .

Предпосылки

  • Установите Unity 2021 LTS или более позднюю версию. Поддержка Unity 2020 считается устаревшей и не будет активно поддерживаться после следующего основного релиза. Более ранние версии также могут быть совместимы, но не будут активно поддерживаться.

  • (Только для платформ Apple) Установите следующее:

    • Xcode 13.3.1 или выше
    • CocoaPods 1.12.0 или выше
  • Убедитесь, что ваш проект Unity соответствует следующим требованиям:

    • Для iOS — предназначено для iOS 13 и выше.
    • Для tvOS — предназначено для tvOS 13 и выше
    • Для Android — ориентирован на API уровня 21 (Lollipop) или выше
  • Настройте физическое устройство или используйте эмулятор для запуска вашего приложения.

    • Для платформ Apple — настройте физическое устройство или используйте симулятор iOS или tvOS.

      Для использования Cloud Messaging на iOS или tvOS необходимы следующие предварительные условия:

      • Настройте физическое устройство .
      • Получите ключ аутентификации push-уведомлений Apple для своей учетной записи разработчика Apple .
      • Включите Push-уведомления в XCode в разделе Приложение > Возможности .

    • Для Androidэмуляторы должны использовать образ эмулятора с Google Play.

Если у вас еще нет проекта Unity и вы просто хотите опробовать продукт Firebase, вы можете загрузить один из наших примеров быстрого старта .

Шаг 1 : Создание проекта Firebase

Прежде чем добавить Firebase в свой проект Unity, необходимо создать проект Firebase для подключения к нему. Подробнее о проектах Firebase можно узнать в разделе «Понимание проектов Firebase».

  1. В консоли Firebase нажмите Добавить проект .

    • Чтобы добавить ресурсы Firebase в существующий проект Google Cloud , введите имя проекта или выберите его из раскрывающегося меню.

    • Чтобы создать новый проект, введите его название. Вы также можете изменить идентификатор проекта, отображаемый под его названием.

  2. При необходимости ознакомьтесь и примите условия Firebase .

  3. Нажмите «Продолжить» .

  4. (Необязательно) Настройте Google Analytics для своего проекта, что обеспечит оптимальную работу с использованием следующих продуктов Firebase: Firebase A/B Testing , Cloud Messaging , Crashlytics , In-App Messaging и Remote Config (включая Personalization ).

    Выберите существующий аккаунт Google Analytics или создайте новый. При создании нового аккаунта выберите местоположение для отчётов Google Analytics , а затем примите настройки доступа к данным и условия использования Google Analytics для вашего проекта.

  5. Нажмите «Создать проект» (или «Добавить Firebase» , если вы добавляете Firebase в существующий проект Google Cloud ).

Firebase автоматически выделяет ресурсы для вашего проекта Firebase. После завершения процесса вы будете перенаправлены на страницу обзора вашего проекта Firebase в консоли Firebase .

Шаг 2 : Зарегистрируйте свое приложение в Firebase

Вы можете зарегистрировать одно или несколько приложений или игр для подключения к вашему проекту Firebase.

  1. Перейдите в консоль Firebase .

  2. В центре страницы обзора проекта щелкните значок Unity ( ), чтобы запустить рабочий процесс настройки.

    Если вы уже добавили приложение в свой проект Firebase, нажмите «Добавить приложение» , чтобы отобразить параметры платформы.

  3. Выберите, какую цель сборки вашего проекта Unity вы хотите зарегистрировать, или вы даже можете зарегистрировать обе цели одновременно.

  4. Введите идентификатор(ы) платформы вашего проекта Unity.

    • Для iOS — введите идентификатор iOS вашего проекта Unity в поле идентификатора пакета iOS .

    • Для Android — введите идентификатор Android вашего проекта Unity в поле имени пакета Android .
      Термины «имя пакета» и «идентификатор приложения» часто используются как взаимозаменяемые.

    Откройте проект Unity в среде Unity IDE, затем перейдите в раздел настроек для каждой платформы:

    • Для iOS — перейдите в Настройки сборки > iOS .

    • Для Android — перейдите в Android > Настройки проигрывателя > Другие настройки .

    Идентификатор вашего проекта Unity — это значение идентификатора пакета (пример идентификатора: com.yourcompany.yourproject ).

  5. (Необязательно) Введите псевдонимы, специфичные для платформы вашего проекта Unity.
    Эти псевдонимы являются внутренними, удобными идентификаторами и видны только вам в консоли Firebase .

  6. Нажмите «Зарегистрировать приложение» .

Шаг 3 : Добавьте файлы конфигурации Firebase

  1. Получите файлы конфигурации Firebase для вашей платформы в рабочем процессе настройки консоли Firebase .

    • Для iOS — нажмите «Загрузить GoogleService-Info.plist» .

    • Для Android — нажмите «Загрузить google-services.json» .

    • Файл конфигурации Firebase содержит уникальные, но не секретные идентификаторы вашего проекта и приложения. Подробнее об этом файле конфигурации см. в статье «Подробнее о проектах Firebase» .

    • Вы можете снова загрузить файл конфигурации Firebase в любое время.

    • Убедитесь, что к имени файла конфигурации не добавлены дополнительные символы, например (2) .

  2. Откройте окно проекта Unity, затем переместите файл(ы) конфигурации в папку Assets .

  3. Вернитесь в консоль Firebase , в рабочем процессе настройки нажмите кнопку Далее .

Шаг 4 : Добавьте Firebase Unity SDK

  1. В консоли Firebase нажмите «Загрузить Firebase Unity SDK» , затем распакуйте SDK в удобное место.

    • Вы можете снова загрузить Firebase Unity SDK в любое время.

    • Firebase Unity SDK не привязан к какой-либо платформе.

  2. В открытом проекте Unity перейдите в раздел Assets > Import Package > Custom Package .

  3. В распакованном SDK выберите поддерживаемые продукты Firebase , которые вы хотите использовать в своем приложении.

    • Добавьте пакет Firebase для Google Analytics : FirebaseAnalytics.unitypackage
    • Добавьте пакеты для любых других продуктов Firebase, которые вы хотите использовать в своём приложении. Например, чтобы использовать Firebase Authentication и Firebase Realtime Database :
      FirebaseAuth.unitypackage и FirebaseDatabase.unitypackage

    Добавьте пакеты для продуктов Firebase, которые вы хотите использовать в своём приложении. Например, чтобы использовать Firebase Authentication и Firebase Realtime Database :
    FirebaseAuth.unitypackage и FirebaseDatabase.unitypackage

  4. В окне Импорт пакета Unity нажмите Импорт .

  5. Вернитесь в консоль Firebase , в рабочем процессе настройки нажмите кнопку Далее .

Шаг 5 : Подтвердите требования к версии сервисов Google Play

Для некоторых продуктов в Firebase Unity SDK для Android требуются Google Play services . Узнайте , какие продукты имеют эту зависимость . Для использования этих продуктов Google Play services должны быть обновлены.

Добавьте следующий оператор using и код инициализации в начало приложения. Вы можете проверить наличие Google Play services и при необходимости обновить их до необходимой версии, прежде чем вызывать любые другие методы в SDK.

using Firebase.Extensions;
Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWithOnMainThread(task => {
  var dependencyStatus = task.Result;
  if (dependencyStatus == Firebase.DependencyStatus.Available) {
    // Create and hold a reference to your FirebaseApp,
    // where app is a Firebase.FirebaseApp property of your application class.
       app = Firebase.FirebaseApp.DefaultInstance;

    // Set a flag here to indicate whether Firebase is ready to use by your app.
  } else {
    UnityEngine.Debug.LogError(System.String.Format(
      "Could not resolve all Firebase dependencies: {0}", dependencyStatus));
    // Firebase Unity SDK is not safe to use here.
  }
});

Всё готово! Ваш проект Unity зарегистрирован и настроен для использования Firebase.

Если у вас возникли проблемы с настройкой, посетите страницу устранения неполадок и часто задаваемых вопросов Unity .

Настройка рабочего процесса на рабочем столе ( бета )

При создании игры зачастую гораздо проще сначала протестировать её в редакторе Unity и на настольных платформах, а затем развернуть и протестировать на мобильных устройствах на более поздних этапах разработки. Для поддержки этого рабочего процесса мы предоставляем подмножество Firebase Unity SDK , которые могут работать в Windows, macOS, Linux и непосредственно в редакторе Unity.

  1. Настройте проект Unity для настольной платформы, следуя тем же инструкциям, что и для мобильной платформы (начните с шага «Регистрация приложения в Firebase» выше).

  2. Запустите свой проект Unity в среде Unity IDE или выберите сборку проекта Unity для настольного компьютера .

  3. (Необязательно) Запустите проект Unity в режиме редактирования.

    Firebase Unity SDK также можно запускать в режиме редактирования Unity, что позволяет использовать его в плагинах редактора.

    1. При создании FirebaseApp , используемого редактором, не используйте экземпляр по умолчанию.

    2. Вместо этого укажите уникальное имя для вызова FirebaseApp.Create() .

      Это важно для предотвращения конфликта параметров между экземпляром, используемым Unity IDE, и экземпляром, используемым вашим проектом Unity.

Поддерживаемые продукты Firebase

Подробнее о библиотеках Unity Firebase можно узнать в справочной документации .

Доступные библиотеки Firebase для мобильных устройств

Firebase Unity SDK поддерживает следующие продукты Firebase на Apple и Android :

Продукт Firebase Пакет Unity
AdMob Распространяется отдельно в плагине AdMob Unity.
Логика искусственного интеллекта Firebase FirebaseAI.unitypackage
Analytics FirebaseAnalytics.unitypackage
App Check FirebaseAppCheck.unitypackage
Authentication FirebaseAuth.unitypackage
Cloud Firestore FirebaseFirestore.unitypackage
Cloud Functions FirebaseFunctions.unitypackage
Cloud Messaging FirebaseMessaging.unitypackage
(рекомендуется) FirebaseAnalytics.unitypackage
Cloud Storage FirebaseStorage.unitypackage
Crashlytics FirebaseCrashlytics.unitypackage
(рекомендуется) FirebaseAnalytics.unitypackage
Dynamic Links FirebaseDynamicLinks.unitypackage
(рекомендуется) FirebaseAnalytics.unitypackage
Realtime Database FirebaseDatabase.unitypackage
Remote Config FirebaseRemoteConfig.unitypackage
(рекомендуется) FirebaseAnalytics.unitypackage

Доступные библиотеки Firebase для настольных компьютеров

Firebase Unity SDK включает поддержку рабочего процесса на рабочем столе для подмножества продуктов, что позволяет использовать определенные части Firebase в редакторе Unity и в отдельных сборках для рабочего стола в Windows, macOS и Linux.

Продукт Firebase (для настольных компьютеров) Пакет Unity
Логика искусственного интеллекта Firebase FirebaseAI.unitypackage
App Check FirebaseAppCheck.unitypackage
Authentication FirebaseAuth.unitypackage
Cloud Functions FirebaseFunctions.unitypackage
Cloud Firestore FirebaseFirestore.unitypackage
Cloud Storage FirebaseStorage.unitypackage
Realtime Database FirebaseDatabase.unitypackage
Remote Config FirebaseRemoteConfig.unitypackage

Firebase предоставляет оставшиеся десктопные библиотеки в виде заглушек (нефункциональных) для удобства сборки под Windows, macOS и Linux. Таким образом, вам не нужно выполнять условную компиляцию кода для десктопной версии.

Следующие шаги