如何在保护用户隐私的同时实现精准广告投放?
用户在浏览App的页面时,如果经常跳出来不喜欢的弹窗广告不仅损害用户的浏览体验,也让用户对广告内容产生反感。作为App的营销人员,线上投放广告时如何精准捕捉用户需求,同时不引起用户的抵触心理十分重要。当用户不愿意将自己的个人信息,例如年龄、性别、兴趣爱好等隐私数据授权给App时,基于用户正在浏览的页面投放广告是个不错的选择,它决定了一则广告能否高效地定位到目标用户。
比如,用户正在新闻App里读一篇关于现阶段新能源汽车加速发展,续航里程大大增加,各城市也在加快部署充电桩的文章,如果定向广告机制理解了文章的上下文内容,用户在继续浏览新闻时可能会看到关于附近新能源汽车4S店的试驾邀请的原生广告,或者关于某品牌新能源汽车购置优惠的广告,精准定位目标用户需求。
HMS Core广告服务支持个性化广告和非个性化广告,非个性化广告是不基于用户过去行为的广告,使用上下文信息进行定向。上下文信息包括用户授权当前位置的粗略(例如城市级别)地理定位,设备自带的信息(例如手机型号等)以及当前应用程序的内容或当前应用搜索关键字上的内容。当用户在App里浏览某个内容,或者搜索某一话题、关键词表达出了对该话题的具体兴趣时,内容相关的广告系统会扫描特定单词或单词的组合,基于用户正在浏览的页面内容推送广告。
在数据安全个人隐私面临巨大挑战的今天,不少用户对于收集个人隐私数据的活动有很大抵触心理,这就意味着精准投放的广告不再精准。现集成HMS Core基于上下文信息请求广告能力,在保护用户隐私的同时,同样可以实现精准投放。
开发步骤
1. 前提条件
HUAWEI Ads SDK依赖HMS Core(APK)4.0.0.300及以上版本。如果设备上未安装HMS Core(APK)4.0.0.300及以上版本,则无法使用HUAWEI Ads SDK的相关接口。
在开发应用前需要在华为开发者联盟网站上注册成为开发者并完成实名认证,具体方法可参见帐号注册认证。
2 .导入HUAWEI Ads SDK
华为提供了Maven仓集成方式导入HUAWEI Ads SDK包。在开始开发前,您需要将HUAWEI Ads SDK集成到您的Android Studio开发环境中。
配置Maven仓地址。
Android Studio的代码库配置在Gradle 插件7.0以下版本、7.0版本和7.1及以上版本有所不同。请根据您当前的Gradle 插件版本,选择对应的配置过程。
3 .配置网络权限
在targetSdkVersion 28及以上的手机上允许HTTP(S)网络请求,在“AndroidManifest.xml”做以下配置。
<application
...
android:usesCleartextTraffic="true"
>
...
</application>
4 .配置混淆脚本
您编译APK前需要配置混淆配置文件,避免混淆HUAWEI Ads SDK导致功能异常。
打开Android工程应用级根目录下的“proguard-rules.pro”混淆配置文件,加入排除HUAWEI Ads SDK的混淆配置。
-keep class com.huawei.openalliance.ad.** { *; }
-keep class com.huawei.hms.ads.** { *; }
5 .初始化SDK
您可以在AdSampleApplication类中调用HwAds.init(Context context)接口初始化SDK或者在Activity中初始化SDK。
• 建议在应用启动的时候调用HwAds.init(Context context)接口初始化HUAWEI Ads SDK,您需要自行实现AdSampleApplication类。
6 .基于上下文信息请求广告
HUAWEI Ads SDK在AdParam.Builder类中提供了setContentBundle方法,供您在广告请求时设置携带上下文信息。
示例代码如下所示:
RewardAd rewardAd = new RewardAd(this, rewardId);
AdParam.Builder adParam = new AdParam.Builder();
String mediaContent = "{\"channelCategoryCode\":[\"剧集\"],\"title\":[\"西游记\"],\"tags\":[\"神魔\",\"冒险\"],\"relatedPeople\":[\"张三\"],\"content\":[\"该剧讲述了师徒四人西天取经……\"],\"contentID\":[\"123123\"],\"category\":[\"经典剧场\"],\"subcategory\":[\"古装\"],\"thirdCategory\":[\"悬疑\"]}\n";
adParam.setContentBundle(mediaContent);
rewardAd.loadAd(adParam.build(), new RewardAdLoadListener());
了解更多详情>>
访问华为开发者联盟官网
获取开发指导文档
华为移动服务开源仓库地址:GitHub、Gitee
关注我们,第一时间了解 HMS Core 最新技术资讯~