Firebase SDK - AppWillapps/KnowledgeBase GitHub Wiki

Интегрируйте Firebase согласно инструкции:
Шаг 1. Создайте проект Firebase
⚠️ Включите Google Analytics для проекта
Шаг 2. Зарегистрируйте приложение в Firebase
⚠️ Для шага 2 нужен Bundle Id. Найти его можно в Player Settings в Unity.

image1

Шаг 3. Добавьте файлы конфигурации Firebase
⚠️ Файл можно добавить в любое место в папке Assets
Шаг 4. Установите Firebase SDK, а именно FirebaseAnalytics.unitypackage
Шаг 5. Откройте вкладку сверху Assets -> External Dependency Manager -> Android Resolver и нажмите на кнопку Resolve

image2

Скрипт и методы вызова аналитики

Создайте пустой Game Object на сцене, назовите его “FirebaseManager”.
Создайте новый скрипт “FirebaseManager”.

image3

Вы можете использовать следующий пример скрипта:
В данном скрипте есть метод DontDestroyOnLoad, поэтому достаточно будет расположить его в меню и при загрузке других сцен объект “FirebaseManager” не будет разрушаться.

using Firebase.Analytics;
using Firebase.Extensions;
using UnityEngine;

namespace GameDevClub.FirebaseTutorial
{
    public class FirebaseManager : MonoBehaviour
    {
        public static FirebaseManager Instance;

        private void Awake()
        {
            Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWithOnMainThread(task \=\>
            {
                var dependencyStatus \= task.Result;
                if (dependencyStatus \== Firebase.DependencyStatus.Available)
                {
                    if (Instance \!= null)
                    {
                        Destroy(gameObject);
                        return;
                    }
                    else
                    {
                        Instance \= this;
                    }
                    Debug.Log("Firebase working\! Yay\!");
                    DontDestroyOnLoad(gameObject);
                }
                else
                {
                    Debug.Log("Firebase not working\! :(");
                    Destroy(gameObject);
                }
            });

        }

        public void ReportGoal(string name, Parameter\[\] parameters)
        {
            FirebaseAnalytics.LogEvent(name, parameters);
        }
    }
}

Данное решение представлено для ознакомления вы можете использовать свой код или менять этот скрипт в соответствие с вашими ожиданиями

Теперь вы можете вызывать методы для отправки аналитики из скрипта представленного выше, достаточно обратиться к классу FirebaseManager и выбрать нужный вам метод, например так:

using Firebase.Analytics;
using UnityEngine;

namespace GameDevClub.FirebaseTutorial
{
    public class FirebaseSender : MonoBehaviour
    {
        \[SerializeField\] private string \_goalName;
        \[SerializeField\] private string \_parameterName;
        \[SerializeField\] private string \_parameterValue;

        private void Start()
        {
            ReportGoalExample();
        }

        private void ReportGoalExample()
        {
            Parameter\[\] parameters \={
                    new Parameter(\_parameterName, \_parameterValue )
            };

            FirebaseManager.Instance.ReportGoal(\_goalName, parameters);
        }

    }
}

✅ Готово, вы интегрировали аналитику Firebase в ваш проект.