您现在的位置是:首页 >其他 >ApplovinMax接入Unity网站首页其他
ApplovinMax接入Unity
简介ApplovinMax接入Unity
1.下载插件集成 | SDK 集成指南 | MAX | Support Center | AppLovin
这里尽可能选择插件的形式下载,不要让UnityPackageManager来进行插件的管理,因为如果有多个Sdk的话ExternalDependencyManager的使用版本不一致,UnityPackageManager会报错。
2.设置插件
在这里下载安装你所需要的渠道插件
这里完成你的个性化设置,在SdkSettings里面填入你的Key,如果你需要显示隐私协议,你可以把PrivacySettings里面的Enable勾选,并且填入你的个人与团队隐私设置。
3.打包设置
这里踩了个大坑,ios的包打不出来,报错。
ExternalDependencyManager的ios的勾选设置,这里为什么要这样勾选,我还是不太清楚,好像是相关于静态链接库。(还是要学)
4.代码初始化
// 激励广告位
#if UNITY_IPHONE
private string _rewardAdUnitId = ""; // ios
private string _interstitialAdUnitId = ""; // ios
#else
private string _rewardAdUnitId = ""; //android
private string _interstitialAdUnitId = "";//android
#endif
private string[] _adUnitId;
private string _sdkKey = "";
public void InitSDK()
{
_adUnitId = new[] { _rewardAdUnitId, _interstitialAdUnitId };
MaxSdkCallbacks.OnSdkInitializedEvent += (MaxSdkBase.SdkConfiguration sdkConfiguration) =>
{
// SDK 初始化成功后的逻辑
isInit = true;
RegisterEventHandlers();
MaxSdk.SetVerboseLogging(true);
};
MaxSdk.SetSdkKey(_sdkKey);
MaxSdk.InitializeSdk(_adUnitId);
}
public void PreLoadAd()
{
MaxSdk.LoadInterstitial(_interstitialAdUnitId);
MaxSdk.LoadRewardedAd(_rewardAdUnitId);
}
public void DisplayAd(string adSpaceId)
{
if (MaxSdk.IsRewardedAdReady(_rewardAdUnitId))
{
MaxSdk.ShowRewardedAd(_rewardAdUnitId);
}
else
{
PreLoadAd();
}
}
这里只需要先初始化,后加载,在进行播放即可。
绑定事件
private void RegisterEventHandlers()
{
// 注册插屏广告回调
MaxSdkCallbacks.Interstitial.OnAdLoadedEvent += OnInterstitialAdLoadedEvent;
MaxSdkCallbacks.Interstitial.OnAdLoadFailedEvent += OnInterstitialAdLoadFailedEvent;
MaxSdkCallbacks.Interstitial.OnAdRevenuePaidEvent += OnInterstitialAdRevenuePaidEvent;
MaxSdkCallbacks.Interstitial.OnAdClickedEvent += OnInterstitialAdClickedEvent;
MaxSdkCallbacks.Interstitial.OnAdDisplayedEvent += OnInterstitialAdDisplayedEvent;
MaxSdkCallbacks.Interstitial.OnAdHiddenEvent += OnInterstitialAdHiddenEvent;
MaxSdkCallbacks.Interstitial.OnAdDisplayFailedEvent += OnInterstitialAdFailedToDisplayEvent;
}
private void OnInterstitialAdLoadedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo)
{
XDebug.LogInfo($"Interstitial ad loaded. Network: {adInfo.NetworkName}, Revenue: {adInfo.Revenue}");
}
// 处理插屏广告加载失败
private void OnInterstitialAdLoadFailedEvent(string adUnitId, MaxSdkBase.ErrorInfo errorInfo)
{
Debug.LogWarning($"Interstitial ad failed to load. AdUnitId: {adUnitId}, Error Code: {errorInfo.Code}, Message: {errorInfo.Message}");
}
// 处理插屏广告收入回调
private void OnInterstitialAdRevenuePaidEvent(string adUnitId, MaxSdkBase.AdInfo adInfo)
{
Debug.Log($"MAX Interstitial Ad Revenue Paid:");
}
// 处理插屏广告点击
private void OnInterstitialAdClickedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo)
{
Debug.Log("Interstitial ad was clicked.");
}
// 处理插屏广告展示
private void OnInterstitialAdDisplayedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo)
{
Debug.Log("Interstitial ad full screen content opened.");
}
// 处理插屏广告关闭
private void OnInterstitialAdHiddenEvent(string adUnitId, MaxSdkBase.AdInfo adInfo)
{
Debug.Log("Interstitial ad full screen content closed.");
}
// 处理插屏广告展示失败
private void OnInterstitialAdFailedToDisplayEvent(string adUnitId, MaxSdkBase.ErrorInfo errorInfo, MaxSdkBase.AdInfo adInfo)
{
Debug.LogWarning($"MAX Interstitial Ad Failed to Display: {errorInfo.Message}");
}
这里的绑定事件,在初始化后的回调绑定即可。
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。