Untitled
unknown
csharp
a year ago
6.9 kB
14
Indexable
private static readonly string FirebaseUserID = SystemInfo.deviceUniqueIdentifier;
private void SetUserProperties()
{
FirebaseAnalytics.SetUserProperty("balance", EconomyManager.Instance.Resource.Current.ToString());
FirebaseAnalytics.SetUserProperty("game_version", Application.version);
switch (Application.internetReachability)
{
case NetworkReachability.NotReachable:
FirebaseAnalytics.SetUserProperty("network_status", "offline");
break;
case NetworkReachability.ReachableViaCarrierDataNetwork:
FirebaseAnalytics.SetUserProperty("network_status", "data");
break;
case NetworkReachability.ReachableViaLocalAreaNetwork:
FirebaseAnalytics.SetUserProperty("network_status", "wifi");
break;
default:
throw new ArgumentOutOfRangeException();
}
FirebaseAnalytics.SetUserProperty("test_user", FirebaseStatics.IsTestUser.ToString());
FirebaseAnalytics.SetUserProperty("level", 1.ToString());
FirebaseAnalytics.SetUserProperty("user_id", FirebaseUserID);
}
public void Track_PurchaseInitiate(string productName, float price, string currency, string result = "success", string source = "shop", string time = "Now")
{
FirebaseAnalytics.LogEvent("purchase_initate",
new Parameter("product_name", productName),
new Parameter(FirebaseAnalytics.ParameterPrice, price),
new Parameter(FirebaseAnalytics.ParameterCurrency, currency),
new Parameter("result", result),
new Parameter("source", source),
new Parameter("time", time)
);
SetUserProperties();
}
public void Track_PurchaseEnd(string productName, float price, string currency, string result = "success", string source = "shop", string time = "Now")
{
FirebaseAnalytics.LogEvent("purchase_end",
new Parameter("product_name", productName),
new Parameter(FirebaseAnalytics.ParameterPrice, price),
new Parameter(FirebaseAnalytics.ParameterCurrency, currency),
new Parameter("result", result),
new Parameter("source", source),
new Parameter("time", time)
);
SetUserProperties();
}
public void Track_CustomAdImpression(MaxSdkBase.AdInfo adInfo)
{
double revenue = adInfo.Revenue;
var impressionParameters = new[]
{
new Firebase.Analytics.Parameter("ad_platform", "AppLovin"),
new Firebase.Analytics.Parameter("ad_source", adInfo.NetworkName),
new Firebase.Analytics.Parameter("ad_unit_name", adInfo.AdUnitIdentifier),
new Firebase.Analytics.Parameter("ad_format", adInfo.AdFormat),
new Firebase.Analytics.Parameter("value", revenue),
new Firebase.Analytics.Parameter("currency", "USD"),
};
Firebase.Analytics.FirebaseAnalytics.LogEvent("custom_ad_impression", impressionParameters);
}
/// <summary>
/// Triggers when clicked on smth.
/// </summary>
/// <param name="adInfo"></param>
public void Track_CustomAdClick(MaxSdkBase.AdInfo adInfo)
{
double revenue = adInfo.Revenue;
var impressionParameters = new[]
{
new Firebase.Analytics.Parameter("ad_platform", "AppLovin"),
new Firebase.Analytics.Parameter("ad_source", adInfo.NetworkName),
new Firebase.Analytics.Parameter("ad_unit_name", adInfo.AdUnitIdentifier),
new Firebase.Analytics.Parameter("ad_format", adInfo.AdFormat),
new Firebase.Analytics.Parameter("value", revenue),
new Firebase.Analytics.Parameter("currency", "USD"),
};
FirebaseAnalytics.LogEvent("custom_ad_click", impressionParameters);
SetUserProperties();
}
public void Track_CustomAdFail(MaxSdkBase.AdInfo adInfo, string reason = "dismiss")
{
var impressionParameters = new[]
{
new Firebase.Analytics.Parameter("ad_source", adInfo.NetworkName),
new Firebase.Analytics.Parameter("ad_unit_name", adInfo.AdUnitIdentifier),
new Firebase.Analytics.Parameter("ad_format", adInfo.AdFormat),
};
FirebaseAnalytics.LogEvent("custom_ad_fail", impressionParameters);
SetUserProperties();
}
public void Track_LevelStart(string level)
{
var impressionParameters = new[]
{
new Firebase.Analytics.Parameter("level", level),
};
FirebaseAnalytics.LogEvent("level_start", impressionParameters);
SetUserProperties();
}
public void Track_LevelEnd(string level)
{
var impressionParameters = new[]
{
new Firebase.Analytics.Parameter("level", level),
};
FirebaseAnalytics.LogEvent("level_end", impressionParameters);
SetUserProperties();
}
/// <summary>
/// Tracks item transactions like money, etc.
/// </summary>
/// <param name="itemName"></param>
/// <param name="changeAmount"></param>
/// <param name="balance"></param>
/// <param name="source"></param>
public void Track_ItemTransaction(string itemName, int changeAmount, int balance, string source = "shop")
{
var impressionParameters = new[]
{
new Firebase.Analytics.Parameter("item_name", itemName),
new Firebase.Analytics.Parameter("change_amount", changeAmount),
new Firebase.Analytics.Parameter("balance", balance),
new Firebase.Analytics.Parameter("source", source),
};
FirebaseAnalytics.LogEvent("item_transaction", impressionParameters);
SetUserProperties();
}
/// <summary>
/// Tracks daily rewards etc.
/// </summary>
/// <param name="id"></param>
/// <param name="giftName"></param>
/// <param name="giftValue"></param>
/// <param name="loginStreak"></param>
public void Track_DailyGift(string id, string giftName, int giftValue, int loginStreak)
{
var impressionParameters = new[]
{
new Firebase.Analytics.Parameter("daily_gift_id", id),
new Firebase.Analytics.Parameter("gift_name", giftName),
new Firebase.Analytics.Parameter("gift_value", giftValue),
new Firebase.Analytics.Parameter("login_streak", loginStreak),
};
FirebaseAnalytics.LogEvent("daily_gift", impressionParameters);
SetUserProperties();
}
public void Track_TutorialPlayed(string tutorialName)
{
FirebaseAnalytics.LogEvent("tutorial_played", new Parameter("tutorialName", tutorialName));
SetUserProperties();
}Editor is loading...
Leave a Comment