簡體   English   中英

Unity 廣告返回 INVALID_ARGUMENT

[英]Unity ads returns INVALID_ARGUMENT

我已經在我的 Android 應用程序(尚未發布)上集成了 UnityAds。 我從服務器上的數據庫中獲取應用程序 ID 和放置 ID。 App id 和placement id 是正確的,我已經復制並粘貼了大約30 次以確保這一點。 因此,當我嘗試在測試模式下獲取廣告時,它給了我 INVALID_ARGUMENT 錯誤。 是 Unity 對錯誤代碼的解釋,但您可以看到它有點通用。

我有一個 object,它僅代表一個廣告服務(如 admob、FAN、inmobi 等)在這種情況下,object 被稱為廣告,這里是如何展示廣告:

protected void showUnity(){
    UnityAds.initialize(this, advert.getApiKey(), true); //advert.getApiKey() returns the app id
    UnityAds.addListener(new IUnityAdsListener() {
        @Override
        public void onUnityAdsReady(String s) {
            Log.i(TAG, "onUnityAdsReady "+s);
            if(s.equals(advert.getUnitId()) && !unityReady)
                UnityAds.show(ActivityAd.this, advert.getUnitId()); //advert.getUnitId() returns the placement id
        }

        @Override
        public void onUnityAdsStart(String s) {
            Log.i(TAG, "onUnityAdsStart "+s);
            unityReady = true;
        }

        @Override
        public void onUnityAdsFinish(String s, UnityAds.FinishState finishState) {
            if (finishState.compareTo(UnityAds.FinishState.COMPLETED) == 0) {
                onAdReward(); //my callback for reward
            } else if (finishState.compareTo(UnityAds.FinishState.SKIPPED) == 0) {
                onAdClosed(); //my callback for ad close
            } else if (finishState.compareTo(UnityAds.FinishState.ERROR) == 0) {
                onAdError(finishState.toString()); //my callback for errors
            }
        }

        @Override
        public void onUnityAdsError(UnityAds.UnityAdsError unityAdsError, String s) {
            onAdError(unityAdsError.toString()); //my callback for errors, here results INVALID_ARGUMENT error
        }
    });
}

有誰知道出了什么問題? 提前致謝

如果您仔細檢查回調,onUnityAdsError 有 2 個參數,第一個提供錯誤代碼,第二個參數提供有關出錯的信息。

@Override
public void onUnityAdsError(UnityAds.UnityAdsError unityAdsError, String reason) {
     onAdError(unityAdsError.toString()); //my callback for errors, here results INVALID_ARGUMENT error
}

因此,只需檢查原因,您就應該能夠找出集成中出了什么問題。

這里有一些方法可以用來解決這個 INVALID_ARGUMENT 問題

1.確保你在你的應用中實現了正確的初始化代碼。 有兩種類型的初始化。

  1. 僅 Unity 廣告初始化
  2. 中介初始化

這兩種方法都有自己的橫幅、插頁式和獎勵廣告代碼。

2.確保啟用測試模式為 Boolean。 (即:私有 Boolean testMode = true;)(確保在商店發布之前做假)

3.您可以將您的手機添加為測試設備,以便在您的手機上強制獲取測試廣告。 為此,您必須先復制設備的廣告 ID。 為此,go 到您的移動設置 > Google > 廣告 > 此設備的廣告 ID。 將該 ID 和 go 復制到統一儀表板 > 貨幣化 > 測試 > 添加測試設備。 在此處添加您的設備廣告 ID 並使用任何名稱,現在您將能夠在設備上看到測試廣告。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM