Расширьте возможности своих игр Unity с помощью наших Firebase Unity SDK.
Чтобы показать, насколько просто подключить Firebase к вашему проекту Unity, мы создали пример игры MechaHamster. Если вы хотите попробовать добавить Firebase в игру, используйте начальную версию на GitHub . Если вам нужна полная версия, ознакомьтесь с версиями в App Store или Google 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. 
 
- Войдите в Firebase, используя свою учетную запись Google.
Если у вас еще нет проекта Unity и вы просто хотите опробовать продукт Firebase, вы можете загрузить один из наших примеров быстрого старта .
Шаг 1 : Создание проекта Firebase
Прежде чем добавить Firebase в свой проект Unity, необходимо создать проект Firebase для подключения к нему. Подробнее о проектах Firebase можно узнать в разделе «Понимание проектов Firebase».
Шаг 2 : Зарегистрируйте свое приложение в Firebase
Вы можете зарегистрировать одно или несколько приложений или игр для подключения к вашему проекту Firebase.
- Перейдите в консоль Firebase . 
- В центре страницы обзора проекта щелкните значок Unity ( ), чтобы запустить рабочий процесс настройки. - Если вы уже добавили приложение в свой проект Firebase, нажмите «Добавить приложение», чтобы отобразить параметры платформы. 
- Выберите, какую цель сборки вашего проекта Unity вы хотите зарегистрировать, или вы даже можете зарегистрировать обе цели одновременно. 
- Введите идентификатор(ы) платформы вашего проекта Unity. - Для iOS — введите идентификатор iOS вашего проекта Unity в поле идентификатора пакета iOS . 
- Для Android — введите идентификатор Android вашего проекта Unity в поле имени пакета Android . 
 Термины «имя пакета» и «идентификатор приложения» часто используются как взаимозаменяемые.
 - Откройте проект Unity в среде Unity IDE, затем перейдите в раздел настроек для каждой платформы: - Для iOS — перейдите в Настройки сборки > iOS . 
- Для Android — перейдите в Android > Настройки проигрывателя > Другие настройки . 
 - Идентификатор вашего проекта Unity — это значение идентификатора пакета (пример идентификатора: - com.yourcompany.yourproject).
- (Необязательно) Введите псевдонимы, специфичные для платформы вашего проекта Unity. 
 Эти псевдонимы являются внутренними, удобными идентификаторами и видны только вам в консоли Firebase .
- Нажмите «Зарегистрировать приложение» . 
Шаг 3 : Добавьте файлы конфигурации Firebase
- Получите файлы конфигурации Firebase для вашей платформы в рабочем процессе настройки консоли Firebase . - Для iOS — нажмите «Загрузить GoogleService-Info.plist» . 
- Для Android — нажмите «Загрузить google-services.json» . 
 - Файл конфигурации Firebase содержит уникальные, но не секретные идентификаторы вашего проекта и приложения. Подробнее об этом файле конфигурации см. в статье «Подробнее о проектах Firebase» . 
- Вы можете снова загрузить файл конфигурации Firebase в любое время. 
- Убедитесь, что к имени файла конфигурации не добавлены дополнительные символы, например - (2).
 
- Откройте окно проекта Unity, затем переместите файл(ы) конфигурации в папку - Assets.
- Вернитесь в консоль Firebase , в рабочем процессе настройки нажмите кнопку Далее . 
Шаг 4 : Добавьте Firebase Unity SDK
- В консоли Firebase нажмите «Загрузить Firebase Unity SDK» , затем распакуйте SDK в удобное место. - Вы можете снова загрузить Firebase Unity SDK в любое время. 
- Firebase Unity SDK не привязан к какой-либо платформе. 
 
- В открытом проекте Unity перейдите в раздел Assets > Import Package > Custom Package . 
- В распакованном 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
-  Добавьте пакет Firebase для Google Analytics : 
- В окне Импорт пакета Unity нажмите Импорт . 
- Вернитесь в консоль 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.
- Настройте проект Unity для настольной платформы, следуя тем же инструкциям, что и для мобильной платформы (начните с шага «Регистрация приложения в Firebase» выше). 
- Запустите свой проект Unity в среде Unity IDE или выберите сборку проекта Unity для настольного компьютера . 
- (Необязательно) Запустите проект Unity в режиме редактирования. - Firebase Unity SDK также можно запускать в режиме редактирования Unity, что позволяет использовать его в плагинах редактора. - При создании - FirebaseAppиспользуемого редактором, не используйте экземпляр по умолчанию.
- Вместо этого укажите уникальное имя для вызова - 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. Таким образом, вам не нужно выполнять условную компиляцию кода для десктопной версии.
Следующие шаги
- Изучите примеры приложений Firebase . 
- Подготовьтесь к запуску вашего приложения: - Настройте оповещения о бюджете для вашего проекта в консоли Google Cloud .
- Отслеживайте панель использования и выставления счетов в консоли Firebase , чтобы получить общую картину использования вашего проекта в различных службах Firebase.
- Ознакомьтесь с контрольным списком запуска Firebase .
 
- Возникли проблемы с Firebase и вашим проектом Unity? Посетите страницу Unity с ответами на часто задаваемые вопросы и устранением неполадок .