快出海  > Google Admob  >  Google AdMob原生高级广告

Google AdMob原生高级广告

作者:Google Developers
时间:2021-02-19

原生高级广告

展示UnifiedNativeAd

加载原生广告时,Google移动广告SDK会调用相应广告格式的监听器。然后,就由您的应用负责展示广告了,尽管不一定要立即展示广告。为了更轻松地展示系统定义的广告格式,该SDK提供了一些实用资源,如下所述。

UnifiedNativeAdView类

对于UnifiedNativeAd格式,有对应的UnifiedNativeAdView类。该类是一个ViewGroup,发布商应将其用作UnifiedNativeAd的根。一个UnifiedNativeAdView对应于一个统一原生广告。凡是用于展示该广告素材资源的视图(例如,展示屏幕截图素材资源的ImageView),均应是UnifiedNativeAdView对象的子对象。

对于使用LinearLayout展示素材资源视图的统一原生广告,其视图层次结构可能如下所示:

1613720828(1).png

下面这个示例创建了一个UnifiedNativeAdView,然后用UnifiedNativeAd填充该视图:

1613720908(1).png

1613720932(1).png

重要注意事项:请注意,对于指定的原生广告,应在UnifiedNativeAdView布局内呈现所有素材资源。当在原生广告视图布局外呈现原生广告素材资源时,Google移动广告SDK就会在日志中记录一条警告。

广告视图类还提供了注册每项素材资源所用视图时会用到的方法,并提供了一个用于注册NativeAd对象本身的方法。如果以这种方式注册视图,该SDK就可以自动处理诸如以下任务:

·记录点击次数

·记录展示次数(当第一个像素出现在屏幕上时)

·显示广告选择叠加层

广告选择叠加层

该SDK会向每个广告视图中添加一个广告选择叠加层。请在原生广告视图中任选您喜欢的一角留出空间,用于展示自动插入的广告选择徽标。此外,广告选择叠加层一定要显眼易见,因此请选择适当的背景颜色和图片。

广告标示

您必须展示广告标示,以指明该视图是广告。

代码示例

以下是展示统一原生广告的步骤:

创建UnifiedNativeAdView类的实例。

对于要展示的每个广告素材资源:

使用广告对象中的素材资源填充素材资源视图。

向ViewGroup类注册该素材资源视图。

如果您的原生广告布局包含大型媒体素材资源,请注册MediaView。

向ViewGroup类注册广告对象。

以下是一个展示UnifiedNativeAd的示例函数:

1613721057(1).png

1613721092(1).png

让我们来看看各项具体任务:

填充布局

1613721113(1).png

1613721180(1).png

在本示例中,我们要填充一个XML布局(该布局包含的视图用于展示统一原生广告),然后找到对UnifiedNativeAdView的引用。请注意,如果您的片段或活动中有现成的UnifiedNativeAdView,也可以重复使用它;您甚至可以在不使用布局文件的情况下动态创建一个实例。

填充和注册素材资源视图

下面的示例代码会找到用于显示标题的视图,使用广告对象所提供的字符串素材资源设置视图的文字,然后向UnifiedNativeAdView对象注册该视图:

1613721209(1).png

1613721231(1).png

对于应用要展示的由原生广告对象所提供的每项素材资源,都应为其重复上述过程,即找到相应视图、设置其值并向广告视图类注册它。

点击处理

重要注意事项:在原生广告视图之上或内部的任何视图上,请勿实现任何自定义点击处理程序。要自行观察点击事件,请使用广告监听器。

只要您按上一部分所述正确填充和注册了素材资源视图,该SDK就会处理广告视图素材资源获得的点击。

以下是一个使用广告监听器观察点击事件的示例:

1613721258(1).png

1613721283(1).png

注册MediaView

重要注意事项:如果您要在原生广告的布局中包含主图片素材资源,则需要使用MediaView素材资源,而不是ImageView素材资源。

MediaView是一个专门用于展示主媒体素材资源(视频或图片)的View。

