Commit aeeede9d authored by JiangWanZhi's avatar JiangWanZhi

添加一些广告上报

parent 6d396ae7
......@@ -301,15 +301,18 @@ public abstract class MaxSdkBase
public override string ToString()
{
return "[AdInfo adUnitIdentifier: " + AdUnitIdentifier +
", adFormat: " + AdFormat +
", networkName: " + NetworkName +
", networkPlacement: " + NetworkPlacement +
", creativeIdentifier: " + CreativeIdentifier +
", placement: " + Placement +
", revenue: " + Revenue +
", revenuePrecision: " + RevenuePrecision +
", dspName: " + DspName + "]";
string str = "{\"AdInfo_adUnitIdentifier\":" + "\"" + AdUnitIdentifier + "\"" +
", \"adFormat\":" + "\"" + AdFormat + "\"" +
",\"networkName\":" + "\"" + NetworkName + "\"" +
", \"networkPlacement\":" + "\"" + NetworkPlacement + "\"" +
", \"creativeIdentifier\":" + "\"" + CreativeIdentifier + "\"" +
", \"placement\":" + "\"" + Placement + "\"" +
", \"revenue\":" + "\"" + Revenue + "\"" +
", \"revenuePrecision\":" + "\"" + RevenuePrecision + "\"" +
", \"dspName\":" + "\"" + DspName + "\"}";
str = str.Replace("\t", "").Replace(" ", "");
return str;
}
}
......@@ -368,7 +371,7 @@ public abstract class MaxSdkBase
Credentials = MaxSdkUtils.GetDictionaryFromDictionary(networkResponseInfoDict, "credentials", new Dictionary<string, object>());
IsBidding = MaxSdkUtils.GetBoolFromDictionary(networkResponseInfoDict, "isBidding");
LatencyMillis = MaxSdkUtils.GetLongFromDictionary(networkResponseInfoDict, "latencyMillis");
AdLoadState = (MaxAdLoadState) MaxSdkUtils.GetIntFromDictionary(networkResponseInfoDict, "adLoadState");
AdLoadState = (MaxAdLoadState)MaxSdkUtils.GetIntFromDictionary(networkResponseInfoDict, "adLoadState");
var errorInfoDict = MaxSdkUtils.GetDictionaryFromDictionary(networkResponseInfoDict, "error");
Error = errorInfoDict != null ? new ErrorInfo(errorInfoDict) : null;
......@@ -430,9 +433,9 @@ public abstract class MaxSdkBase
public ErrorInfo(IDictionary<string, object> errorInfoDictionary)
{
Code = (ErrorCode) MaxSdkUtils.GetIntFromDictionary(errorInfoDictionary, "errorCode", -1);
Code = (ErrorCode)MaxSdkUtils.GetIntFromDictionary(errorInfoDictionary, "errorCode", -1);
Message = MaxSdkUtils.GetStringFromDictionary(errorInfoDictionary, "errorMessage", "");
MediatedNetworkErrorCode = MaxSdkUtils.GetIntFromDictionary(errorInfoDictionary, "mediatedNetworkErrorCode", (int) ErrorCode.Unspecified);
MediatedNetworkErrorCode = MaxSdkUtils.GetIntFromDictionary(errorInfoDictionary, "mediatedNetworkErrorCode", (int)ErrorCode.Unspecified);
MediatedNetworkErrorMessage = MaxSdkUtils.GetStringFromDictionary(errorInfoDictionary, "mediatedNetworkErrorMessage", "");
AdLoadFailureInfo = MaxSdkUtils.GetStringFromDictionary(errorInfoDictionary, "adLoadFailureInfo", "");
WaterfallInfo = new WaterfallInfo(MaxSdkUtils.GetDictionaryFromDictionary(errorInfoDictionary, "waterfallInfo", new Dictionary<string, object>()));
......
fileFormatVersion: 2
guid: dc946081c9eb4429a93aa00fc4119310
timeCreated: 1487543589
licenseType: Store
PluginImporter:
serializedVersion: 1
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
Android:
- first:
Android: Android
second:
enabled: 1
settings: {}
- first:
Any:
second:
enabled: 0
settings: {}
Editor:
- first:
Editor: Editor
second:
enabled: 0
settings:
DefaultValueInitialized: true
......
......@@ -12,7 +12,7 @@ PluginImporter:
validateReferences: 1
platformData:
- first:
'': Any
: Any
second:
enabled: 0
settings:
......
......@@ -257,7 +257,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &39056318
RectTransform:
m_ObjectHideFlags: 0
......@@ -948,6 +948,7 @@ MonoBehaviour:
bannersAD: {fileID: 377164657}
appOpenAd: {fileID: 377164659}
interstitialsAD: {fileID: 377164658}
MyGAID:
--- !u!114 &377164656
MonoBehaviour:
m_ObjectHideFlags: 0
......@@ -3548,6 +3549,50 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1643100473}
m_CullTransparentMesh: 1
--- !u!1 &1660833921
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1660833922}
- component: {fileID: 1660833923}
m_Layer: 0
m_Name: ReportEventManager
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &1660833922
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1660833921}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1740376050}
m_RootOrder: -1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1660833923
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1660833921}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7ff7646bc8116e347a059ba800519330, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1728218163
GameObject:
m_ObjectHideFlags: 0
......@@ -3653,6 +3698,7 @@ Transform:
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 377164654}
- {fileID: 1660833922}
m_Father: {fileID: 0}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
......@@ -4729,6 +4775,7 @@ MonoBehaviour:
nOtShow_OnRecorder:
- {fileID: 1885279593}
- {fileID: 1381064498}
ShareMp4_Path:
--- !u!1 &1983902529
GameObject:
m_ObjectHideFlags: 0
......
......@@ -2,6 +2,7 @@ using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using static MaxSdkBase;
public class AppOpenAd : MonoBehaviour
{
......@@ -13,26 +14,30 @@ public class AppOpenAd : MonoBehaviour
#endif
private bool iSLoading;
private MaxSdkBase.AdInfo CurAdInfo;
public void InitAppOpenAd()
{
MaxSdkCallbacks.AppOpen.OnAdHiddenEvent += OnAppOpenDismissedEvent;
MaxSdkCallbacks.AppOpen.OnAdLoadedEvent += OnAdLoadedEvent;
MaxSdkCallbacks.AppOpen.OnAdLoadFailedEvent += OnAdLoadFailedEvent;
LoadAd();
//LoadAd();
}
private void OnAdLoadFailedEvent(string arg1, MaxSdkBase.ErrorInfo info)
{
//Debug.Log($"11111 加载开屏广告失败:错误信息 {info.Message} 错误码:{info.Code}");
iSLoading = false;
ReportEventManager.Instance.ReportAdPullEvent(2, null, info);
}
private void OnAdLoadedEvent(string arg1, MaxSdkBase.AdInfo info)
private void OnAdLoadedEvent(string arg1, MaxSdkBase.AdInfo adInfo)
{
//Debug.Log($"11111 加载开屏完成");
iSLoading = false;
ShowAdIfReady();
ReportEventManager.Instance.ReportAdPullEvent(1, adInfo);
CurAdInfo = adInfo;
}
public void OnAppOpenDismissedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo)
......@@ -40,30 +45,33 @@ public class AppOpenAd : MonoBehaviour
//Debug.Log($"11111 开屏广告解散事件");
}
private void LoadAd()
public void LoadAd()
{
if (!MaxSdk.IsAppOpenAdReady(AppOpenAdUnitId))
{
iSLoading = true;
MaxSdk.LoadAppOpenAd(AppOpenAdUnitId);
ReportEventManager.Instance.ReportAdPullEvent(0, null);
}
//private void OnApplicationPause(bool pauseStatus)
//{
// if (!pauseStatus)
// {
// ShowAdIfReady();
// }
//}
}
public void ShowAdIfReady()
public bool ShowAdIfReady(string slot_name)
{
if (MaxSdk.IsAppOpenAdReady(AppOpenAdUnitId))
{
//Debug.Log($"11111 显示开屏广告");
ReportEventManager.Instance.ReportAdShowEvent(slot_name, CurAdInfo);
CurAdInfo = null;
MaxSdk.ShowAppOpenAd(AppOpenAdUnitId);
return true;
}
else
{
//Debug.Log($"11111 加载开屏广告");
LoadAd();
return false;
}
}
......
......@@ -17,6 +17,8 @@ string bannerAdUnitId => MaxSDKManager.Instance.IOSUnitId; // Retrieve the ID fr
private bool iSLoading;
private bool NeedSHowFlag;
private MaxSdkBase.AdInfo CurADInfo;
private string Cur_Slot_Name;
public void InitializeBannerAds()
{
......@@ -38,7 +40,7 @@ string bannerAdUnitId => MaxSDKManager.Instance.IOSUnitId; // Retrieve the ID fr
StrtAtuoRefresh();
//StopAutoRefresh();
Refresh();
//Refresh();
}
private void OnAdReviewCreativeIdGeneratedEvent(string arg1, string arg2, MaxSdkBase.AdInfo info)
......@@ -51,11 +53,12 @@ string bannerAdUnitId => MaxSDKManager.Instance.IOSUnitId; // Retrieve the ID fr
// Debug.Log($"11111 横幅广告加载完成事件");
isLoadOver = true;
iSLoading = false;
if (NeedSHowFlag)
{
ShowBanner();
}
//if (NeedSHowFlag)
//{
// ShowBanner();
//}
CurADInfo = adInfo;
ReportEventManager.Instance.ReportAdPullEvent (1, adInfo);
}
private void OnBannerAdLoadFailedEvent(string adUnitId, MaxSdkBase.ErrorInfo errorInfo)
......@@ -70,6 +73,8 @@ string bannerAdUnitId => MaxSDKManager.Instance.IOSUnitId; // Retrieve the ID fr
{
//Debug.Log($"11111 横幅广告点击事件 {adInfo}");
HidBanner();
ReportEventManager.Instance.ReportAdClickEvent(Cur_Slot_Name, adInfo);
}
private void OnBannerAdRevenuePaidEvent(string adUnitId, MaxSdkBase.AdInfo adInfo) //这个是横幅广告一显示就会回调这个
......@@ -113,24 +118,29 @@ string bannerAdUnitId => MaxSDKManager.Instance.IOSUnitId; // Retrieve the ID fr
LoadAd();
}
private void LoadAd()
public void LoadAd()
{
//Debug.Log($"11111 加载横幅广告");
iSLoading=true;
MaxSdk.LoadBanner(bannerAdUnitId);
ReportEventManager.Instance.ReportAdPullEvent(0, null);
}
public void ShowBanner()
public bool ShowBanner(string slot_name)
{
if (isLoadOver)
{
//Debug.Log($"11111 显示横幅广告");
NeedSHowFlag = false;
Cur_Slot_Name = slot_name;
ReportEventManager.Instance.ReportAdShowEvent(slot_name, CurADInfo);
MaxSdk.ShowBanner(bannerAdUnitId);
return true;
}
else
{
NeedSHowFlag = true;
LoadAd();
return false;
}
}
......
......@@ -10,11 +10,13 @@ public class InterstitialsAd : MonoBehaviour
#if UNITY_IOS
string adUnitId = MaxSDKManager.Instance.IOSUnitId;
#else // UNITY_ANDROID
string adUnitId = " 6f359b7aa380844b";
string InterstitialadUnitId = " 6f359b7aa380844b";
#endif
int retryAttempt;
private bool iSloading;
private MaxSdkBase.AdInfo CurAdInfo;
private string Cur_Slot_Name;
public void InitInterstitialsAd()
{
// Attach callback
......@@ -26,14 +28,10 @@ public class InterstitialsAd : MonoBehaviour
MaxSdkCallbacks.Interstitial.OnAdDisplayFailedEvent += OnInterstitialAdFailedToDisplayEvent;
// Load the first interstitial
LoadInterstitial();
}
private void LoadInterstitial()
{
iSloading = true;
MaxSdk.LoadInterstitial(adUnitId);
//LoadInterstitial();
}
private void OnInterstitialLoadedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo) //插播广告已准备就绪,可以播放。MaxSdk.IsInterstitialReady(adUnitId) 现在返回 "true"。
{
// Interstitial ad is ready for you to show. MaxSdk.IsInterstitialReady(adUnitId) now returns 'true'
......@@ -43,6 +41,9 @@ public class InterstitialsAd : MonoBehaviour
//Debug.Log($"11111 插播广告已准备就绪");
iSloading = false;
retryAttempt = 0;
ReportEventManager.Instance.ReportAdPullEvent(1, adInfo);
CurAdInfo= adInfo;
}
private void OnInterstitialLoadFailedEvent(string adUnitId, MaxSdkBase.ErrorInfo errorInfo) //插播广告加载失败
......@@ -74,6 +75,8 @@ public class InterstitialsAd : MonoBehaviour
private void OnInterstitialClickedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo) //这个是再观看途中点了查看详情,然后完了后,就回调这个,点了几次,就会调几次
{
//Debug.Log($"11111 插播广告点击事件");
ReportEventManager.Instance.ReportAdClickEvent(Cur_Slot_Name, adInfo);
}
private void OnInterstitialHiddenEvent(string adUnitId, MaxSdkBase.AdInfo adInfo) //这个是看了广告目标时间后回来的
......@@ -83,18 +86,30 @@ public class InterstitialsAd : MonoBehaviour
//Debug.Log($"11111 插播广告隐蔽事件");
LoadInterstitial();
}
public void ShowInterstitialAd()
public void LoadInterstitial()
{
if (!MaxSdk.IsInterstitialReady(InterstitialadUnitId))
{
iSloading = true;
MaxSdk.LoadInterstitial(InterstitialadUnitId);
ReportEventManager.Instance.ReportAdPullEvent(0,null);
}
}
public bool ShowInterstitialAd(string slot_name)
{
if (MaxSdk.IsInterstitialReady(adUnitId))
if (MaxSdk.IsInterstitialReady(InterstitialadUnitId))
{
//Debug.Log($"11111 显示插播广告");
MaxSdk.ShowInterstitial(adUnitId);
Cur_Slot_Name = slot_name;
ReportEventManager.Instance.ReportAdShowEvent(slot_name, CurAdInfo);
MaxSdk.ShowInterstitial(InterstitialadUnitId);
return true;
}
else
{
//Debug.Log($"11111 加载插播广告");
LoadInterstitial();
return false;
}
}
......@@ -103,7 +118,7 @@ public class InterstitialsAd : MonoBehaviour
{
if (adType == AdType.Interstitial)
return;
if (!MaxSdk.IsInterstitialReady(adUnitId) && !iSloading)
if (!MaxSdk.IsInterstitialReady(InterstitialadUnitId) && !iSloading)
{
LoadInterstitial();
}
......
......@@ -27,14 +27,15 @@ public class MaxSDKManager : MonoBehaviour
public AppOpenAd appOpenAd; //开屏广告
public InterstitialsAd interstitialsAD; //插页广告
public string MyGAID;
private void Awake()
{
instance = this;
}
private void Start()
{
string strAdvertisingID = GetAdvertisingID();
Debug.Log($"11111 我的GAID; {strAdvertisingID}");
MyGAID = GetAdvertisingID();
Debug.Log($"11111 我的GAID; {MyGAID}");
Debug.Log($"11111 SDK初始化");
MaxSdkCallbacks.OnSdkInitializedEvent += (MaxSdkBase.SdkConfiguration sdkConfiguration) =>
......@@ -46,6 +47,10 @@ public class MaxSDKManager : MonoBehaviour
bannersAD.InitializeBannerAds();
interstitialsAD.InitInterstitialsAd();
LoadAdByType(AdType.OpenApp,"");
LoadAdByType(AdType.Reward, "");
LoadAdByType(AdType.Banners, "");
LoadAdByType(AdType.Interstitial, "");
//MaxSdk.ShowMediationDebugger();
};
......@@ -53,7 +58,7 @@ public class MaxSDKManager : MonoBehaviour
MaxSdk.InitializeSdk();
}
public void ShowAdByType(AdType type)
public void ShowAdByType(AdType type,string slot_name)
{
CheckOtherAdState(type);
switch (type)
......@@ -61,22 +66,46 @@ public class MaxSDKManager : MonoBehaviour
case AdType.None:
break;
case AdType.OpenApp:
ShowOpenAPPAd();
ShowOpenAPPAd(slot_name);
break;
case AdType.Reward:
ShowARewardAD();
ShowARewardAD(slot_name);
break;
case AdType.Banners:
ShowBannersAD();
ShowBannersAD(slot_name);
break;
case AdType.Interstitial:
ShowInterstitialsAD();
ShowInterstitialsAD(slot_name);
break;
default:
break;
}
}
public void LoadAdByType(AdType type, string slot_name)
{
switch (type)
{
case AdType.None:
break;
case AdType.OpenApp:
appOpenAd.LoadAd();
break;
case AdType.Reward:
rewardedAd.LoadRewardedAd();
break;
case AdType.Banners:
bannersAD.LoadAd();
break;
case AdType.Interstitial:
interstitialsAD.LoadInterstitial();
break;
default:
break;
}
}
private void CheckOtherAdState(AdType type)
{
......@@ -87,29 +116,36 @@ public class MaxSDKManager : MonoBehaviour
}
private void ShowARewardAD()
private void ShowARewardAD(string slot_name)
{
rewardedAd.ShowRewardAd();
rewardedAd.ShowRewardAd(slot_name);
}
private void ShowBannersAD()
private void ShowBannersAD(string slot_name)
{
bannersAD.ShowBanner();
bannersAD.ShowBanner(slot_name);
}
private void ShowInterstitialsAD()
private void ShowInterstitialsAD(string slot_name)
{
interstitialsAD.ShowInterstitialAd();
interstitialsAD.ShowInterstitialAd(slot_name);
}
private void ShowOpenAPPAd()
private void ShowOpenAPPAd(string slot_name)
{
appOpenAd.ShowAdIfReady();
appOpenAd.ShowAdIfReady(slot_name);
}
public string GetAdvertisingID()
{
string _strAdvertisingID = "none";
string _strAdvertisingID = "";
try
{
......@@ -125,7 +161,7 @@ public class MaxSDKManager : MonoBehaviour
{
_strAdvertisingID = adInfo.Call<string>("getId");
if (string.IsNullOrEmpty(_strAdvertisingID))
_strAdvertisingID = "";
_strAdvertisingID = "";
}
}
}
......@@ -134,7 +170,7 @@ public class MaxSDKManager : MonoBehaviour
}
catch (System.Exception e)
{
_strAdvertisingID = "报错";
_strAdvertisingID = "";
}
......
......@@ -14,6 +14,9 @@ string adUnitId = >MaxSDKManager.Instance.IOSUnitId;
private bool isStartLoading;
MaxSdkBase.AdInfo CurAdInfo;
private string Cur_Slot_Name;
public void InitializeRewardedAds()
{
// Attach callback
......@@ -27,15 +30,8 @@ string adUnitId = >MaxSDKManager.Instance.IOSUnitId;
MaxSdkCallbacks.Rewarded.OnAdReceivedRewardEvent += OnRewardedAdReceivedRewardEvent;
// Load the first rewarded ad
LoadRewardedAd();
}
private void LoadRewardedAd()
{
isStartLoading = true;
MaxSdk.LoadRewardedAd(adUnitId);
//LoadRewardedAd();
}
private void OnRewardedAdLoadedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo) // 有奖广告已准备好供您展示。MaxSdk.IsRewardedAdReady(adUnitId) 现在返回 "true"。
{
// Rewarded ad is ready for you to show. MaxSdk.IsRewardedAdReady(adUnitId) now returns 'true'.
......@@ -44,6 +40,9 @@ string adUnitId = >MaxSDKManager.Instance.IOSUnitId;
//Debug.Log("11111 激励广告已经加载好了");
isStartLoading = false;
retryAttempt = 0;
CurAdInfo = adInfo;
ReportEventManager.Instance.ReportAdPullEvent(1, adInfo);
}
private void OnRewardedAdLoadFailedEvent(string adUnitId, MaxSdkBase.ErrorInfo errorInfo) //悬赏广告无法加载
......@@ -75,13 +74,14 @@ string adUnitId = >MaxSDKManager.Instance.IOSUnitId;
private void OnRewardedAdClickedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo)
{
//Debug.Log("11111 激励广告点击事件"); //这个是点击广告查看详情会回调,点了几次,调几次
ReportEventManager.Instance.ReportAdClickEvent(Cur_Slot_Name, adInfo);
}
private void OnRewardedAdHiddenEvent(string adUnitId, MaxSdkBase.AdInfo adInfo) //奖励广告已隐藏。预载下一个广告
{
// Rewarded ad is hidden. Pre-load the next ad
//Debug.Log("11111 奖励广告已隐藏。预载下一个广告");
LoadRewardedAd();
//LoadRewardedAd();
}
private void OnRewardedAdReceivedRewardEvent(string adUnitId, MaxSdk.Reward reward, MaxSdkBase.AdInfo adInfo) //显示奖励广告后,用户应收到奖励。
......@@ -99,17 +99,35 @@ string adUnitId = >MaxSDKManager.Instance.IOSUnitId;
}
public void ShowRewardAd()
public void LoadRewardedAd()
{
if (!MaxSdk.IsRewardedAdReady(adUnitId))
{
isStartLoading = true;
MaxSdk.LoadRewardedAd(adUnitId);
ReportEventManager.Instance.ReportAdPullEvent(0, null);
}
}
public bool ShowRewardAd(string slot_name)
{
if (MaxSdk.IsRewardedAdReady(adUnitId))
{
Cur_Slot_Name = slot_name;
ReportEventManager.Instance.ReportAdShowEvent(slot_name, CurAdInfo);
CurAdInfo = null;
MaxSdk.ShowRewardedAd(adUnitId);
return true;
}
else
{
LoadRewardedAd();
return false;
}
}
public void CheckAdState(AdType adType)
{
if (adType == AdType.Reward)
......
fileFormatVersion: 2
guid: 5e9c7cfdbbc7f7e45a14ba7e6ac7ceec
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using UnityEditor;
using UnityEngine;
using UnityEngine.Networking;
using static EventName;
using static Unity.VisualScripting.Member;
public class ReportEventManager : MonoBehaviour
{
private static ReportEventManager instance;
public static ReportEventManager Instance => instance;
public Dictionary<string, string> eventDesc = new Dictionary<string, string>();
public Dictionary<string, string> extDesc = new Dictionary<string, string>();
private void Awake()
{
instance = this;
}
public void ReportAdPullEvent(int state, MaxSdkBase.AdInfo adinfo, MaxSdkBase.ErrorInfo errorinfo = null) //0 开始拉取,1 成功 2失败
{
eventDesc.Clear();
extDesc.Clear();
InitDescData("guazinovel", "ad_pull");
extDesc.Add("state", state.ToString());
string ext_str = "";
if (errorinfo != null)
{
ext_str = GetAdErrorInfo_Json(extDesc, errorinfo);
}
else
{
ext_str = GetAdInfo_Json(extDesc, adinfo);
}
eventDesc.Add("ext", ext_str);
ReportData(eventDesc);
}
/// <summary>
///
/// </summary>
/// <param name="slot_name">通过什么方式显示的广告</param>
/// <param name="adinfo"></param>
public void ReportAdShowEvent(string slot_name, MaxSdkBase.AdInfo adinfo)
{
eventDesc.Clear();
extDesc.Clear();
InitDescData("guazinovel", "ad_show");
extDesc.Add("slot_name", slot_name);
var ext_str = GetAdInfo_Json(extDesc, adinfo);
eventDesc.Add("ext", ext_str);
ReportData(eventDesc);
}
public void ReportAdClickEvent(string slot_name, MaxSdkBase.AdInfo adinfo)
{
eventDesc.Clear();
extDesc.Clear();
InitDescData("guazinovel", "ad_click");
extDesc.Add("slot_name", slot_name);
var ext_str = GetAdInfo_Json(extDesc,adinfo);
eventDesc.Add("ext", ext_str);
ReportData(eventDesc);
}
private void InitDescData(string eventname, string actionname)
{
eventDesc.Add("event", eventname);
eventDesc.Add("action", actionname);
eventDesc.Add("time", GetTimeStr());
}
private string GetTimeStr()
{
TimeSpan ts = DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0);
return Convert.ToInt64(ts.TotalSeconds).ToString();
}
private void ReportData(Dictionary<string, string> eventDesc)
{
string str = DictionaryToJson(eventDesc);
StartReport(str);
}
private string DictionaryToJson(Dictionary<string, string> dic)
{
StringBuilder sb = new StringBuilder();
sb.Append("{");
if (dic != null)
{
int index = 0;
foreach (var item in dic)
{
string value = string.Empty;
value = item.Value;// UnityWebRequest.EscapeURL(item.Value);
if (index != 0)
{
sb.Append(",\"");
}
else
{
sb.Append("\"");
}
sb.Append(item.Key);
if (item.Key == "ext")
{
sb.Append("\":");
sb.Append(item.Value);
break;
}
sb.Append("\":\"");
sb.Append(value);
sb.Append("\"");
index++;
}
}
sb.Append("}");
string ret = sb.ToString();
return ret;
}
public void StartReport(string jsonstr)
{
StartCoroutine(ReportEvent(jsonstr));
}
IEnumerator ReportEvent(string str)
{
yield return null;
Debug.Log($"11111 上报的数据是:{str}");
string str_null = "";
string pkg = Application.identifier;
int width = Screen.width;
int height = Screen.height;
string model = SystemInfo.deviceModel; //手机型号
string build = model.Split(' ')[0]; //手机厂商
string androidVersion = GetAndroidVersion();
string androidid = SystemInfo.deviceUniqueIdentifier; //安卓唯一id
string ntt = GetNetType(); //网络类型
string gaid = MaxSDKManager.Instance.MyGAID;
string token = "";
string uid = "";
string User_agent = "";
string platform = "android"; //这个是平台,现在是默认安卓
string versioncode = PlayerSettings.Android.bundleVersionCode.ToString();
string source = "Google-Play"; //渠道标识
string jsondata = str;
var url = "https://fs.superapplib.xyz/logCollection/log/v1/userLogCollection";
url = $"{url}?{pkg}_1={width}&{pkg}_2={height}&{pkg}_3={model}&{pkg}_4={build}&{pkg}_5={androidVersion}&{pkg}_6={ntt}&{pkg}_7={token}&{pkg}_8={Application.version}&{pkg}_9={androidid}&{pkg}_10={gaid}&{pkg}_11={User_agent}&{pkg}_12={uid}&" +
$"{pkg}_13={platform}&{pkg}_14={versioncode}&{pkg}_15={source}&{pkg}_16={str_null}&{pkg}_17={str_null}&{pkg}_18={str_null}&{pkg}_19={str_null}&{pkg}_20={str_null}&{pkg}_21={str_null}&{pkg}_22={gaid}&pkg=com.color.by.number.anime&module=web";
byte[] databyte = Encoding.UTF8.GetBytes(jsondata);
var _request = new UnityWebRequest(url, UnityWebRequest.kHttpVerbPOST);
_request.uploadHandler = new UploadHandlerRaw(databyte);
_request.downloadHandler = new DownloadHandlerBuffer();
_request.SetRequestHeader("Content-Type", "application/json;charset=utf-8");
yield return _request.SendWebRequest();
if (_request.result == UnityWebRequest.Result.ProtocolError)
{
Debug.LogError("11111 error:" +_request.error);
}
else
{
Debug.Log("11111 download:" +_request.downloadHandler.text);
}
}
private string GetNetType()
{
string str = "";
switch (Application.internetReachability)
{
case NetworkReachability.NotReachable:
break;
case NetworkReachability.ReachableViaCarrierDataNetwork:
str = "2g、3g、4g";
break;
case NetworkReachability.ReachableViaLocalAreaNetwork:
str = "WIFI";
break;
default:
break;
}
return str;
}
private string GetAndroidVersion()
{
#if UNITY_EDITOR
return "13";
#endif
AndroidJavaClass build = new AndroidJavaClass("android.os.Build$VERSION");
string version = build.GetStatic<string>("RELEASE");
return version;
}
private string GetAdInfo_Json(Dictionary<string, string> keys, MaxSdkBase.AdInfo adInfo)
{
if (adInfo == null)
return DictionaryToJson(keys);
keys.Add("AdInfo_adUnitIdentifier", adInfo.AdUnitIdentifier.Replace("\t", ""));
keys.Add("adFormat", adInfo.AdFormat);
keys.Add("networkName", adInfo.NetworkName);
keys.Add("networkPlacement", adInfo.NetworkPlacement);
keys.Add("creativeIdentifier", adInfo.CreativeIdentifier);
keys.Add("placement", adInfo.Placement);
keys.Add("revenue", adInfo.Revenue.ToString());
keys.Add("revenuePrecision", adInfo.RevenuePrecision);
keys.Add("dspName", adInfo.DspName);
return DictionaryToJson(keys);
}
private string GetAdErrorInfo_Json(Dictionary<string, string> keys, MaxSdkBase.ErrorInfo errorinfo)
{
keys.Add("Error_Code", errorinfo.Code.ToString());
keys.Add("Error_Message", errorinfo.Message);
return DictionaryToJson(keys);
}
}
fileFormatVersion: 2
guid: 7ff7646bc8116e347a059ba800519330
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
......@@ -3,7 +3,9 @@ using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Device;
using UnityEngine.UI;
using SystemInfo = UnityEngine.SystemInfo;
public class GameEndPanel : MonoBehaviour
{
......@@ -201,24 +203,37 @@ public class GameEndPanel : MonoBehaviour
public void TestRewardAd()
{
//Debug.Log("11111 点击测试显示激励广告按钮");
MaxSDKManager.Instance.ShowAdByType(AdType.Reward);
MaxSDKManager.Instance.ShowAdByType(AdType.Reward,"点击测试奖励广告按钮");
}
public void TestBannerAd()
{
//Debug.Log("11111 点击测试显示横幅广告按钮");
MaxSDKManager.Instance.ShowAdByType(AdType.Banners);
MaxSDKManager.Instance.ShowAdByType(AdType.Banners,"点击测试显示横幅广告按钮");
}
public void TestInterstitialsAD()
{
// Debug.Log("11111 点击测试显示插播广告按钮");
MaxSDKManager.Instance.ShowAdByType(AdType.Interstitial);
MaxSDKManager.Instance.ShowAdByType(AdType.Interstitial,"点击测试插播广告按钮");
}
string[] texts=new string[6];
public void TestOpenAppAD()
{
//Debug.Log("11111 点击测试显示开屏广告按钮");
MaxSDKManager.Instance.ShowAdByType(AdType.OpenApp);
MaxSDKManager.Instance.ShowAdByType(AdType.OpenApp,"点击测试显示开屏广告按钮");
texts[0] = "设备模型:" + SystemInfo.deviceModel;
texts[1] = "设备名称:" + SystemInfo.deviceName;
texts[2] = "设备类型:" + SystemInfo.deviceType;
texts[3] = "设备唯一标识符:" + SystemInfo.deviceUniqueIdentifier;
texts[4] = "操作系统:" + SystemInfo.operatingSystem;
foreach (var item in texts)
{
Debug.Log($"11111 {item}");
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment