100 lines
3.8 KiB
C#
100 lines
3.8 KiB
C#
// using Firebase;
|
|
// using Firebase.Analytics;
|
|
// using Firebase.Extensions;
|
|
using UnityEngine;
|
|
|
|
namespace BallKingdomCrush
|
|
{
|
|
public class FireBaseManger: MonoBehaviour
|
|
{
|
|
|
|
public static bool IsReady { get; private set; } = false;
|
|
|
|
void Start()
|
|
{
|
|
// FirebaseApp.CheckAndFixDependenciesAsync().ContinueWithOnMainThread(task =>
|
|
// {
|
|
// if (task.Result == DependencyStatus.Available)
|
|
// {
|
|
// Debug.Log("Firebase 初始化成功");
|
|
//
|
|
// // 启用 Analytics
|
|
// FirebaseAnalytics.SetAnalyticsCollectionEnabled(true);
|
|
//
|
|
// IsReady = true;
|
|
// }
|
|
// else
|
|
// {
|
|
// Debug.LogError("Firebase 依赖错误: " + task.Result);
|
|
// }
|
|
// });
|
|
}
|
|
|
|
/// <summary>
|
|
/// Max 广告的收益上传Firebase
|
|
/// </summary>
|
|
/// <param name="adUnitId"></param>
|
|
/// <param name="adInfo"></param>
|
|
public static void OnAdRevenuePaid(string adUnitId, MaxSdkBase.AdInfo adInfo)
|
|
{
|
|
|
|
if (!IsReady)
|
|
{
|
|
Debug.LogWarning("Firebase 未初始化完成,丢弃本次广告打点");
|
|
return;
|
|
}
|
|
|
|
double revenue = adInfo.Revenue; // 收入,单位是美元 (USD)
|
|
string networkName = adInfo.NetworkName;
|
|
string adFormat = adInfo.AdFormat;
|
|
string adUnitIdentifier = adInfo.AdUnitIdentifier;
|
|
|
|
Debug.Log($"AppLovin 广告收入: {revenue} USD, 网络: {networkName}, 广告位: {adUnitId}");
|
|
|
|
// // 上报到 Firebase
|
|
// var impressionParameters = new[] {
|
|
// new Firebase.Analytics.Parameter("ad_platform", "AppLovin"),
|
|
// new Firebase.Analytics.Parameter("ad_source", networkName),
|
|
// new Firebase.Analytics.Parameter("ad_unit_name", adUnitIdentifier),
|
|
// new Firebase.Analytics.Parameter("ad_format", adFormat),
|
|
// new Firebase.Analytics.Parameter("value", revenue),
|
|
// new Firebase.Analytics.Parameter("currency", "USD"), // All AppLovin revenue is sent in USD
|
|
// };
|
|
// Firebase.Analytics.FirebaseAnalytics.LogEvent("ad_impression", impressionParameters);
|
|
|
|
Debug.Log("已上报 ad_impression 事件到 Firebase");
|
|
}
|
|
|
|
/// <summary>
|
|
/// 支付的收益上传Firebase
|
|
/// </summary>
|
|
public static void OnPayRevenueEvent(double value)
|
|
{
|
|
|
|
if (!IsReady)
|
|
{
|
|
Debug.LogWarning("Firebase 未初始化完成,丢弃本次支付打点");
|
|
return;
|
|
}
|
|
Debug.Log($"AppLovin 支付收入: {value} USD");
|
|
|
|
// var impressionParameters = new[] {
|
|
// new Firebase.Analytics.Parameter("value", value),
|
|
// new Firebase.Analytics.Parameter("currency", "USD"), // All AppLovin revenue is sent in USD
|
|
// };
|
|
//
|
|
// Firebase.Analytics.FirebaseAnalytics.LogEvent("purchase", impressionParameters);
|
|
|
|
// 上报到 Firebase 保持标准格式
|
|
// var parameters = new[] {
|
|
// new Parameter(FirebaseAnalytics.ParameterValue, value),
|
|
// new Parameter(FirebaseAnalytics.ParameterCurrency, "USD")
|
|
// };
|
|
// FirebaseAnalytics.LogEvent(FirebaseAnalytics.EventPurchase, parameters);
|
|
|
|
|
|
Debug.Log("已上报 purchase 事件到 Firebase");
|
|
|
|
}
|
|
}
|
|
} |