时间:2021-07-15 | 标签: | 作者:Q8 | 来源:华为开发者联盟官网网络
小提示:您能找到这篇{HUAWEI Ads原生广告介绍}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的HUAWEI Ads原生广告介绍内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您! |
< font-size: 16px;">< "> < font-size: 16px;">< ">原生广告 < font-size: 16px;">原生广告是创建与应用内容融于一体的广告形式,支持您自由定制界面。 < font-size: 16px;">< font-size: 18px;">添加原生广告 < font-size: 16px;">原生广告需要通过NativeAdLoader类获取。 < font-size: 16px;">1.构建NativeAdLoader。 < font-size: 16px;">NativeAdLoader类提供了NativeAdLoader.Builder类,可用于设置广告位ID、设置自定义选项和构建NativeAdLoader对象。 < font-size: 16px;">示例代码如下所示: // "testy63txaom86"为专用的测试广告位ID,App正式发布时需要改为正式的广告位ID NativeAdLoader.Builder builder = new NativeAdLoader.Builder(this, "testy63txaom86"); builder.setNativeAdLoadedListener(new NativeAd.NativeAdLoadedListener() { @Override public void onNativeAdLoaded(NativeAd nativeAd) { // 广告获取完成后调用 ... } }).setAdListener(new AdListener() { @Override public void onAdFailed(int errorCode) { // 广告获取失败时调用 ... } }); NativeAdLoader nativeAdLoader = builder.build(); < font-size: 16px;">当获取广告成功后,SDK会调用NativeAd.NativeAdLoadedListener监听器的onNativeAdLoaded()方法返回NativeAd对象。 < font-size: 16px;">当获取广告失败后,SDK会调用AdListener监听器的onAdFailed()方法。 < font-size: 16px;">2.获取广告。 < font-size: 16px;">NativeAdLoader提供loadAd()和loadAds()两种方法获取广告。 < font-size: 16px;">loadAd()请求单个原生广告。 < font-size: 16px;">AdParam是唯一的参数,代码如下所示: nativeAdLoader.loadAd(new AdParam.Builder().build()); < font-size: 16px;">调用loadAd()后,SDK将对添加的监听器方法进行一次成功或失败的回调。 < font-size: 16px;">loadAds()请求多个原生广告。 < font-size: 16px;">loadAds()请求有两个参数,除AdParam外,还有请求加载的广告数量,最大为5。SDK返回的广告数量将会小于等于所请求的广告数量,并且广告皆不相同。 < font-size: 16px;">代码如下所示: nativeAdLoader.loadAds(new AdParam.Builder().build(),5); < font-size: 16px;">调用loadAds()后,监听器将会根据返回的广告个数进行多次回调。请求多个广告时,可以在回调代码中使用NativeAdLoader.isLoading()方法来判断广告是否已获取完成。代码如下所示: // "testy63txaom86"为专用的测试广告位ID,App正式发布时需要改为正式的广告位ID NativeAdLoader.Builder builder = new NativeAdLoader.Builder(this, "testy63txaom86"); NativeAdLoader nativeAdLoader = builder.setNativeAdLoadedListener(new NativeAd.NativeAdLoadedListener() { @Override public void onNativeAdLoaded(NativeAd nativeAd) { if (nativeAdLoader.isLoading()) { // nativeAdLoader仍在获取广告 ... } else { // nativeAdLoader完成广告获取 ... } } }).build(); nativeAdLoader.loadAds(new AdParam.Builder().build(), 5); < font-size: 16px;">说明 < font-size: 16px;">再次使用NativeAdLoader获取广告前,请确保先前的请求已经完成。 < font-size: 16px;">3.展示原生广告。 < font-size: 16px;">获取到广告后在监听器的回调方法中展示原生广告,需要在每个广告视图的一角展示“为什么看到此广告”的图标“i”或者“不再显示该广告”的图标“x”,并且必须展示广告标识。 < font-size: 16px;">以下是展示原生广告的步骤: < font-size: 16px;">a.定义原生广告布局。 < font-size: 16px;">需要自定义一个布局用于展示NativeAd中的素材。 < font-size: 16px;">说明 < font-size: 16px;">必须将NativeView作为原生广告的根布局,否则会影响广告收益。 < font-size: 16px;">对于使用RelativeLayout来展示素材视图的原生广告,其视图层次结构示例如下: <com.huawei.hms.ads.nativead.NativeView xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content" ... > <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" ... > <!-- 多媒体视图 --> <com.huawei.hms.ads.nativead.MediaView android:id="@+id/ad_media" android:layout_width="75dp" android:layout_height="50dp" ... /> <RelativeLayout ... > <TextView android:id="@+id/ad_title" android:layout_width="match_parent" android:layout_height="34dp" ... /> <!-- 其他素材 --> ... </RelativeLayout> <!-- 其他素材 --> ... </RelativeLayout> </com.huawei.hms.ads.nativead.NativeView> < font-size: 16px;">b.注册和填充素材视图。 < font-size: 16px;">获取到NativeView对象后,需要注册和填充素材。 < font-size: 16px;">注册和填充标题、多媒体的示例代码如下: private void initNativeAdView(NativeAd nativeAd, NativeView nativeView) { // 注册和填充标题素材视图 nativeView.setTitleView(nativeView.findViewById(R.id.ad_title)); ((TextView) nativeView.getTitleView()).setText(nativeAd.getTitle()); // 注册和填充多媒体素材视图 nativeView.setMediaView((MediaView) nativeView.findViewById(R.id.ad_media)); nativeView.getMediaView().setMediaContent(nativeAd.getMediaContent()); // 注册和填充其他素材视图 nativeView.setAdSourceView(nativeView.findViewById(R.id.ad_source)); nativeView.setCallToActionView(nativeView.findViewById(R.id.ad_call_to_action)); if (null != nativeAd.getAdSource()) { ((TextView) nativeView.getAdSourceView()).setText(nativeAd.getAdSource()); } nativeView.getAdSourceView() .setVisibility(null != nativeAd.getAdSource() ? View.VISIBLE : View.INVISIBLE); if (null != nativeAd.getCallToAction()) { ((Button) nativeView.getCallToActionView()).setText(nativeAd.getCallToAction()); } nativeView.getCallToActionView() .setVisibility(null != nativeAd.getCallToAction() ? View.VISIBLE : View.INVISIBLE);
// 注册原生广告对象 nativeView.setNativeAd(nativeAd); } < font-size: 16px;">依次设置其他要展示的广告素材。 < font-size: 16px;">MediaView用于展示多媒体素材。如果获取的广告含有视频素材,则视频会在MediaView内播放。否则MediaView会显示一个图片素材。 < font-size: 16px;">c.向NativeView注册原生广告对象。 < font-size: 16px;">示例代码如下: nativeView.setNativeAd(nativeAd); < font-size: 16px;">d.展示NativeView。 < font-size: 16px;">将NativeView添加到界面即可展示原生广告。示例代码如下: private void loadAd() { NativeAdLoader.Builder builder = new NativeAdLoader.Builder(this, "testy63txaom86"); builder.setNativeAdLoadedListener(new NativeAd.NativeAdLoadedListener() { @Override public void onNativeAdLoaded(NativeAd nativeAd) { ... &nb长沙网站推广公司sp; // 获取NativeView视图 NativeView nativeView = (NativeView) getLayoutInflater().inflate(R.layout.ad_native, null); // 注册和填充原生广告素材视图 initNativeAdView(nativeAd, nativeView); // 将NativeView添加到界面 FrameLayout adFrameLayout = findViewById(R.id.frame_layout_ad); adFrameLayout.removeAllViews(); adFrameLayout.addView(nativeView); ... } }); ... } private void initNativeAdView(NativeAd nativeAd, NativeView nativeView) { // 注册和填充标题素材视图 nativeView.setTitleView(nativeView.findViewById(R.id.ad_title宣传片拍摄的影视公司)); ((TextView) nativeView.getTitleView()).setText(nativeAd.getTitle()); // 注册和填充多媒体素材视图 nativeView.setMediaView((MediaView) nativeView.findViewById(R.id.ad_media)); nativeView.getMediaView().setMediaContent(nativeAd.getMediaContent()); // 注册和填充其他素材视图 ... // 注册原生广告对象 nativeView.setNativeAd(nativeAd); } < font-size: 16px;">4.(可选)监听广告事件。 < font-size: 16px;">为原生广告添加事件监听器的示例代码如下: NativeAdLoader nativeAdLoader = builder.setAdListener(new AdListener() { @Override public void onAdClicked() { // 广告点击时调用 ... } ... }).build(); < font-size: 16px;">5.销毁广告。 < font-size: 16px;">当原生广告不再展示时,应将其销毁。 nativeAd.destroy(); < font-size: 16px;">< font-size: 18px;">原生视频广告 < font-size: 16px;">原生广告除了包含图片、文字外,还可能会包含视频素材。HUAWEI Ads SDK还提供了以下两个类用于视频的配置和控制。 < font-size: 16px;">< font-size: 18px;">VideoConfiguration < font-size: 16px;">通过VideoConfiguration类,可以对原生视频进行相关配置。示例代码如下: // "testy63txaom86"为专用的测试广告位ID,App正式发布时需要改为正式的广告位ID NativeAdLoader.Builder builder = new NativeAdLoader.Builder(this, "testy63txaom86"); // 设置是否在静音状态下开始播放视频素材,其默认值为true VideoConfiguration videoConfiguration = new VideoConfiguration.Builder() .setStartMuted(true) .build(); NativeAdConfiguration adConfiguration = new NativeAdConfiguration.Builder() .setVideoConfiguration(videoConfiguration) .build(); builder.setNativeAdOptions(adConfiguration); < font-size: 16px;">< font-size: 18px;">VideoOperator < font-size: 16px;">VideoOperator类用于视频信息获取和视频控制。控制器实例需要通过调用NativeAd.getVideoOperator()方法获得。当广告中没有视频素材时,此方法也会返回VideoOperator对象。 VideoOperator videoOperator=nativeAd.getVideoOperator(); < font-size: 16px;">VideoOperator提供hasVideo()方法判断广告中是否有视频素材。 < font-size: 16px;">通过实现VideoOperator.VideoLifecycleListener类可以监听视频播放过程中的事件。 videoOperator.setVideoLifecycleListener(new VideoOperator.VideoLifecycleListener() { @Override public void onVideoEnd() { // 视频播放完时调用 ... super.onVideoEnd(); } ... }); |
上一篇:HUAWEI Ads原生广告设置
下一篇:HUAWEI Ads原生广告模板
基于对传统行业渠道的理解,对互联网行业的渠道我们可以下这样一个定义:一切...
小米应用商店的后台操作和苹果是比较相似的,因为都能填写100字符关键词,允许...
小米的规则目前是在变更中的,但是根据经验小米的搜索排名评分的高低是个很重...
为了恰饭,有时候是要接入一些广告的,所以FB也专门有一个广告的SDK,这就是A...
在 2018 年于旧金山举行的游戏开发者大会上,Amazon Web Services (AWS) 曾宣布,目前世...
关于Facebook Audience Network如何收款的问题,其实官方已经给了详细的步骤。本文主要...
本文介绍了Audience Network对广告载体的质量检查,以及它重点广告形式需要注意的问...
随着iOS开发,作为开发者或公司需要针对iOS App开发涉及的方方面面作出对应的信息...
Facebook和谷歌对出海企业广告渠道都很熟悉,但事实上,在国外还有一些渠道也很...
卖家从做号的第1分钟开始,就一定要想好变现路径是什么?一定要以变现为目的去...
小提示:您应该对本页介绍的“HUAWEI Ads原生广告介绍”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通HUAWEI Ads原生广告介绍的相关事宜。
关键词:HUAWEI Ads原生广告介绍,HU