时间:2021-07-15 | 标签: | 作者:Q8 | 来源:华为开发者联盟官网网络
小提示:您能找到这篇{HUAWEI Ads的用户意见征求}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的HUAWEI Ads的用户意见征求内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您! |
< "> < ">在法律有相应要求的情况下,您必须征得用户的同意才能使用其个人数据(例如OAID)来投放广告。 < ">HUAWEI Ads平台投放的广告包括个性化广告和非个性化广告。为了征求用户意见,HUAWEI Ads平台提供了Consent SDK。 < ">本章节介绍了如何使用Consent SDK征求用户意见,以及在征得用户意见后如何根据用户意见获取广告。 < ">Consent SDK使用 < ">1.集成Consent SDK。 < ">a.在项目级build.gradle文件中配置Maven仓地址: buildscript { repositories { google() jcenter() //配置Consent SDK的Maven仓地址 maven { url 'https://developer.huawei.com/repo/' } } ... } allprojects { repositories { google() jcenter() //配置Consent SDK的Maven仓地址 maven { url 'https://developer.huawei.com/repo/' } } } < ">b.在应用级的build.gradle文件中添加编译依赖: < ">c.将{version}替换为实际的版本号,版本号索引请参见版本更新说明,修改如下: dependencies { implementation 'com.huawei.hms:ads-consent:3.4.39.302' } < ">在完成以上的配置后,点击工具栏中的gradle同步图标,完成“build.gradle”文件的同步,将相关依赖下载到本地。 < ">2.更新用户意见状态。 < ">使用Consent SDK时,应确保Consent SDK获得的是HUAWEI Ads平台广告技术提供商的最新信息。如果在征求用户意见后,广告技术提供商的列表发生改变,则Consent SDK会自动将用户意见置为未知状态。因此在每次启动应用时都必须通过调用requestConsentUpdate()方法确定用户的意见状态。 < ">示例代码如下所示: Java ... import com.huawei.hms.ads.consent.*; ... public class ConsentActivity extends AppCompatActivity { ... @Override protected void onCreate(Bundle savedInstanceState) { ... // 检查consent状态 checkConsentStatus(); ... } ... private void checkConsentStatus() { ... Consent consentInfo = Consent.getInstance(this); ... consentInfo.requestConsentUpdate(new ConsentUpdateListener() { @Override public void onSuccess(ConsentStatus consentStatus, boolean isNeedConsent, List<AdProvider> adProviders) { // 获取用户意见状态成功 ... } @Override public void onFail(String errorDescription) { // 获取用户意见状态失败 ... } }); ... } ... } Kotlin ... import com.huawei.hms.ads.consent.* ... class ConsentActivity : BaseActivity() { ... override fun onCreate(savedInstanceState: Bundle?) { ... // 检查consent状态 checkConsentStatus() ... } ... private fun checkConsentStatus() { ... val consentInfo = Consent.getInstance(this) ... consentInfo.requestConsentUpdate(object : ConsentUpdateListener { override fun onSuccess(consentStatus: ConsentStatus, isNeedConsent: Boolean, adProviders: List<AdProvider>) { // 获取用户意见状态成功 ... } override fun onFail(errorDescription: String) { // 获取用户意见状态失败 ... } }) ... } ... } < ">如果成功更新用户意见信息,那么会通过ConsentUpdateListener的onSuccess()方法提供更新后的用户意见状态参数consentStatus、是否需要Consent参数isNeedConsent和广告技术提供商的adProviders列表。 < ">ConsentStatus具有以下三种状态: < ">如果回调参数isNeedConsent取值为false,则表明可以向HUAWEI Ads SDK请求个性化广告。 < ">如果回调参数isNeedConsent取值为true,则表明该用户在欧洲经济区内或其他敏感地区内,需要进一步确认用户意见。 < ">当返回的ConsentStatus为PERSONALIZED或NON_PERSONALIZED,则表明已征求过用户意见,不需要再次征求。 < ">当返回的ConsentStatus为UNKNOWN,则需要通过弹框等方式征求用户意见。 < ">如果ConsentUpdateListener返回onFail()时,则直接请求非个性化广告。 < ">AdProvider为广告技术提供商信息,参数定义如下: < ">说明 < ">requestConsentUpdate()方法每次会请求网络以更新广告技术提供商列表,为了保障用户体验,媒体可以自行实现超时控制。 < ">3.征求用户意见。 < ">您需要通过弹框等方式向用户征求意见,并展示广告技术提供商的完整列表。以下是通过弹框征求用户意见的样例: < ">a.弹框征求用户意见。 < ">示例代码如下所示: Java ... import com.huawei.hms.ads.consent.*; ... public class ConsentActivity extends AppCompatActivity { ... @Override protected void onCreate(Bundle savedInstanceState) { ... // 检查consent状态 checkConsentStatus(); ... } ... private void checkConsentStatus() { ... Consent consentInfo = Con宣传海报设计sent.getInstance(this); ... consentInfo.requestConsentUpdate(new ConsentUpdateListener() { @Override public void onSuccess(ConsentStatus consentStatus, boolean isNeedConsent, List<AdProvider> adProviders) { ... // 此返回参数代表是否需要consent if (isNeedConsent) { // UNKNOWN状态,需要重新收集用户信息 if (consentStatus == ConsentStatus.UNKNOWN) { < "> < color: rgb(127, 127, 127);"> ... showConsentDialog(); } // 如果是PERSONALIZED或者NON_PERSONALIZED状态,则不需要弹框收集用户意见 else { 精准客户营销 ... } } else { ... } } @Override public void onFail(String errorDescription) { ... } }); ... } ... private void showConsentDialog() { // 开始Consent弹出框处理 ConsentDialog dialog = new ConsentDialog(this, mAdProviders); dialog.setCallback(this); dialog.setCanceledOnTouchOutside(false); dialog.show(); } } Kotlin ... import com.huawei.hms.ads.consent.* ... class ConsentActivity : BaseActivity() { ... override fun onCreate(savedInstanceState: Bundle?) { ... // 检查consent状态 checkConsentStatus() ... } ... private fun checkConsentStatus() { ... val consentInfo = Consent.getInstance(this) ... consentInfo.requestConsentUpdate(object : ConsentUpdateListener { override fun onSuccess(consentStatus: ConsentStatus, isNeedConsent: Boolean, adProviders: List<AdProvider>) { ... // 此返回参数代表是否需要consent if (isNeedConsent) { // UNKNOWN状态,需要重新收集用户信息 if (consentStatus == ConsentStatus.UNKNOWN) { ... showConsentDialog() } // 如果是PERSONALIZED或者NON_PERSONALIZED状态,则不需要弹框收集用户意见 else { ... } } else { ... } } override fun onFail(errorDescription: String) { // 获取用户意见状态失败 ... } }) ... } ... private fun showConsentDialog() { // 开始Consent弹出框处理 val dialog = ConsentDialog(this, mAdProviders) dialog.setCallback(this) dialog.setCanceledOnTouchOutside(false) dialog.show() } } < color: rgb(0, 0, 0);">对话框效果图如下: 点击“here”跳转至更多信息: < ">b.展示广告技术提供商列表。 < ">您需要将广告技术提供商的名称展示给用户,并提供访问广告技术提供商隐私政策的入口。 < ">通过点击上述更多信息页面中的here链接弹出广告技术提供商列表对话框,效果如下: < ">c.设置用户意见。 < ">征得用户意见后,请使用setConsentStatus()方法设置用户的选择。 < ">示例代码如下所示: Java Consent.getInstance(getApplicationContext()).setConsentStatus(ConsentStatus.PERSONALIZED); Kotlin Consent.getInstance(getApplicationContext()).setConsentStatus(ConsentStatus.PERSONALIZED) < ">说明 < ">请务必让用户可以随时更改或撤消意见,并将用户更新后的意见设置给Consent SDK。 < ">d.设置“未达到法定承诺年龄用户”的标记。 < ">如果您需要针对未达到法定承诺年龄的用户请求对应的广告,则在调用requestConsentUpdate()前必须通过调用setUnderAgeOfPromise设置“未达到法定承诺年龄用户”的标记。 < ">示例代码如下所示: Java //设置“未达到法定承诺年龄用户”的标记 Consent.getInstance(getApplicationContext()).setUnderAgeOfPromise(true); Kotlin //设置“未达到法定承诺年龄用户”的标记 Consent.getInstance(getApplicationContext()).setUnderAgeOfPromise(true) < ">一旦将此设置为true,则每次requestConsentUpdate()请求均会回调onFail(String errorDescription)方法,并提供给用户错误描述参数errorDescription,此时不需要再展示征求用户意见弹框。设置为false表明用户已达到法定承诺年龄。 < ">说明 < ">当Consent SDK设置了此标记后,在请求广告时,基于受众人群请求广告中setTagForUnderAgeOfPromise的参数应与Consent参数保持一致。 < ">4.根据用户意见获取广告。 < ">请求广告时,默认不设置setNonPersonalizedAd方法,请求个性化广告与非个性化广告。如果用户在Consent阶段没有做出选择,则只能请求非个性化广告。 < ">如果设置setNonPersonalizedAd方法且值为: < ">ALLOW_ALL:个性化广告与非个性化广告 < ">ALLOW_NON_PERSONALIZED:非个性化广告 < ">示例代码如下所示: Java //setNonPersonalizedAd设置为ALLOW_NON_PERSONALIZED时,只请求非个性化广告 RequestOptions requestOptions=HwAds.getRequestOptions(); requestOptions=requestOptions.toBuilder().setNonPersonalizedAd(ALLOW_NON_PERSONALIZED).build(); HwAds.setRequestOptions(requestOptions); AdParam adParam=new AdParam.Builder().build(); adView.loadAd(adParam); Kotlin //setNonPersonalizedAd设置为ALLOW_NON_PERSONALIZED时,只请求非个性化广告 var requestOptions:RequestOptions?=HwAds.getRequestOptions() requestOptions=requestOptions.toBuilder().setNonPersonalizedAd(ALLOW_NON_PERSONALIZED).build() HwAds.setRequestOptions(requestOptions) val adParam=AdParam.Builder().build() adView!!.loadAd(adParam) < ">Consent SDK测试 < ">为了让您能轻松地测试应用,Consent SDK提供了可设置的调试选项。 < ">1.调用getTestDeviceId()获取设备ID。 < ">示例代码如下所示: Java String testDeviceId=Consent.getInstance(getApplicationContext()).getTestDeviceId(); Kotlin val testDeviceId = Consent.getInstance(getApplicationContext()).testDeviceId < ">2.使用获取的设备ID将您的设备作为调试设备列入允许清单。 < ">示例代码如下所示: Java Consent.getInstance(getApplicationContext()).addTestDeviceId(testDeviceId); Kotlin Consent.getInstance(getApplicationContext()).addTestDeviceId(testDeviceId) < ">调用setDebugNeedConsent设置是否需要Consent。 < ">示例代码如下所示: Java //设置调试需要Consent,此时ConsentUpdateListener方法返回的isNeedConsent参数为true Consent.getInstance(getApplicationContext()).setDebugNeedConsent(DebugNeedConsent.DEBUG_NEED_CONSENT); //设置调试不需要Consent,此时ConsentUpdateListener方法返回的isNeedConsent参数为false Consent.getInstance(getApplicationContext()).setDebugNeedConsent(DebugNeedConsent.DEBUG_NOT_NEED_CONSENT); Kotlin // 设置调试需要Consent,此时ConsentUpdateListener方法返回的isNeedConsent参数为true Consent.getInstance(getApplicationContext()).setDebugNeedConsent(DebugNeedConsent.DEBUG_NEED_CONSENT) // 设置调试不需要Consent,此时ConsentUpdateListener方法返回的isNeedConsent参数为false Consent.getInstance(getApplicationContext()).setDebugNeedConsent(DebugNeedConsent.DEBUG_NOT_NEED_CONSENT) < ">完成这些步骤后,调用更新用户意见状态时会根据您的调试状态返回isNeedConsent的值。 < ">说明 < ">如果把设备设置为测试设备,那么会返回固定的测试广告技术提供商列表,无法验证真实广告技术提供商列表变化的场景。 |
上一篇:为Azure云服务创建内部负载均衡器
下一篇:怎么注册NAVER(电脑版)账号?
基于对传统行业渠道的理解,对互联网行业的渠道我们可以下这样一个定义:一切...
小米应用商店的后台操作和苹果是比较相似的,因为都能填写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的用户意见征求