MediaView可以在XML布局中定义,也可以动态构建。就像所有其他素材资源视图一样,它应该放在NativeAdView的视图层次结构中。对于使用MediaView的应用,必须向NativeAdView注册它,如下所示:

1613721325(1).png

1613721345(1).png

与所有素材资源视图一样,媒体视图也需要填充内容,这通过使用mediaContent属性来完成。UnifiedNativeAd的mediaContent属性包含可传递到MediaView的媒体内容。

以下代码段用于为媒体视图设置媒体内容:

1613721367(1).png

1613721421(1).png

设置ImageScaleType

MediaView类在显示图片时具有ImageScaleType属性。如果您想在MediaView中更改图片的缩放方式,请使用MediaView的setImageScaleType()方法设置相应的ImageView.ScaleType。

例如,要在图片显示时填充MediaView(广告中不包含视频),请使用以下代码:

1613721442(1).png

1613721469(1).png

GitHub示例

我们的GitHub代码库包含以Java和Kotlin编写的原生高级广告的完整实现方案。

下载原生高级广告示例

MediaContent

MediaContent类包含与原生广告的媒体内容相关的数据,媒体内容则通过MediaView类展示。使用MediaContent实例设置MediaView mediaContent属性时:

·如果广告有视频素材资源可用,则系统会对其进行缓冲,并开始在MediaView内播放。您可以通过检查hasVideoContent()来判断是否有视频素材资源可用。

·如果广告不包含视频素材资源,则会改为下载mainImage素材资源,并将其放置在MediaView内。

注意:默认情况下,mainImage是下载的第一个图片素材资源。如果使用了setReturnUrlsForImageAssets(true),则mainImage为null,您必须将mainImage属性设置为您手动下载的图片。请注意,仅在没有视频素材资源可用时,系统才会使用此图片。

注册原生广告对象

这是最后一步,也就是向负责显示原生广告对象的视图注册该对象:

1613721510(1).png

1613721531(1).png

原生视频广告

除了图片、文字和数字外,有些原生广告会包含视频素材资源。但不是每个广告都会包含视频素材资源,相关应用也并非一定要展示这些资源。

为了简化视频的配置和展示,Google移动广告SDK提供了与视频相关的以下类:

VideoOptions

通过VideoOptions类,您可以为应用配置原生视频素材资源的行为方式。VideoOptions对象应该分配给构建AdLoader时使用的NativeAdOptions对象:

1613721555(1).png

1613721585(1).png

VideoOptions.Builder类目前提供了setStartMuted()方法,用于指示该SDK是否应该在静音状态下开始播放视频素材资源。默认值为true。

VideoController

VideoController类用于获取有关视频素材资源的信息。通过调用getVideoController()方法,应用可以从UnifiedNativeAd对象获得对该控制器的引用:

1613721607(1).png

1613721629(1).png

即使广告中没有视频素材资源,此方法也会始终返回VideoController对象。

VideoController提供hasVideoContent()方法;如果广告中有视频素材资源,则该方法返回true,否则返回false。

应用也可以使用VideoController.VideoLifecycleCallbacks类,在视频素材资源生命周期内发生事件时接收通知:

1613721650(1).png

1613721671(1).png

销毁广告

当完成原生广告展示后,您应该将其销毁,以便系统正确地对广告进行垃圾回收处理。

1613721695(1).png

1613721715(1).png

版权说明

本文内容来自于Google Developers,本站不拥有所有权,不承担相关法律责任。文章内容系作者个人观点,不代表快出海对观点赞同或支持。如有侵权,请联系管理员(hj@kchuhai.com)删除!

相关文章
Google AdMob智能横幅广告
Google AdMob智能横幅广告
作为一种广告单元,智能横幅可在任何屏幕尺寸、任何屏幕方向的各种设备上展示与屏幕等宽的横幅广告。智能横幅广告可以检测设备处于当前屏幕方向时的宽度,并据此创建与之等宽的广告视图。
2021-02-05
Google AdMob自适应横幅广告
Google AdMob自适应横幅广告
自适应横幅广告是新一代自适应广告,可针对每台设备优化广告尺寸,从而最大限度地提升广告效果。自适应横幅广告在智能横幅广告(仅支持固定高度)的基础上进行了改进,开发者可以指定广告宽度,进而确定最佳广告尺寸。
2021-02-05
如何将AdMob横幅广告植入到Android应用中?
如何将AdMob横幅广告植入到Android应用中?
本指南介绍了如何将AdMob横幅广告植入到Android应用中。除了提供代码段和操作说明之外,本指南还介绍了如何正确地设置横幅广告的尺寸。
2021-02-05
教你解读Google AdMob报表数据
教你解读Google AdMob报表数据
为了帮助大家更好地了解AdMob工具的使用以及数据分析方法,本文分享课程ppt以及直播回放链接,供大家学习、参考。
2021-02-04
Google应用变现神器Admob指南
Google应用变现神器Admob指南
AdMob在一个平台中整合了各种一流的技术,让您既可以深入了解您的用户群,又能实现广告收入的最大化。您不必再使用多种工具,也不必投入宝贵的开发资源来开发自己的解决方案。
2021-02-04
服务商推荐 更多 >
百度国际MediaGo
百度国际MediaGo
百度国际是百度极具战略意义的海外业务发展部门,拥有超过10年的出海经验。旗下出海营销平台MediaGo旨在为全球广告主提供营销整合方案。成立以来,MediaGo不断进化,在磨炼一站式海外营销服务能力的同时,连接Snapchat、Pinterest、Reddit等优质海外平台,成为连接广告主与价值洼地的桥梁。
本地化变现推广
北京云中融信网络科技有限公司
融云
融云为全球开发者和企业提供 IM即时通讯和实时音视频通信云服务,独立的海外数据中心,全球 30 万+应用的通信选择。一套 SDK 解决所有通信场景,快速集成,1天实现跨国互动,实时沟通,助力应用出海
云服务
深圳哈希信息技术有限公司
哈希信息
深圳哈希信息技术有限公司成立于2018年,是国内领先的智能网络服务提供商,基于软件定义网络、下一代网络协议、大数据等技术研发面向不同行业领域的产品和解决方案,秉着“专业、创新、信任、分享“的核心价值观,致力为客户提供一个高效可靠的流量云平台。公司对外提供分发云(CDN)、加速云(动态加速)、安全云(防DDOS&云WAF)、流量云(广告交易)、边缘云、短信云等多个云产品,帮助游戏/资讯等互联网公司构建、加速和更好的保护核心业务。
云服务变现
太平洋电信股份有限公司
太平洋电信
太平洋电信为游戏、电商等客户提供低延时、高可靠的多点互联、企业上云、全球移动应用测试、主机托管等服务。通过与澳大利亚电信合作,凭借在全球丰富的海缆网络资源及多年的国际化运营经验,助力企业业务出海布局。 更多产品详情,请访问官方网站:https:www.t-pbs.com
云服务
杭州云片网络科技有限公司
云片
云片自2013年成立以来,深耕云通讯领域,致力于革新企业与用户间的沟通方式,成为国内领先的云通讯服务商。云片目前已支持短信、国际短信、超级短信、营销云、身份认证等产品服务,帮助企业了解客户,获取客户,提升客户体验,为企业提供持续增长动力。在国际服务方面,支持【全球语音验证码】、【国际短信验证码】和【国际营销彩信】
云服务
奇亿音乐
奇亿音乐
奇亿音乐为各类型国内外游戏提供:游戏音乐、游戏音效、游戏配音等资源制作。配音方面语种齐全,除了游戏中常见的英语,还可以录制阿语、日语、韩语、法语、西班牙语、德语、意大利语…….等几十种语言,还可录制各地方言。
本地化
小程序
公众号
商务合作
投稿采访
出海管家