统计接口+用户属性打点
This commit is contained in:
parent
b7b1b2c9f4
commit
138f923264
|
@ -21,7 +21,7 @@ public class AppSDKManager : MonoBehaviour
|
|||
FireBaseSDKManager.Instance.Init();
|
||||
AdjustManager.Instance.Init();
|
||||
ShuShuMangage.Instance.Init();
|
||||
|
||||
|
||||
EFSdkManager.Instance.Init();
|
||||
}
|
||||
|
||||
|
@ -29,6 +29,7 @@ public class AppSDKManager : MonoBehaviour
|
|||
{
|
||||
AdsSDKManager.Instance.InitSDK(action);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 协程
|
||||
|
@ -72,24 +73,20 @@ public class AppSDKManager : MonoBehaviour
|
|||
|
||||
public void LogEvent(string eventName)
|
||||
{
|
||||
// ShuShuEvent.Instance.Track(eventName);
|
||||
// FireBaseAnalyticsManager.Instance.LogEvent(eventName);
|
||||
ShuShuEvent.Instance.Track(eventName);
|
||||
FireBaseAnalyticsManager.Instance.LogEvent(eventName);
|
||||
}
|
||||
|
||||
public void LogEvent(string eventName, string key1, object value1)
|
||||
{
|
||||
// ShuShuEvent.Instance.Track(eventName, key1, value1);
|
||||
// FireBaseAnalyticsManager.Instance.LogEvent(eventName, key1, value1);
|
||||
}
|
||||
|
||||
public void LogEvent(string eventName, string key1, object value1, string key2, object value2)
|
||||
{
|
||||
|
||||
ShuShuEvent.Instance.Track(eventName, key1, value1);
|
||||
FireBaseAnalyticsManager.Instance.LogEvent(eventName, key1, value1);
|
||||
}
|
||||
|
||||
public void LogEvent(string eventName, Dictionary<string, object> extraInfo)
|
||||
{
|
||||
|
||||
ShuShuEvent.Instance.Track(eventName, extraInfo);
|
||||
FireBaseAnalyticsManager.Instance.LogEvent(eventName, extraInfo);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -135,21 +132,37 @@ public class AppSDKManager : MonoBehaviour
|
|||
|
||||
public bool GetRemoteConfigBool(string key, bool defaultValue = false)
|
||||
{
|
||||
if (Application.isEditor)
|
||||
{
|
||||
return defaultValue;
|
||||
}
|
||||
return FireBaseRemoteConfigManager.Instance.GetRemoteConfigBool(key, defaultValue);
|
||||
}
|
||||
|
||||
public int GetRemoteConfigInt(string key, int defaultValue = 0)
|
||||
{
|
||||
if (Application.isEditor)
|
||||
{
|
||||
return defaultValue;
|
||||
}
|
||||
return FireBaseRemoteConfigManager.Instance.GetRemoteConfigInt(key, defaultValue);
|
||||
}
|
||||
|
||||
public string GetRemoteConfigString(string key, string defaultValue = "")
|
||||
{
|
||||
if (Application.isEditor)
|
||||
{
|
||||
return defaultValue;
|
||||
}
|
||||
return FireBaseRemoteConfigManager.Instance.GetRemoteConfigString(key, defaultValue);
|
||||
}
|
||||
|
||||
public float GetRemoteConfigFloat(string key, float defaultValue = 0)
|
||||
{
|
||||
if (Application.isEditor)
|
||||
{
|
||||
return defaultValue;
|
||||
}
|
||||
return FireBaseRemoteConfigManager.Instance.GetRemoteConfigFloat(key, defaultValue);
|
||||
}
|
||||
|
||||
|
|
|
@ -2,17 +2,19 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Firebase.Analytics;
|
||||
using Firebase.RemoteConfig;
|
||||
using Newtonsoft.Json;
|
||||
using WZ;
|
||||
|
||||
namespace WZ
|
||||
{
|
||||
{
|
||||
/// <summary>
|
||||
/// Firebase analytics事件上报
|
||||
/// </summary>
|
||||
public class FireBaseAnalyticsManager : NormalSingleton<FireBaseAnalyticsManager>
|
||||
{
|
||||
private const string KEY_SUPER_PROPERTIES = "KEY_SUPER_PROPERTIES";
|
||||
|
||||
|
||||
private Dictionary<string, object> superProperties = new Dictionary<string, object>();
|
||||
|
||||
public void InitSuperProperties()
|
||||
|
@ -23,23 +25,51 @@ namespace WZ
|
|||
superProperties = JsonConvert.DeserializeObject<Dictionary<string, object>>(json);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void LogEvent(string eventName)
|
||||
{
|
||||
List<Parameter> parameterList = new List<Parameter>();
|
||||
if (superProperties != null)
|
||||
var superProperties = GetSuperProperties();
|
||||
if (superProperties.Count > 0)
|
||||
{
|
||||
foreach (var superProperty in superProperties)
|
||||
{
|
||||
Parameter parameter = new Parameter(superProperty.Key, superProperty.Value.ToString());
|
||||
parameterList.Add(parameter);
|
||||
}
|
||||
FirebaseAnalytics.LogEvent(eventName, superProperties.ToArray());
|
||||
}
|
||||
else
|
||||
{
|
||||
FirebaseAnalytics.LogEvent(eventName);
|
||||
}
|
||||
|
||||
FirebaseAnalytics.LogEvent(eventName, parameterList.ToArray());
|
||||
}
|
||||
|
||||
public void LogEvent(string eventName, string key1, object value1)
|
||||
{
|
||||
List<Parameter> parameters = new List<Parameter>();
|
||||
parameters.Add(GetParameter(key1, value1));
|
||||
|
||||
foreach (var superProperty in GetSuperProperties())
|
||||
{
|
||||
parameters.Add(superProperty);
|
||||
}
|
||||
|
||||
FirebaseAnalytics.LogEvent(eventName, parameters.ToArray());
|
||||
}
|
||||
|
||||
public void LogEvent(string eventName, Dictionary<string, object> dict)
|
||||
{
|
||||
List<Parameter> parameters = new List<Parameter>();
|
||||
foreach (var item in dict)
|
||||
{
|
||||
Parameter parameter = GetParameter(item.Key, item.Value);
|
||||
parameters.Add(parameter);
|
||||
}
|
||||
|
||||
foreach (var superProperty in GetSuperProperties())
|
||||
{
|
||||
parameters.Add(superProperty);
|
||||
}
|
||||
|
||||
FirebaseAnalytics.LogEvent(eventName, parameters.ToArray());
|
||||
}
|
||||
|
||||
|
||||
public void LogEvent(string eventName, Dictionary<string, string> dict)
|
||||
{
|
||||
List<Parameter> parameters = new List<Parameter>();
|
||||
|
@ -48,7 +78,13 @@ namespace WZ
|
|||
Parameter parameter = new Parameter(item.Key, item.Value);
|
||||
parameters.Add(parameter);
|
||||
}
|
||||
Firebase.Analytics.FirebaseAnalytics.LogEvent(eventName, parameters.ToArray());
|
||||
|
||||
foreach (var superProperty in GetSuperProperties())
|
||||
{
|
||||
parameters.Add(superProperty);
|
||||
}
|
||||
|
||||
FirebaseAnalytics.LogEvent(eventName, parameters.ToArray());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -58,9 +94,9 @@ namespace WZ
|
|||
/// <param name="property"></param>
|
||||
public void SetUserProperty(string name, string property)
|
||||
{
|
||||
Firebase.Analytics.FirebaseAnalytics.SetUserProperty(name, property);
|
||||
FirebaseAnalytics.SetUserProperty(name, property);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 设置用户属性
|
||||
/// </summary>
|
||||
|
@ -72,7 +108,7 @@ namespace WZ
|
|||
{
|
||||
SetUserProperty(property.Key, property.Value.ToString());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -90,11 +126,29 @@ namespace WZ
|
|||
{
|
||||
superProperties[property.Key] = property.Value;
|
||||
}
|
||||
|
||||
|
||||
string json = JsonConvert.SerializeObject(superProperties);
|
||||
PlayerPrefsUtils.SavePlayerPrefsString(KEY_SUPER_PROPERTIES, json);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取公共事件属性,每次上报都带上
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private List<Parameter> GetSuperProperties()
|
||||
{
|
||||
List<Parameter> parameterList = new List<Parameter>();
|
||||
if (superProperties != null)
|
||||
{
|
||||
foreach (var superProperty in superProperties)
|
||||
{
|
||||
Parameter parameter = GetParameter(superProperty.Key, superProperty.Value);
|
||||
parameterList.Add(parameter);
|
||||
}
|
||||
}
|
||||
|
||||
return parameterList;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// FireBase收益上报
|
||||
|
@ -109,21 +163,21 @@ namespace WZ
|
|||
public void OnAdRevenueEvent(string ad_platform, string ad_source, string ad_unit_name, AdsType ad_format, double revenue, string position, int number)
|
||||
{
|
||||
var impressionParameters = new[] {
|
||||
new Firebase.Analytics.Parameter("ad_platform", ad_platform),
|
||||
new Firebase.Analytics.Parameter("ad_source", ad_source),
|
||||
new Firebase.Analytics.Parameter("ad_unit_name",ad_unit_name),
|
||||
new Firebase.Analytics.Parameter("ad_format", ad_format.ToString()),
|
||||
new Firebase.Analytics.Parameter("value", revenue),
|
||||
new Firebase.Analytics.Parameter("currency", "USD"), // All AppLovin revenue is sent in USD
|
||||
new Firebase.Analytics.Parameter("position", position),
|
||||
new Firebase.Analytics.Parameter("number", number),
|
||||
};
|
||||
new Firebase.Analytics.Parameter("ad_platform", ad_platform),
|
||||
new Firebase.Analytics.Parameter("ad_source", ad_source),
|
||||
new Firebase.Analytics.Parameter("ad_unit_name",ad_unit_name),
|
||||
new Firebase.Analytics.Parameter("ad_format", ad_format.ToString()),
|
||||
new Firebase.Analytics.Parameter("value", revenue),
|
||||
new Firebase.Analytics.Parameter("currency", "USD"), // All AppLovin revenue is sent in USD
|
||||
new Firebase.Analytics.Parameter("position", position),
|
||||
new Firebase.Analytics.Parameter("number", number),
|
||||
};
|
||||
|
||||
string name = GetName();
|
||||
Firebase.Analytics.FirebaseAnalytics.LogEvent(name, impressionParameters);
|
||||
AdsKeyEvents.Instance.LogAdCountEvents(ad_format, revenue);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 收益分离
|
||||
/// </summary>
|
||||
|
@ -132,7 +186,7 @@ namespace WZ
|
|||
{
|
||||
string name = "ad_impression";
|
||||
//获取在线参数
|
||||
string json = FireBaseRemoteConfigManager.Instance.GetRemoteConfigString("revenue_fir");
|
||||
string json = FireBaseRemoteConfigManager.Instance.GetRemoteConfigString("revenue_fir");
|
||||
if (string.IsNullOrEmpty(json))
|
||||
{
|
||||
return name;
|
||||
|
@ -165,5 +219,35 @@ namespace WZ
|
|||
|
||||
return name;
|
||||
}
|
||||
|
||||
private Parameter GetParameter(string key, object value)
|
||||
{
|
||||
Type type = value.GetType();
|
||||
|
||||
// 根据类型进行转换
|
||||
if (type == typeof(string))
|
||||
{
|
||||
return new Parameter(key, value as string);
|
||||
}
|
||||
if (type == typeof(int))
|
||||
{
|
||||
return new Parameter(key, (int)value);
|
||||
}
|
||||
if (type == typeof(float))
|
||||
{
|
||||
return new Parameter(key, (float)value);
|
||||
}
|
||||
if (type == typeof(long))
|
||||
{
|
||||
return new Parameter(key, (long)value);
|
||||
}
|
||||
if (type == typeof(double))
|
||||
{
|
||||
return new Parameter(key, (double)value);
|
||||
}
|
||||
|
||||
return new Parameter(key, value as string);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue