gpt4 book ai didi

c# - Xamarin.GooglePlayServices.Ads : how to add a bundle to the ad request

转载 作者:太空宇宙 更新时间:2023-11-03 22:44:40 25 4
gpt4 key购买 nike

考虑到我在 Xamarin.Android 项目中有一个 AdView:

private AdView _bannerAd;

我通常这样初始化它:

_bannerAd = new AdView(this)
{
AdSize = AdSize.SmartBanner,
AdUnitId = adUnitId,
Visibility = ViewStates.Visible
};

然后,当我加载横幅时,我必须构建请求。在这种情况下,我想添加一个额外的包,但是当我必须调用 requestbuilder.AddCustomEventExtrasBundle 时,我不知道将什么作为第一个参数。

var requestbuilder = new AdRequest.Builder();
var extras = new Bundle();
extras.PutString("npa", "1");
requestbuilder.AddCustomEventExtrasBundle(***, extras);
_bannerAd.LoadAd(requestbuilder.Build())

通过阅读方法定义,我真的不明白什么是“适配器类”。

[Register("addCustomEventExtrasBundle", "(Ljava/lang/Class;Landroid/os/Bundle;)Lcom/google/android/gms/ads/AdRequest$Builder;", "")]
public Builder AddCustomEventExtrasBundle(Class adapterClass, Bundle customEventExtras);

最佳答案

您需要传递自定义事件 (ICustomEventBanner) 的 Java 类(通过 Java.Lang.Class.FromType)。

就我而言,我有一个名为 SushiHangoverTextEventBanner 的广告,它已在 AdMob 中注册。

您需要实现 ICustomEventBanner,假设这是一个独立的对象(在我的例子中是),因为 AdMob 将实例化它,从 Java.Lang.Object 继承它> 因此 Xamarin 将为它创建 ACW(JNI/Java 包装器)。

public class SushiHangoverTextEventBanner : Java.Lang.Object, ICustomEventBanner
{
SushiHangoverTextAdView customAdView;

public void OnDestroy()
{
customAdView?.Dispose();
}

public void OnPause()
{
~~~
}

public void OnResume()
{
~~~
}

public void RequestBannerAd(Context context, ICustomEventBannerListener listener, string serverParameter, AdSize size, IMediationAdRequest mediationAdRequest, Bundle customEventExtras)
{
customAdView = new SushiHangoverTextAdView(context);
~~~
}
}

我还有一个自定义广告(SushiHangoverAdView,基于 TextView),在 ICustomEventBanner 实现中使用。

注册并实现 AdMob 回调后,您只需将其传递给 AdRequest.Builder:

using (var requestbuilder = new AdRequest.Builder())
{
var extras = new Bundle();
extras.PutString("npa", "1");
requestbuilder.AddCustomEventExtrasBundle(Java.Lang.Class.FromType(typeof(SushiHangoverTextEventBanner)), extras);
}

我帮助推荐通过 Admob 自定义事件示例:

关于c# - Xamarin.GooglePlayServices.Ads : how to add a bundle to the ad request,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50574297/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com