1
我嘗試在我的Xamarin項目中使用AdMob。我的目標是在我的應用中顯示獎勵視頻。我遇到了無法解決的問題,並希望與您分享。下面是我的環境:Xamarin Admob RewardedVideoAd代碼錯誤0&3
- Xamarin v4.0.1.96
- Xamarin的Android v6.0.1.10
- Xamarin.GooglePlayServices.Ads v27.0.0
我總是在執行項目一個真實的設備。如果問題來自調試環境,我已經在商店上發佈了應用程序,並且遇到了與本地相同的問題。
using System;
using Android.OS;
using Android.Views;
using Android.Gms.Ads;
public class ReloadCreditActivity : AppCompatActivityBase, IRewardedVideoAdListener
{
public IRewardedVideoAd RewardedVideoAd { get; set; }
public Button DisplayVideoButton { get; set; }
private static string AD_UNIT_ID = "ca-app-pub-XXXXXXXXXXXXXX25/XXXXXXXX99";
private bool _isRewardedVideoLoading;
private static object _lock = new object();
protected IRewardedVideoAd _rewardedVideoAd;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.ReloadCreditLayout);
DisplayVideoButton = FindViewById<Button>(Resource.Id.tabCreditFreemieum_DisplayVideo);
RewardedVideoAd = MobileAds.GetRewardedVideoAdInstance(this);
RewardedVideoAd.RewardedVideoAdListener = this;
LoadRewardedVideoAd();
DisplayVideoButton.Click += (o, e) =>
{
ShowRewardedVideo();
};
}
public void LoadRewardedVideoAd()
{
lock (_lock)
{
if (!_isRewardedVideoLoading && !RewardedVideoAd.IsLoaded)
{
_isRewardedVideoLoading = true;
Bundle extras = new Bundle();
extras.PutBoolean("_noRefresh", true);
var adMobAdapter = new AdMobAdapter();
AdRequest adRequest = new AdRequest.Builder()
//.AddTestDevice(AdRequest.DeviceIdEmulator)
//.AddTestDevice("FE5692B3DAD1B4CE3BE3BDA2FF4B6103")
//.AddNetworkExtrasBundle(adMobAdapter.Class, extras)
.Build();
RewardedVideoAd.UserId = "pub-74XXXXXXXXXXXXXX";
RewardedVideoAd.LoadAd(AD_UNIT_ID, adRequest);
}
}
}
public void ShowRewardedVideo()
{
if (RewardedVideoAd.IsLoaded)
{
RewardedVideoAd.Show();
}
}
public void OnRewarded(IRewardItem reward)
{
Toast.MakeText(this, string.Format("OnRewarded ! currency: {0} amount: {1}", reward.GetType(), reward.Amount), ToastLength.Short).Show();
}
public void OnRewardedVideoAdClosed()
{
Toast.MakeText(this, "OnRewardedVideoAdClosed", ToastLength.Short).Show();
LoadRewardedVideoAd();
}
public void OnRewardedVideoAdFailedToLoad(int errorCode)
{
lock (_lock)
{
_isRewardedVideoLoading = false;
}
Toast.MakeText(this, "OnRewardedVideoAdFailedToLoad Code error : " + errorCode, ToastLength.Short).Show();
}
public void OnRewardedVideoAdLeftApplication()
{
Toast.MakeText(this, "OnRewardedVideoAdLeftApplication", ToastLength.Short).Show();
}
public void OnRewardedVideoAdLoaded()
{
lock (_lock)
{
_isRewardedVideoLoading = false;
}
Toast.MakeText(this, "OnRewardedVideoAdLoaded", ToastLength.Short).Show();
}
public void OnRewardedVideoAdOpened()
{
Toast.MakeText(this, "OnRewardedVideoAdOpened", ToastLength.Short).Show();
}
public void OnRewardedVideoStarted()
{
Toast.MakeText(this, "OnRewardedVideoStarted", ToastLength.Short).Show();
}
}
當我瀏覽此頁面時,應用程序始終會引發OnRewardedVideoAdFailedToLoad()回調。我用來獲取錯誤代碼0,但目前我得到了錯誤代碼3
我檢查Android設備記錄錯誤
05-10 11:45:31.600 I/Ads (14764): Starting ad request.
05-10 11:45:31.600 I/Ads (14764): Use AdRequest.Builder.addTestDevice("FE5692B3DAD1B4CE3BE3BDA2FF4B6103") to get test ads on this device.
...
05-10 11:45:31.910 W/Ads (14764): Could not instantiate mediation adapter: com.jirbo.adcolony.AdColonyAdapter. com.jirbo.adcolony.AdColonyAdapter
05-10 11:45:31.910 W/Ads (14764): Fail to instantiate adapter com.jirbo.adcolony.AdColonyAdapter
05-10 11:45:31.910 W/Ads (14764): android.os.RemoteException
05-10 11:45:31.910 W/Ads (14764): at com.google.android.gms.internal.zzel.zzag(Unknown Source)
05-10 11:45:31.910 W/Ads (14764): at com.google.android.gms.internal.zzel.zzae(Unknown Source)
05-10 11:45:31.910 W/Ads (14764): at com.google.android.gms.internal.zzem$zza.onTransact(Unknown Source)
...
05-10 11:45:31.910 W/Ads (14764): Could not instantiate mediation adapter: com.fuse.mediation.FuseAdapter. com.fuse.mediation.FuseAdapter
05-10 11:45:31.910 W/Ads (14764): Fail to instantiate adapter com.fuse.mediation.FuseAdapter
05-10 11:45:31.910 W/Ads (14764): android.os.RemoteException
05-10 11:45:31.910 W/Ads (14764): at com.google.android.gms.internal.zzel.zzag(Unknown Source)
05-10 11:45:31.910 W/Ads (14764): at com.google.android.gms.internal.zzel.zzae(Unknown Source)
...
05-10 11:45:31.910 W/Ads (14764): Could not instantiate mediation adapter: com.google.ads.mediation.chartboost.ChartboostAdapter. com.google.ads.mediation.chartboost.ChartboostAdapter
05-10 11:45:31.910 W/Ads (14764): Fail to instantiate adapter com.google.ads.mediation.chartboost.ChartboostAdapter
05-10 11:45:31.910 W/Ads (14764): android.os.RemoteException
05-10 11:45:31.910 W/Ads (14764): at com.google.android.gms.internal.zzel.zzag(Unknown Source)
05-10 11:45:31.910 W/Ads (14764): at com.google.android.gms.internal.zzel.zzae(Unknown Source)
...
05-10 11:45:31.920 W/Ads (14764): Could not instantiate mediation adapter: com.google.ads.mediation.unity.UnityAdapter. com.google.ads.mediation.unity.UnityAdapter
05-10 11:45:31.920 W/Ads (14764): Fail to instantiate adapter com.google.ads.mediation.unity.UnityAdapter
05-10 11:45:31.920 W/Ads (14764): android.os.RemoteException
05-10 11:45:31.920 W/Ads (14764): at com.google.android.gms.internal.zzel.zzag(Unknown Source)
05-10 11:45:31.920 W/Ads (14764): at com.google.android.gms.internal.zzel.zzae(Unknown Source)
...
05-10 11:45:31.920 W/Ads (14764): Could not instantiate mediation adapter: com.vungle.mediation.VungleAdapter. com.vungle.mediation.VungleAdapter
05-10 11:45:31.920 W/Ads (14764): Fail to instantiate adapter com.vungle.mediation.VungleAdapter
05-10 11:45:31.920 W/Ads (14764): android.os.RemoteException
05-10 11:45:31.920 W/Ads (14764): at com.google.android.gms.internal.zzel.zzag(Unknown Source)
05-10 11:45:31.920 W/Ads (14764): at com.google.android.gms.internal.zzel.zzae(Unknown Source)
...
05-10 11:45:31.920 W/Ads (14764): Failed to load ad: 3
我告訴自己,也許這是我的AdMob配置有問題廣告客戶,所以這裏是我的設置:
也許我做錯了廣告客戶的設置,所以這裏是我的廣告客戶。
請給我您的反饋意見。 非常感謝。
沒有人有留言? – user1842258