您现在的位置是:首页 >其他 >ApplovinMax接入Unity网站首页其他

ApplovinMax接入Unity

最右上下川 2025-03-27 12:01:01
简介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}");
    }

这里的绑定事件,在初始化后的回调绑定即可。

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。