Google AdMob原生高级广告,谷歌admob广告项目靠谱吗Google AdMob原生高级广告原生高级广告展示UnifiedNativeAd加载原生广告时,Google移动广告SDK会调用相应广告格式的监听器。然后,就由您的应用负责展示广告了,尽管不一定要立即展示广告。为了更轻松地展示系统定义的广告格式,该SD......
原生高级广告
展示UnifiedNativeAd
加载原生广告时,Google移动广告SDK会调用相应广告格式的监听器。然后,就由您的应用负责展示广告了,尽管不一定要立即展示广告。为了更轻松地展示系统定义的广告格式,该SDK提供了一些实用资源,如下所述。
UnifiedNativeAdView类
对于UnifiedNativeAd格式,有对应的UnifiedNativeAdView类。该类是一个ViewGroup,发布商应将其用作UnifiedNativeAd的根。一个UnifiedNativeAdView对应于一个统一原生广告。凡是用于展示该广告素材资源的视图(例如,展示屏幕截图素材资源的ImageView),均应是UnifiedNativeAdView对象的子对象。
对于使用LinearLayout展示素材资源视图的统一原生广告,其视图层次结构可能如下所示:
下面这个示例创建了一个UnifiedNativeAdView,然后用UnifiedNativeAd填充该视图:
重要注意事项:请注意,对于指定的原生广告,应在UnifiedNativeAdView布局内呈现所有素材资源。当在原生广告视图布局外呈现原生广告素材资源时,Google移动广告SDK就会在日志中记录一条警告。
广告视图类还提供了注册每项素材资源所用视图时会用到的方法,并提供了一个用于注册NativeAd对象本身的方法。如果以这种方式注册视图,该SDK就可以自动处理诸如以下任务:
·记录点击次数
·记录展示次数(当第一个像素出现在屏幕上时)
·显示广告选择叠加层
广告选择叠加层
该SDK会向每个广告视图中添加一个广告选择叠加层。请在原生广告视图中任选您喜欢的一角留出空间,用于展示自动插入的广告选择徽标。此外,广告选择叠加层一定要显眼易见,因此请选择适当的背景颜色和图片。
广告标示
您必须展示广告标示,以指明该视图是广告。
代码示例
以下是展示统一原生广告的步骤:
创建UnifiedNativeAdView类的实例。
对于要展示的每个广告素材资源:
使用广告对象中的素材资源填充素材资源视图。
向ViewGroup类注册该素材资源视图。
如果您的原生广告布局包含大型媒体素材资源,请注册MediaView。
向ViewGroup类注册广告对象。
以下是一个展示UnifiedNativeAd的示例函数:
让我们来看看各项具体任务:
填充布局
在本示例中,我们要填充一个XML布局(该布局包含的视图用于展示统一原生广告),然后找到对UnifiedNativeAdView的引用。请注意,如果您的片段或活动中有现成的UnifiedNativeAdView,也可以重复使用它;您甚至可以在不使用布局文件的情况下动态创建一个实例。
填充和注册素材资源视图
下面的示例代码会找到用于显示标题的视图,使用广告对象所提供的字符串素材资源设置视图的文字,然后向UnifiedNativeAdView对象注册该视图:
对于应用要展示的由原生广告对象所提供的每项素材资源,都应为其重复上述过程,即找到相应视图、设置其值并向广告视图类注册它。
点击处理
重要注意事项:在原生广告视图之上或内部的任何视图上,请勿实现任何自定义点击处理程序。要自行观察点击事件,请使用广告监听器。
只要您按上一部分所述正确填充和注册了素材资源视图,该SDK就会处理广告视图素材资源获得的点击。
以下是一个使用广告监听器观察点击事件的示例:
注册MediaView
重要注意事项:如果您要在原生广告的布局中包含主图片素材资源,则需要使用MediaView素材资源,而不是ImageView素材资源。
MediaView是一个专门用于展示主媒体素材资源(视频或图片)的View。
MediaView可以在XML布局中定义,也可以动态构建。就像所有其他素材资源视图一样,它应该放在NativeAdView的视图层次结构中。对于使用MediaView的应用,必须向NativeAdView注册它,如下所示:
与所有素材资源视图一样,媒体视图也需要填充内容,这通过使用mediaContent属性来完成。UnifiedNativeAd的mediaContent属性包含可传递到MediaView的媒体内容。
以下代码段用于为媒体视图设置媒体内容:
设置ImageScaleType
MediaView类在显示图片时具有ImageScaleType属性。如果您想在MediaView中更改图片的缩放方式,请使用MediaView的setImageScaleType()方法设置相应的ImageView.ScaleType。
例如,要在图片显示时填充MediaView(广告中不包含视频),请使用以下代码:
GitHub示例
我们的GitHub代码库包含以Java和Kotlin编写的原生高级广告的完整实现方案。
下载原生高级广告示例
MediaContent
MediaContent类包含与原生广告的媒体内容相关的数据,媒体内容则通过MediaView类展示。使用MediaContent实例设置MediaView mediaContent属性时:
·如果广告有视频素材资源可用,则系统会对其进行缓冲,并开始在MediaView内播放。您可以通过检查hasVideoContent()来判断是否有视频素材资源可用。
·如果广告不包含视频素材资源,则会改为下载mainImage素材资源,并将其放置在MediaView内。
注意:默认情况下,mainImage是下载的第一个图片素材资源。如果使用了setReturnUrlsForImageAssets(true),则mainImage为null,您必须将mainImage属性设置为您手动下载的图片。请注意,仅在没有视频素材资源可用时,系统才会使用此图片。
注册原生广告对象
这是最后一步,也就是向负责显示原生广告对象的视图注册该对象:
原生视频广告
除了图片、文字和数字外,有些原生广告会包含视频素材资源。但不是每个广告都会包含视频素材资源,相关应用也并非一定要展示这些资源。
为了简化视频的配置和展示,Google移动广告SDK提供了与视频相关的以下类:
VideoOptions
通过VideoOptions类,您可以为应用配置原生视频素材资源的行为方式。VideoOptions对象应该分配给构建AdLoader时使用的NativeAdOptions对象:
VideoOptions.Builder类目前提供了setStartMuted()方法,用于指示该SDK是否应该在静音状态下开始播放视频素材资源。默认值为true。
VideoController
VideoController类用于获取有关视频素材资源的信息。通过调用getVideoController()方法,应用可以从UnifiedNativeAd对象获得对该控制器的引用:
即使广告中没有视频素材资源,此方法也会始终返回VideoController对象。
VideoController提供hasVideoContent()方法;如果广告中有视频素材资源,则该方法返回true,否则返回false。
应用也可以使用VideoController.VideoLifecycleCallbacks类,在视频素材资源生命周期内发生事件时接收通知:
销毁广告
当完成原生广告展示后,您应该将其销毁,以便系统正确地对广告进行垃圾回收处理。
特别声明:以上文章内容仅代表作者本人观点,不代表ESG跨境电商观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与ESG跨境电商联系。
二维码加载中...
使用微信扫一扫登录
使用账号密码登录
平台顾问
微信扫一扫
马上联系在线顾问
小程序
ESG跨境小程序
手机入驻更便捷
返回顶部