我试图在我的 Unity 游戏中实现 MediationTestSuite,但我得到了这个异常,因此看不到 MediationTestSuite
例外:
java.lang.IllegalStateException: setAdListener must be called on the main UI thread.
at lr.b(:com.google.android.gms.policy_ads_fdr_dynamite@21001000@21001000.272763194.272763194:1)
at com.google.android.gms.ads.nonagon.shim.f.a(:com.google.android.gms.policy_ads_fdr_dynamite@21001000@21001000.272763194.272763194:14)
at com.google.android.gms.ads.nonagon.shim.g.a(:com.google.android.gms.policy_ads_fdr_dynamite@21001000@21001000.272763194.272763194:4)
at com.google.android.gms.ads.internal.client.ap.a(:com.google.android.gms.policy_ads_fdr_dynamite@21001000@21001000.272763194.272763194:62)
at ff.onTransact(:com.google.android.gms.policy_ads_fdr_dynamite@21001000@21001000.272763194.272763194:4)
at android.os.Binder.transact(Binder.java:667)
我的代码是
public void OnButtonClick()
{
GoogleMobileAdsMediationTestSuite.Api.MediationTestSuite.Show();
}
绑定在场景中的单个按钮上。
我尝试通过调度此调用直接在 Update 方法中执行此操作,还尝试创建空的 Unity 项目并仅将 GoogleMobileAds-v4.1.0 + GoogleMobileAdsUnityAdsMediation + GoogleMobileAdsMediationTestSuite 添加到其中,所有这些都是直接从 Google 链接下载的。
我在这里遗漏了什么,还是仅仅是 MediationTestSuite 被窃听并在单独的线程中调用了一些 UI 内容?
它绝对不是AdMob Interstitial 的副本,并且必须在主 UI 线程上调用错误 isLoaded,因为它位于 Unity 中,并且我无权访问 MeditationTestSuite 库代码。