0

我已经在我的 Android 应用程序(尚未发布)上集成了 UnityAds。我从服务器上的数据库中获取应用程序 ID 和放置 ID。App id 和placement id 是正确的,我已经复制并粘贴了大约30 次以确保这一点。因此,当我尝试在测试模式下获取广告时,它给了我 INVALID_ARGUMENT 错误。 是 Unity 对错误代码的解释,但您可以看到它有点通用。

我有一个简单地表示广告服务的对象(如 admob、FAN、inmobi 等)在这种情况下,该对象称为广告,这就是我使用 Unity 展示广告的方式:

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
        }
    });
}

有谁知道出了什么问题?提前致谢

4

1 回答 1

2

如果您仔细检查回调,onUnityAdsError 有 2 个参数,第一个提供错误代码,第二个参数提供有关出错的信息。

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

因此,只需检查原因,您就应该能够找出集成中出了什么问题。

于 2020-04-09T06:35:53.887 回答