unity引擎版本:2019.4.40f1
官方接入文档: 已经详细描述接入过程
将 Firebase 添加到您的 Unity 项目 | Firebase for Unity
Firebase 添加到您的 Unity SDK下载:
1、根据 .NET 选择 dotnet3或 dotnet4
readme.md中
* Unity 5.x and earlier use the .NET 3.x framework, so you need to import
packages from the `dotnet3` directory.
* Unity 2017.x and newer allow the use of the .NET 4.x framework. If your
project is configured to use .NET 4.x, import packages from the
`dotnet4` directory.
Edit->Player->Other Settings 中 Api Compatibility Level* 查看
现在google 基本都要求 IL2CPP ,所以一般都是.NET 4.x 所以选择 dotnet4中的SDK
2、导入统计sdk,FirebaseAnalytics
选择统计的sdk导入,其他根据需求导入
如果项目中未接入过google admob 的sdk则全部导入,如果已经接入过,则需忽略掉google中已经存在的sdk
本身项目:
已经存在googel admob的sdk 所以选择不添加,防止sdk冲突
3、将下载好的google-services.json 放入Assets 中(具体如何创建项目,查看官方文档)
4、初始化
Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(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.
Debug.Log("Create and hold a reference to your FirebaseApp");
}
else
{
UnityEngine.Debug.LogError(System.String.Format(
"Could not resolve all Firebase dependencies: {0}", dependencyStatus));
// Firebase Unity SDK is not safe to use here.
}
});
5、打点
Firebase.Analytics.FirebaseAnalytics.LogEvent("事件名", "数据名", "数据");
/// <summary>
/// 上传Firebase
/// </summary>
public void UploadFirebase(string EventName, Dictionary<string, object> dic)
{
if (Application.platform == RuntimePlatform.WindowsEditor)
{
return;
}
List<Firebase.Analytics.Parameter> parmlist = new List<Firebase.Analytics.Parameter>();
foreach (var item in dic)
{
Firebase.Analytics.Parameter parameter = new Firebase.Analytics.Parameter(item.Key, item.Value.ToString());
parmlist.Add(parameter);
}
Firebase.Analytics.FirebaseAnalytics.LogEvent(EventName, parmlist.ToArray());
}