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

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

Чтобы показать, как легко интегрировать 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 15 и выше.
    • Для tvOS — целевая платформа: tvOS 15 и выше.
    • Для Android — ориентирован на API уровня 23 (Marshmallow) или выше.
  • Для запуска приложения подключите физическое устройство или используйте эмулятор.

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

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

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

Шаг 1 : Создайте проект Firebase.

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

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

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

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

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

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

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

  4. Введите идентификатор(ы) вашего проекта Unity, специфичный(е) для вашей платформы.

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

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

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

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

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

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

    • Для iOS — нажмите «Скачать GoogleService-Info.plist» .

    • Для Android — нажмите «Скачать google-services.json» .

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

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

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

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

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

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

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

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

    Analytics включена

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

    Analytics отключена

    Добавьте пакеты для продуктов 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 и на настольных платформах, а затем развернуть и протестировать на мобильных устройствах на более поздних этапах разработки. Для поддержки этого рабочего процесса мы предоставляем подмножество SDK Firebase Unity , которые могут работать на Windows, macOS, Linux и непосредственно в редакторе Unity.

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

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

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

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

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

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

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

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

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

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

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

Продукт Firebase Пакет Unity
AdMob Распространяется отдельно в составе плагина AdMob для Unity.
Firebase AI Logic 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 для настольных компьютеров

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

Продукт Firebase (для настольных компьютеров) Пакет Unity
Firebase AI Logic 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. Таким образом, вам не нужно выполнять условную компиляцию кода для целевой платформы настольных приложений.

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