SDK买量关键事件上报 ad_number/ad_fill_number
This commit is contained in:
parent
38de453a88
commit
3e91855d79
|
@ -2,6 +2,7 @@
|
|||
using Firebase.RemoteConfig;
|
||||
using Newtonsoft.Json;
|
||||
using Script.Common;
|
||||
using Script.SDKManager.AdsSDKManager.Events.AdsEvents;
|
||||
using Script.Utils;
|
||||
|
||||
public class AdjustTrackEvent : NormalSingleton<AdjustTrackEvent>
|
||||
|
@ -15,7 +16,7 @@ public class AdjustTrackEvent : NormalSingleton<AdjustTrackEvent>
|
|||
AdjustEvent adjustEvent = new AdjustEvent(trackEvent);
|
||||
Adjust.TrackEvent(adjustEvent);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 广告收益上报
|
||||
/// </summary>
|
||||
|
|
|
@ -368,7 +368,7 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
|
||||
FireBaseAnalyticsManager.Instance.OnAdRevenueEvent(PlatformType.Admob.ToString(),
|
||||
loadedAdapterResponseInfo.AdSourceName,
|
||||
placement, type.ToString(),
|
||||
placement, type,
|
||||
adValue.Value / 1000000f,
|
||||
type == AdsType.Rewarded ? _rvPos : "",
|
||||
AdPlayCountManager.GetAdPlayCount(type));
|
||||
|
@ -382,6 +382,13 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
}
|
||||
#endregion
|
||||
|
||||
#region 广告行为事件上报
|
||||
public void TrackAdAction(AdapterResponseInfo loadedAdapterResponseInfo, double revenue, AdsType type, string placement)
|
||||
{
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -49,6 +49,7 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
_adRevenueCache[adUnitId] = AdmobUtils.GetBannerEcpm(bannerAds);
|
||||
LoggerUtils.Debug($"[Admob] banner -[Load]: {adUnitId} successfully");
|
||||
onAdLoaded?.Invoke(adUnitId);
|
||||
AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Banner);
|
||||
};
|
||||
|
||||
bannerAds.OnBannerAdLoadFailed += ((msg) =>
|
||||
|
@ -76,7 +77,7 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
|
||||
bannerAds.OnAdClicked += () =>
|
||||
{
|
||||
// AdsActionEvents.TrackAdClicked();
|
||||
// AdsActionEvents.TrackAdClicked(PlatformType.Admob,);
|
||||
onAdClicked?.Invoke();
|
||||
};
|
||||
LoadAd(adUnitId);
|
||||
|
|
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||
using GoogleMobileAds.Api;
|
||||
using Script.SDKManager.AdsSDKManager.AdmobAdsManager.Utils;
|
||||
using Script.SDKManager.AdsSDKManager.Constant;
|
||||
using Script.SDKManager.AdsSDKManager.Events.AdsEvents;
|
||||
using Script.Utils;
|
||||
|
||||
namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
||||
|
@ -53,6 +54,7 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
LoggerUtils.Debug("Admob Interstitial ad loaded with response : " + ad.GetResponseInfo().ToString());
|
||||
_interstitialAds[adUnitId] = ad;
|
||||
_adRevenueCache[adUnitId] = AdmobUtils.GetInterstitialAdEcpm(ad);
|
||||
AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Interstitial);
|
||||
onAdLoaded?.Invoke(adUnitId);
|
||||
|
||||
ad.OnAdPaid += (AdValue adValue) =>
|
||||
|
|
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||
using GoogleMobileAds.Api;
|
||||
using Script.SDKManager.AdsSDKManager.AdmobAdsManager.Utils;
|
||||
using Script.SDKManager.AdsSDKManager.Constant;
|
||||
using Script.SDKManager.AdsSDKManager.Events.AdsEvents;
|
||||
using Script.Utils;
|
||||
|
||||
|
||||
|
@ -54,6 +55,7 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
LoggerUtils.Debug("[Admob] rewarded ad loaded with response : " + ad.GetResponseInfo().ToString());
|
||||
_rewardedAds[adUnitId] = ad;
|
||||
_adRevenueCache[adUnitId] = AdmobUtils.GetRewardedAdEcpm(ad);
|
||||
AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Rewarded);
|
||||
onAdLoaded?.Invoke(adUnitId);
|
||||
|
||||
ad.OnAdPaid += (AdValue adValue) =>
|
||||
|
|
|
@ -4,6 +4,7 @@ using System.Collections.Generic;
|
|||
using GoogleMobileAds.Api;
|
||||
using Script.SDKManager.AdsSDKManager.AdmobAdsManager.Utils;
|
||||
using Script.SDKManager.AdsSDKManager.Constant;
|
||||
using Script.SDKManager.AdsSDKManager.Events.AdsEvents;
|
||||
using Script.Utils;
|
||||
using UnityEngine;
|
||||
|
||||
|
@ -55,6 +56,7 @@ namespace Script.SDKManager.AdsSDKManager.AdmobAdsManager
|
|||
LoggerUtils.Debug("[Admob] appopen ad loaded with response : " + ad.GetResponseInfo().ToString());
|
||||
_appOpenAds[adUnitId] = ad;
|
||||
_adRevenueCache[adUnitId] = AdmobUtils.GetAppOpenAdEcpm(ad);
|
||||
AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Splash);
|
||||
onAdLoaded?.Invoke(adUnitId);
|
||||
|
||||
ad.OnAdPaid += (AdValue adValue) =>
|
||||
|
|
|
@ -234,7 +234,7 @@ namespace Script.SDKManager.AdsSDKManager.BigoAdsManager
|
|||
FireBaseAnalyticsManager.Instance.OnAdRevenueEvent(ClientName,
|
||||
ClientName,
|
||||
placement,
|
||||
type.ToString(),
|
||||
type,
|
||||
revenue, type == AdsType.Rewarded ? _rvPos : "",
|
||||
AdPlayCountManager.GetAdPlayCount(type));
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ using System.Collections;
|
|||
using System.Collections.Generic;
|
||||
using BigoAds.Scripts.Api;
|
||||
using Script.SDKManager.AdsSDKManager.Constant;
|
||||
using Script.SDKManager.AdsSDKManager.Events.AdsEvents;
|
||||
using Script.SDKManager.AdsSDKManager.Utils;
|
||||
using Script.Utils;
|
||||
using UnityEngine;
|
||||
|
@ -53,6 +54,7 @@ namespace Script.SDKManager.AdsSDKManager.BigoAdsManager
|
|||
_retryCounters[adUnitId] = 0;
|
||||
_adRevenueCache[adUnitId] = GetAdRevenue(interstitialAd);
|
||||
LoggerUtils.Debug($"[Bigo] Interstitial -[Load]: {adUnitId} successfully");
|
||||
AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Interstitial);
|
||||
onAdLoaded?.Invoke(adUnitId);
|
||||
};
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ using System.Collections;
|
|||
using System.Collections.Generic;
|
||||
using BigoAds.Scripts.Api;
|
||||
using Script.SDKManager.AdsSDKManager.Constant;
|
||||
using Script.SDKManager.AdsSDKManager.Events.AdsEvents;
|
||||
using Script.Utils;
|
||||
using UnityEngine;
|
||||
|
||||
|
@ -52,6 +53,7 @@ namespace Script.SDKManager.AdsSDKManager.BigoAdsManager
|
|||
_retryCounters[adUnitId] = 0;
|
||||
_adRevenueCache[adUnitId] = GetAdRevenue(rewardedAd);
|
||||
LoggerUtils.Debug($"[Bigo] Rewarded-[Load]: {adUnitId} successfully");
|
||||
AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Rewarded);
|
||||
onAdLoaded?.Invoke(adUnitId);
|
||||
};
|
||||
|
||||
|
|
|
@ -0,0 +1,147 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using Firebase.Analytics;
|
||||
using Newtonsoft.Json;
|
||||
using Script.SDKManager.AdsSDKManager.Constant;
|
||||
using Script.SDKManager.AdsSDKManager.Utils;
|
||||
using Script.Utils;
|
||||
using Unity.VisualScripting.Antlr3.Runtime;
|
||||
using UnityEngine;
|
||||
|
||||
namespace Script.SDKManager.AdsSDKManager.Events.AdsEvents
|
||||
{
|
||||
public class AdsKeyEvents : NormalSingleton<AdsKeyEvents>
|
||||
{
|
||||
private List<AdCountData> _adCountData = new List<AdCountData>();
|
||||
private List<AdFPUData> _adFPUData = new List<AdFPUData>();
|
||||
private List<AdTotalRevenurData> _adTotalRevenueData = new List<AdTotalRevenurData>();
|
||||
|
||||
public void InitData()
|
||||
{
|
||||
var countData = FireBaseRemoteConfigManager.Instance.GetRemoteConfigString("ad_number");
|
||||
var fpuData = FireBaseRemoteConfigManager.Instance.GetRemoteConfigString("ad_fill_number");
|
||||
var totalRevenueData = FireBaseRemoteConfigManager.Instance.GetRemoteConfigString("ad_revenue_count");
|
||||
LoggerUtils.Debug("[keyevents] 获取在线参数,countData:" + countData + " fpuData:" + fpuData + " totalRevenueData:" + totalRevenueData);
|
||||
try
|
||||
{
|
||||
_adCountData = JsonConvert.DeserializeObject<List<AdCountData>>(countData);
|
||||
_adFPUData = JsonConvert.DeserializeObject<List<AdFPUData>>(fpuData);
|
||||
_adTotalRevenueData = JsonConvert.DeserializeObject<List<AdTotalRevenurData>>(totalRevenueData);
|
||||
}
|
||||
catch
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#region AdCount
|
||||
public void LogAdCountEvents(AdsType adType, double ecpm)
|
||||
{
|
||||
if (_adCountData == null || _adCountData.Count == 0) return;
|
||||
foreach (var item in _adCountData)
|
||||
{
|
||||
// 本地存储 key
|
||||
var storeName = "ad_number_" + item.Name;
|
||||
|
||||
// 包含当前广告类型
|
||||
LoggerUtils.Debug("[keyevents] adcount 当前广告类型:" + adType + " 在线参数数组:" + JsonConvert.SerializeObject(item.AdType, Formatting.Indented) + " 在线参数ecpm:" + item.ECPM + " 当前广告ecpm" + ecpm * 1000 + " name:" + item.Name);
|
||||
if (item.AdType.Contains((int)adType))
|
||||
{
|
||||
if (item.ECPM == 0 || ecpm * 1000 >= item.ECPM)
|
||||
{
|
||||
LogEventByCount(storeName, item.IPU, storeName, item.adjust_token);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void LogEventByCount(string m_key, int m_ipu, string m_eventName, string m_token)
|
||||
{
|
||||
AdPlayCountManager.IncrementKeyEventPlayCount(m_key);
|
||||
var showCounts = AdPlayCountManager.GetKeyEventPlayCount(m_key);
|
||||
LoggerUtils.Debug("[keyevents] adcount count:" + showCounts + " ipu:" + m_ipu + " eventName:" + m_key);
|
||||
if (showCounts >= m_ipu)
|
||||
{
|
||||
// 未上报过
|
||||
if (PlayerPrefsUtils.IfFirstCheckPlayerPrefs(m_key))
|
||||
{
|
||||
AdjustTrackEvent.Instance.TrackEvent(m_token);
|
||||
FireBaseAnalyticsManager.Instance.LogEvent(m_key);
|
||||
ShuShuEvent.Instance.Track(m_key);
|
||||
LoggerUtils.Debug("[keyevents] adcount key:" + m_key + " ipu" + m_ipu + " eventName:" + m_eventName + " token:" + m_token);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
#region FPU
|
||||
public void LogAdFPUEvents(AdsType adType)
|
||||
{
|
||||
if (_adFPUData == null || _adFPUData.Count == 0) return;
|
||||
foreach (var item in _adFPUData)
|
||||
{
|
||||
// 本地存储 key
|
||||
var storeName = "FPU_" + item.Name;
|
||||
|
||||
// 包含当前广告类型
|
||||
LoggerUtils.Debug("[keyevents] adcount 当前广告类型:" + adType + " 在线参数数组:" + JsonConvert.SerializeObject(item.AdType, Formatting.Indented) + " FPU:" + item.FPU + " 当前广告ecpm" + " name:" + item.Name);
|
||||
if (item.AdType.Contains((int)adType))
|
||||
{
|
||||
LogEventByFPU(storeName, item.FPU, storeName, item.adjust_token);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void LogEventByFPU(string m_key, int m_fpu, string m_eventName, string m_token)
|
||||
{
|
||||
AdPlayCountManager.IncrementKeyEventPlayCount(m_key);
|
||||
var showCounts = AdPlayCountManager.GetKeyEventPlayCount(m_key);
|
||||
LoggerUtils.Debug("[keyevents] adcount count:" + showCounts + " fpu:" + m_fpu + " eventName:" + m_key);
|
||||
if (showCounts >= m_fpu)
|
||||
{
|
||||
// 未上报过
|
||||
if (PlayerPrefsUtils.IfFirstCheckPlayerPrefs(m_key))
|
||||
{
|
||||
AdjustTrackEvent.Instance.TrackEvent(m_token);
|
||||
FireBaseAnalyticsManager.Instance.LogEvent(m_key);
|
||||
ShuShuEvent.Instance.Track(m_key);
|
||||
LoggerUtils.Debug("[keyevents] adcount key:" + m_key + " fpu" + m_fpu + " eventName:" + m_eventName + " token:" + m_token);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
[System.Serializable]
|
||||
public class AdCountData
|
||||
{
|
||||
public string Name;
|
||||
public int IPU;
|
||||
public float ECPM;
|
||||
public List<int> AdType;
|
||||
public string adjust_token;
|
||||
}
|
||||
|
||||
[System.Serializable]
|
||||
public class AdFPUData
|
||||
{
|
||||
public string Name;
|
||||
public int FPU;
|
||||
public List<int> AdType;
|
||||
public string adjust_token;
|
||||
}
|
||||
|
||||
[System.Serializable]
|
||||
public class AdTotalRevenurData
|
||||
{
|
||||
public string Name;
|
||||
public string Revenue;
|
||||
public int reset_after_trigger;
|
||||
public List<int> AdType;
|
||||
public string adjust_token;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
fileFormatVersion: 2
|
||||
guid: d9c7ae999fc264fa6ad5106900a2b381
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: bba9020c00e7b494b80ed377282b6760
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -5,6 +5,7 @@ using System.Net.Security;
|
|||
using Firebase.Analytics;
|
||||
using Script.Common;
|
||||
using Script.SDKManager.AdsSDKManager.Constant;
|
||||
using Script.SDKManager.AdsSDKManager.Events.AdsEvents;
|
||||
using Script.SDKManager.AdsSDKManager.Utils;
|
||||
using Script.Utils;
|
||||
using UnityEngine;
|
||||
|
@ -104,6 +105,7 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager
|
|||
private void OnRewardedAdLoadedEvent(string adunit, MaxSdkBase.AdInfo adInfo)
|
||||
{
|
||||
LoggerUtils.Debug("[Max] OnRewardedAdLoadedEvent network: " + adInfo.NetworkName + " revenue: " + adInfo.Revenue + " NetworkPlacement: " + adInfo.NetworkPlacement + " AdUnitIdentifier: " + adInfo.AdUnitIdentifier + " Placement: " + adInfo.Placement);
|
||||
AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Rewarded);
|
||||
_rewardAdInfo = adInfo;
|
||||
_rewardRetryAttempt = 0;
|
||||
}
|
||||
|
@ -187,7 +189,7 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager
|
|||
private void OnInterstitialLoadedEvent(string adunit, MaxSdkBase.AdInfo adInfo)
|
||||
{
|
||||
LoggerUtils.Debug("[Max] OnInterstitialLoadedEvent network: " + adInfo.NetworkName + " revenue: " + adInfo.Revenue + " NetworkPlacement: " + adInfo.NetworkPlacement + " AdUnitIdentifier: " + adInfo.AdUnitIdentifier + " Placement: " + adInfo.Placement);
|
||||
|
||||
AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Interstitial);
|
||||
_interAdInfo = adInfo;
|
||||
_interRetryAttempt = 0;
|
||||
}
|
||||
|
@ -266,7 +268,7 @@ namespace Script.SDKManager.AdsSDKManager.MaxAdsManager
|
|||
FireBaseAnalyticsManager.Instance.OnAdRevenueEvent(ClientName,
|
||||
adInfo.NetworkName,
|
||||
adInfo.AdUnitIdentifier,
|
||||
type.ToString(),
|
||||
type,
|
||||
adInfo.Revenue,
|
||||
type == AdsType.Rewarded ? _rvPos : "",
|
||||
AdPlayCountManager.GetAdPlayCount(type));
|
||||
|
|
|
@ -6,6 +6,7 @@ using AnyThinkAds.Api;
|
|||
using AnyThinkAds.ThirdParty.LitJson;
|
||||
using Script.Common;
|
||||
using Script.SDKManager.AdsSDKManager.Constant;
|
||||
using Script.SDKManager.AdsSDKManager.Events.AdsEvents;
|
||||
using Script.SDKManager.AdsSDKManager.Utils;
|
||||
using Script.Utils;
|
||||
using SDKManager.AdsSDKManager.Utils;
|
||||
|
@ -109,10 +110,12 @@ namespace Script.SDKManager.AdsSDKManager.TpnAdsManager
|
|||
if (erg.placementId.Equals(topon_interstitial_units))
|
||||
{
|
||||
LoggerUtils.Debug("[Tpn] ads tpn topon interstitial loaded");
|
||||
AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Interstitial);
|
||||
}
|
||||
else if (erg.placementId.Equals(topon_rewarded_units))
|
||||
{
|
||||
LoggerUtils.Debug("[Tpn] ads tpn topon rewarded loaded");
|
||||
AdsKeyEvents.Instance.LogAdFPUEvents(AdsType.Rewarded);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -232,7 +235,7 @@ namespace Script.SDKManager.AdsSDKManager.TpnAdsManager
|
|||
FireBaseAnalyticsManager.Instance.OnAdRevenueEvent(ClientName,
|
||||
ClientName + "_" + erg.callbackInfo.network_firm_id,
|
||||
erg.callbackInfo.adunit_id,
|
||||
erg.placementId.Equals(topon_rewarded_units) ? AdsType.Rewarded.ToString() : AdsType.Interstitial.ToString(),
|
||||
erg.placementId.Equals(topon_rewarded_units) ? AdsType.Rewarded : AdsType.Interstitial,
|
||||
erg.callbackInfo.publisher_revenue,
|
||||
erg.placementId.Equals(topon_rewarded_units) ? _rvPos : "",
|
||||
AdPlayCountManager.GetAdPlayCount(erg.placementId.Equals(topon_rewarded_units) ? AdsType.Rewarded : AdsType.Interstitial));
|
||||
|
|
|
@ -11,6 +11,39 @@ namespace Script.SDKManager.AdsSDKManager.Utils
|
|||
{
|
||||
private const string PLAY_COUNT_SUFFIX = "_PLAY_COUNT";
|
||||
|
||||
// 关键事件数据
|
||||
public static int GetKeyEventPlayCount(string key)
|
||||
{
|
||||
try
|
||||
{
|
||||
return PlayerPrefsUtils.GetPlayerPrefsInt(key, 0);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
public static void SetKeyEventPlayCount(string key, int count)
|
||||
{
|
||||
try
|
||||
{
|
||||
PlayerPrefsUtils.SavePlayerPrefsInt(key, count);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
LoggerUtils.Error($"设置广告播放次数失败: {ex.Message}");
|
||||
}
|
||||
}
|
||||
|
||||
public static void IncrementKeyEventPlayCount(string key)
|
||||
{
|
||||
int currentCount = GetKeyEventPlayCount(key);
|
||||
SetKeyEventPlayCount(key, currentCount + 1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static int GetAdPlayCount(AdsType adsType)
|
||||
{
|
||||
try
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
using Firebase.Analytics;
|
||||
using Newtonsoft.Json;
|
||||
using Script.Common;
|
||||
using Script.SDKManager.AdsSDKManager.Constant;
|
||||
using Script.SDKManager.AdsSDKManager.Events.AdsEvents;
|
||||
using Script.Utils;
|
||||
|
||||
/// <summary>
|
||||
|
@ -48,8 +50,8 @@ public class FireBaseAnalyticsManager : NormalSingleton<FireBaseAnalyticsManager
|
|||
{
|
||||
Firebase.Analytics.FirebaseAnalytics.SetUserProperty(name, property);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// FireBase收益上报
|
||||
/// </summary>
|
||||
|
@ -60,21 +62,22 @@ public class FireBaseAnalyticsManager : NormalSingleton<FireBaseAnalyticsManager
|
|||
/// <param name="revenue">单次展示收益</param>
|
||||
/// <param name="position">广告展示点位</param>
|
||||
/// <param name="number">第几次展示该格式的广告</param>
|
||||
public void OnAdRevenueEvent(string ad_platform, string ad_source, string ad_unit_name, string ad_format, double revenue, string position, int number)
|
||||
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),
|
||||
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("position", position),
|
||||
new Firebase.Analytics.Parameter("number", number),
|
||||
};
|
||||
|
||||
string name = GetName();
|
||||
Firebase.Analytics.FirebaseAnalytics.LogEvent(name, impressionParameters);
|
||||
AdsKeyEvents.Instance.LogAdCountEvents(ad_format, revenue);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -42,5 +42,13 @@ namespace Script.Utils
|
|||
PlayerPrefs.SetString(string.Format("{0}{1}", BXSdk_PREFIX, _key), _nValue);
|
||||
PlayerPrefs.Save();
|
||||
}
|
||||
|
||||
public static bool IfFirstCheckPlayerPrefs(string _key)
|
||||
{
|
||||
var isFirstClick = PlayerPrefs.GetInt(_key, 0) == 0;
|
||||
PlayerPrefs.SetInt(_key, 1);
|
||||
PlayerPrefs.Save();
|
||||
return isFirstClick;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue