国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Unity】接入Max廣告聚合SDK

這篇具有很好參考價值的文章主要介紹了【Unity】接入Max廣告聚合SDK。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

下載和導(dǎo)入MAX Unity插件:
官方SDK鏈接
在這里插入圖片描述
【Unity】接入Max廣告聚合SDK

2.初始化MAX SDK:

MaxSdkCallbacks.OnSdkInitializedEvent += (MaxSdkBase.SdkConfiguration sdkConfiguration) => {
    // AppLovin SDK is initialized, start loading ads
};

MaxSdk.SetSdkKey("YOUR_SDK_KEY_HERE");
MaxSdk.SetUserId("USER_ID");
MaxSdk.InitializeSdk();

3.配置廣告源
選擇所需要的廣告源。點install。ExternalDependencyManager會幫你根據(jù)選擇的廣告源下載對應(yīng)的SDK,可能需要掛vpn

【Unity】接入Max廣告聚合SDK
【Unity】接入Max廣告聚合SDK

4.在Unity應(yīng)用中加載廣告

激勵視頻有一下參考接口

	//加載激勵視頻
     MaxSdk.LoadRewardedAd(adUnitId); 

	//判斷是是否已經(jīng)加載激勵視頻
	MaxSdk.IsRewardedAdReady(adUnitId)

	//播放激勵視頻
	MaxSdk.ShowRewardedAd(adUnitId);

    //添加獎勵下發(fā)回調(diào)
     MaxSdkCallbacks.Rewarded.OnAdReceivedRewardEvent += OnRewardedAdReceivedRewardEvent;

其他類型的廣告接口可以看側(cè)邊欄的這里選擇
【Unity】接入Max廣告聚合SDK

給一份接入后的參考代碼:文章來源地址http://www.zghlxwxcb.cn/news/detail-476643.html

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using AppLovinMax;
using System;

/// <summary>
/// Max廣告聚合中間類
/// </summary>
public class MaxAdsUtil : AdsSDKBase
{
    /// <summary>
    /// Max SDK key
    /// </summary>
    string maxKey = SDKConstant.Max_sdk_key;
    /// <summary>
    /// 激勵視頻id
    /// </summary>
    string IdReward = SDKConstant.Max_reward_ads_key;
    /// <summary>
    /// 插屏視頻id
    /// </summary>
    string IdInterstitial = SDKConstant.Max_interstitial_ads_key;
    /// <summary>
    /// 橫幅視頻id
    /// </summary>
    string IdBannar = SDKConstant.Max_bannar_ads_key;

    /// <summary>
    /// 初始化
    /// </summary>
    public override void Init()
    {
        //base.Init();
        if (string.IsNullOrEmpty(maxKey))
        {
            Loger.Error("MAX SDK KEY is empty");
            return;
        }
        if (isInit)
        {
            Loger.Info("MAX SDK is Inited");
        }
        //起動回調(diào)
        MaxSdkCallbacks.OnSdkInitializedEvent += (MaxSdkBase.SdkConfiguration sdkConfiguration) =>
        {
            Loger.Info("MAX SDK Init!!!");
            InitializeRewardedAds();
            isInit = true;
        };

        string deviceId = SystemInfo.deviceUniqueIdentifier;
        MaxSdk.SetUserId(deviceId);
        MaxSdk.SetSdkKey(maxKey);
        MaxSdk.InitializeSdk();
    }

    public void ShowDebugView()
    {
        MaxSdk.ShowMediationDebugger();
    }


    #region ------------------ 激勵視頻 ------------------

    /// <summary>
    /// 激勵激勵已經(jīng)準(zhǔn)備
    /// </summary>
    /// <returns></returns>
    public override bool IsRewardReady()
    {
        if (string.IsNullOrEmpty(IdReward)) return false;
        return MaxSdk.IsRewardedAdReady(IdReward);
    }

    /// <summary>
    /// 播放激勵
    /// </summary>
    /// <param name="callBack"></param>
    public override void PlayRewardAds(Action<bool> callBack)
    {
        if (!IsRewardReady()) return;
        onPlayReward = callBack;
        MaxSdk.ShowRewardedAd(IdReward);
    }

    /// <summary>
    /// 激勵視頻重試請求次數(shù)
    /// </summary>
    int retryAttemptReward = 0;
    /// <summary>
    /// 激勵回調(diào)
    /// </summary>
    Action<bool> onPlayReward;

    /// <summary>
    /// 初始化激勵視頻
    /// </summary>
    public void InitializeRewardedAds()
    {
        // Attach callback
        MaxSdkCallbacks.Rewarded.OnAdLoadedEvent += OnRewardedAdLoadedEvent;
        MaxSdkCallbacks.Rewarded.OnAdLoadFailedEvent += OnRewardedAdLoadFailedEvent;
        MaxSdkCallbacks.Rewarded.OnAdHiddenEvent += OnRewardedAdHiddenEvent;
        MaxSdkCallbacks.Rewarded.OnAdDisplayFailedEvent += OnRewardedAdFailedToDisplayEvent;
        MaxSdkCallbacks.Rewarded.OnAdReceivedRewardEvent += OnRewardedAdReceivedRewardEvent;
        if (string.IsNullOrEmpty(IdReward))
        {
            Loger.Error("MAX SDK RewardId is empty");
        }
        // Load the first rewarded ad
        LoadRewardedAd();
    }

    /// <summary>
    /// 加載廣告
    /// </summary>
    private void LoadRewardedAd()
    {
        if (string.IsNullOrEmpty(IdReward)) return;
        MaxSdk.LoadRewardedAd(IdReward);

    }

    /// <summary>
    /// 廣告加載成功
    /// </summary>
    /// <param name="adUnitId"></param>
    /// <param name="adInfo"></param>
    private void OnRewardedAdLoadedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo)
    {

        retryAttemptReward = 0;
        Loger.Log($"Max SDK rewardAD ready :  id:{adInfo.AdUnitIdentifier}, channel:{adInfo.NetworkName}");
    }

    /// <summary>
    /// 廣告加載失敗
    /// </summary>
    /// <param name="adUnitId"></param>
    /// <param name="errorInfo"></param>
    private void OnRewardedAdLoadFailedEvent(string adUnitId, MaxSdkBase.ErrorInfo errorInfo)
    {
        retryAttemptReward++;
        float retryDelay = Math.Clamp(2 * retryAttemptReward, 0, 64);
        Loger.Info($"Max SDK rewardAD fail :{errorInfo.Code}  {errorInfo.Message}");
        TimerManager.runTimeOnce(retryDelay, LoadRewardedAd);

    }

    /// <summary>
    /// 廣告播放失敗
    /// </summary>
    /// <param name="adUnitId"></param>
    /// <param name="errorInfo"></param>
    /// <param name="adInfo"></param>
    private void OnRewardedAdFailedToDisplayEvent(string adUnitId, MaxSdkBase.ErrorInfo errorInfo, MaxSdkBase.AdInfo adInfo)
    {
        LoadRewardedAd();
        onPlayReward = null;
    }

    /// <summary>
    /// 廣告關(guān)閉
    /// </summary>
    /// <param name="adUnitId"></param>
    /// <param name="adInfo"></param>
    private void OnRewardedAdHiddenEvent(string adUnitId, MaxSdkBase.AdInfo adInfo)
    {
        LoadRewardedAd();
        onPlayReward = null;
    }

    /// <summary>
    /// 發(fā)放獎勵
    /// </summary>
    /// <param name="adUnitId"></param>
    /// <param name="reward"></param>
    /// <param name="adInfo"></param>
    private void OnRewardedAdReceivedRewardEvent(string adUnitId, MaxSdk.Reward reward, MaxSdkBase.AdInfo adInfo)
    {

        onPlayReward?.Invoke(true);
        onPlayReward = null;
        Loger.Log($"Max SDK rewardAD Revice :  id:{adInfo.AdUnitIdentifier}, channel:{adInfo.NetworkName}");
    }


    #endregion


    #region ------------------ 插屏視頻 ------------------
    /// <summary>
    /// 激勵激勵已經(jīng)準(zhǔn)備
    /// </summary>
    /// <returns></returns>
    public override bool IsInterstitialReady()
    {
        if (string.IsNullOrEmpty(IdInterstitial)) return false;
        return MaxSdk.IsInterstitialReady(IdInterstitial);
    }

    /// <summary>
    /// 播放激勵
    /// </summary>
    /// <param name="callBack"></param>
    public override void PlayInterstitialAds(Action<bool> callBack)
    {
        if (!IsInterstitialReady()) return;
        onPlayInterstitial = callBack;
        MaxSdk.ShowInterstitial(IdInterstitial);
    }

    /// <summary>
    /// 插屏視頻重試請求次數(shù)
    /// </summary>
    int retryAttemptInterstitial = 0;
    /// <summary>
    /// 插屏回調(diào)
    /// </summary>
    Action<bool> onPlayInterstitial;

    /// <summary>
    /// 初始化插屏
    /// </summary>
    public void InitializeInterstitialAds()
    {
        // Attach callback
        MaxSdkCallbacks.Interstitial.OnAdLoadedEvent += OnInterstitialLoadedEvent;
        MaxSdkCallbacks.Interstitial.OnAdLoadFailedEvent += OnInterstitialLoadFailedEvent;
        MaxSdkCallbacks.Interstitial.OnAdHiddenEvent += OnInterstitialHiddenEvent;
        MaxSdkCallbacks.Interstitial.OnAdDisplayFailedEvent += OnInterstitialAdFailedToDisplayEvent;
        if (string.IsNullOrEmpty(IdInterstitial))
        {
            Loger.Error("MAX SDK InterstitiaId is empty");
        }
        // Load the first interstitial
        LoadInterstitial();
    }

    /// <summary>
    /// 加載插屏廣告
    /// </summary>
    private void LoadInterstitial()
    {
        if (string.IsNullOrEmpty(IdInterstitial)) return;
        MaxSdk.LoadInterstitial(IdInterstitial);
    }
    /// <summary>
    /// 插屏廣告加載成功
    /// </summary>
    /// <param name="adUnitId"></param>
    /// <param name="adInfo"></param>
    private void OnInterstitialLoadedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo)
    {
        retryAttemptInterstitial = 0;
    }
    /// <summary>
    /// 插屏廣告加載失敗
    /// </summary>
    /// <param name="adUnitId"></param>
    /// <param name="errorInfo"></param>
    private void OnInterstitialLoadFailedEvent(string adUnitId, MaxSdkBase.ErrorInfo errorInfo)
    {
        retryAttemptInterstitial++;
        float retryDelay = Math.Clamp(2 * retryAttemptInterstitial, 0, 64);
        TimerManager.runTimeOnce(retryDelay, LoadInterstitial);
    }

    /// <summary>
    /// 插屏廣告顯示失敗
    /// </summary>
    /// <param name="adUnitId"></param>
    /// <param name="errorInfo"></param>
    /// <param name="adInfo"></param>
    private void OnInterstitialAdFailedToDisplayEvent(string adUnitId, MaxSdkBase.ErrorInfo errorInfo, MaxSdkBase.AdInfo adInfo)
    {
        LoadInterstitial();
        onPlayInterstitial = null;
    }

    /// <summary>
    /// 插屏廣告顯示關(guān)閉
    /// </summary>
    /// <param name="adUnitId"></param>
    /// <param name="adInfo"></param>
    private void OnInterstitialHiddenEvent(string adUnitId, MaxSdkBase.AdInfo adInfo)
    {
        LoadInterstitial();
        onPlayInterstitial?.Invoke(true);
        onPlayInterstitial = null;
    }

    #endregion

    #region ------------------ Bannar視頻 ------------------

    bool isBannarReady = false;
    public override void ShowBannarAds()
    {
        if (IsBannarReady())
            MaxSdk.ShowBanner(IdBannar);
    }

    public override void HideBannarAds()
    {
        MaxSdk.HideBanner(IdBannar);

    }

    /// <summary>
    /// 設(shè)置廣告位置
    /// </summary>
    /// <param name="pos"></param>
    public override void SetBannarPos(BannarPos pos = BannarPos.BottomCenter)
    {
        MaxSdkBase.BannerPosition enmuPos;
        switch (pos)
        {
            case BannarPos.TopCenter:
                enmuPos = MaxSdkBase.BannerPosition.TopCenter;break;
            case BannarPos.BottomCenter:
                enmuPos = MaxSdkBase.BannerPosition.BottomCenter;break;
            default:
                enmuPos = MaxSdkBase.BannerPosition.BottomCenter; break;
        }
        MaxSdk.UpdateBannerPosition(IdBannar, enmuPos);
    }

    public override bool IsBannarReady()
    {
        return isBannarReady;
    }

    public void InitializeBannerAds()
    {
        // Banners are automatically sized to 320×50 on phones and 728×90 on tablets
        // You may call the utility method MaxSdkUtils.isTablet() to help with view sizing adjustments
        MaxSdk.CreateBanner(IdBannar, MaxSdkBase.BannerPosition.BottomCenter);

        // Set background or background color for banners to be fully functional
        MaxSdk.SetBannerBackgroundColor(IdBannar, Color.white);
        
        MaxSdkCallbacks.Banner.OnAdLoadedEvent += OnBannerAdLoadedEvent;
        MaxSdkCallbacks.Banner.OnAdLoadFailedEvent += OnBannerAdLoadFailedEvent;
        MaxSdk.LoadBanner(IdBannar);
    }

    private void OnBannerAdLoadedEvent(string adUnitId, MaxSdkBase.AdInfo adInfo)
    {
        isBannarReady = true;
    }

    private void OnBannerAdLoadFailedEvent(string adUnitId, MaxSdkBase.ErrorInfo errorInfo)
    {
        isBannarReady = false;
        MaxSdk.LoadBanner(IdBannar);
    }


    #endregion
}

到了這里,關(guān)于【Unity】接入Max廣告聚合SDK的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Unity 導(dǎo)入spine插件

    Unity 導(dǎo)入spine插件

    1.首先去spine官網(wǎng)下載插件,地址是http://zh.esotericsoftware.com/spine-runtimes 2.選擇unitypackage 3.問美術(shù) 他們的spine版本號 選擇對應(yīng)版本 4.下載下來后 直接導(dǎo)入Unity,刪除案例文件夾。這樣插件就導(dǎo)入了 5.美術(shù)給的資源,一般是三個,你在Unity新建個文件夾直接拖入,這時候會報錯,說

    2024年02月02日
    瀏覽(24)
  • unity游戲,插入聚合廣告TopOn,優(yōu)量匯,穿山甲,groMore,快手等,隱私協(xié)議解決方案!(包括傳感器的使用目的和方式,還有Sdk使用Mac地址和軟件列表的目的)

    很久以前參考別的大佬的代碼,忘了來源,因為新游戲增加了一些東西,上架TapTap不合格,原因是少了傳感器的使用目的和方式,還有Sdk使用Mac地址和軟件列表的目的。 所以補充了傳感器和軟件列表。 只需要把這個代碼放到UNITY項目的Editor目錄,打包就有彈窗。

    2024年02月13日
    瀏覽(32)
  • 如何在vscode導(dǎo)入下載的插件安裝包

    如何在vscode導(dǎo)入下載的插件安裝包

    點擊vscode插件 -- 點擊3個點 -- 選擇從VSIX安裝 點擊更新報 Cannot update while running on a read-only volume. The application is on a read-only volume. Please move the application and try again. If you’re on macOS Sierra or later, you’ll need to move the application out of the Downloads directory. This might mean the application was put o

    2024年02月11日
    瀏覽(20)
  • 官網(wǎng)下載IDE插件并導(dǎo)入IDE

    官網(wǎng)下載IDE插件并導(dǎo)入IDE

    地址:https://plugins.jetbrains.com/plugin/21068-codearts-snap/versions 說明:本次演示以IDEA軟件為例 操作: 等待下載完成 點擊File-setting-Plugins 導(dǎo)入插件 找到剛剛下載的插件選擇導(dǎo)入 導(dǎo)入成功 IDE軟件不對應(yīng)就會出現(xiàn)下列錯誤,等待后續(xù)插件更新再使用或者,降低IDE版本

    2024年04月15日
    瀏覽(19)
  • 使用Blender的CATS插件把MMD模型轉(zhuǎn)為FBX,導(dǎo)入Unity

    使用Blender的CATS插件把MMD模型轉(zhuǎn)為FBX,導(dǎo)入Unity

    CATS插件 https://github.com/absolute-quantum/cats-blender-plugin 安裝到blender 我使用的是3.0版本 星穹鐵道,原神等游戲的官方會把模型放在模之屋供二創(chuàng)下載 模之屋 https://www.aplaybox.com/ 我這次下載的是三月七的模型 解壓縮后備用 按N選擇CATS 點ImportModel,選擇 三月七1.0.pmx 導(dǎo)入以后選sha

    2024年02月08日
    瀏覽(27)
  • 微信小程序激勵廣告接入指南:流量主開通與廣告位設(shè)置

    微信小程序激勵廣告接入指南:流量主開通與廣告位設(shè)置

    本文詳細介紹了如何在微信小程序中開通流量主并插入激勵廣告的具體步驟。從累計訪問數(shù)要求到廣告位創(chuàng)建,再到代碼實現(xiàn),一步步教您如何提高收益。

    2024年02月14日
    瀏覽(22)
  • Unity從0到放棄的學(xué)習(xí)之路day2——導(dǎo)入PMX模型,下載資源導(dǎo)入

    Unity從0到放棄的學(xué)習(xí)之路day2——導(dǎo)入PMX模型,下載資源導(dǎo)入

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?????????????????——倚東風(fēng),一笑嫣然,轉(zhuǎn)盼萬花羞落。 ? ? ? ? 什么!辛辛苦苦碼了許久竟然被吞了?。。?!又卑微的重新寫了一遍,!這未保存的內(nèi)容也太多了!放棄放棄!必

    2024年02月07日
    瀏覽(35)
  • CocosCreator接入微信流量主廣告

    CocosCreator接入微信流量主廣告

    本文介紹cocos creator接入微信流量主廣告主要流程,下方會附帶代碼。 微信小程序開通流量主要求: uv達1000人,沒有嚴(yán)重的違規(guī)記錄,賬戶最多綁定50個 滿足上面要求后,便可開通流量主 如果要是當(dāng)天滿足1000人,開通按鈕不會及時顯示,一般在24小時內(nèi)才會顯示 下面是我開

    2024年02月09日
    瀏覽(24)
  • 鯨鴻動能廣告接入如何高效變現(xiàn)流量?

    鯨鴻動能廣告接入如何高效變現(xiàn)流量?

    廣告是App開發(fā)者最常用的流量變現(xiàn)方法之一,當(dāng)App擁有一定數(shù)量用戶時,開發(fā)者就需要考慮如何進行流量變現(xiàn),幫助App實現(xiàn)商業(yè)可持續(xù)增長。 鯨鴻動能流量變現(xiàn)服務(wù)是廣告服務(wù)依托華為終端強大的平臺與數(shù)據(jù)能力為開發(fā)者提供的App流量變現(xiàn)服務(wù),開發(fā)者通過該服務(wù)可以在自己

    2024年02月03日
    瀏覽(13)
  • 無廣告 齊全 簡潔 免費的音樂開源軟件(支持 電腦max win linux 手機 )——lxMusic

    無廣告 齊全 簡潔 免費的音樂開源軟件(支持 電腦max win linux 手機 )——lxMusic

    話不多說先上效果 (真香) 下載地址 (官方) https://www.lanzoui.com/b0bf2cfa/ 密碼:glqw 軟件安裝包說明 文件名帶 win_ 或帶 Setup 的是在 Windows 系統(tǒng)上運行的版本; 其中以 Setup.exe 結(jié)尾的版本為安裝版,帶自動更新功能,可自動更新軟件(但若你所在網(wǎng)絡(luò)訪問 GitHub 較慢,則可能

    2024年02月12日
    瀏覽(18)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包