对于想买车的用户来说,如果走在路上刷社交软件时突然在App里收到一条广告:“前方500米商圈里的某品牌汽车正在做优惠,力度大福利多。”不管买不买,八成都会去看看,原因有三:距离近、需求匹配、有优惠。那么这就是一条成功的投放广告,广告最重要的就是寻找关键的客户目标群,所以各App的营销人员都在思考如何在线上投放广告时,挖掘高价值营销的空间位置,以求达到广告效果最大化。
捕捉每一次的人群信息很关键,移动的地理位置数据能够直接反映用户的实际消费活动,比如写字楼的白领喜欢点外卖,商圈潮人喜欢年轻化的娱乐活动,别墅区有钱人钟爱奢侈品、豪车等,可以通过位置信息提取用户属性,并进行广告匹配。
HMS Core提供了基于地理位置请求广告的能力,开发者可以很快在应用内集成,这种广告的优势在于能够提供有针对性、与消费者直接产生场景关联的营销内容。例如用户在商圈附近刷社交App时,一些拥有线下门店的品牌就会在应用内用原生广告的形式推送,通过发放优惠券等吸引用户购买;在学校附近,家长等待孩子放学看新闻类App时,教育机构可以通过贴片广告的形式推送课程,精准吸引用户;当用户去新城市出差,打开外卖App就能看到当地美食店用开屏广告形式做推荐。
为了更高效精准的推送广告,HUAWEI Ads SDK会根据您的应用是否拥有位置权限,在请求广告时携带位置信息来助力您增加广告转化效果,提升变现收益。
开发步骤
指定应用权限
1.Android提供了两种位置权限: ACCESS_COARSE_LOCATION(粗略的位置权限)和ACCESS_FINE_LOCATION(精确的位置权限)。需要在“AndroidManifest.xml”文件中配置权限:<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 2.(可选)在Android 10及以上版本中,如果您需要应用程序在后台执行时也具备持续定位能力,需要在“AndroidManifest.xml”文件中配置ACCESS_BACKGROUND_LOCATION权限:<uses-permission
android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
- 动态申请定位相关权限(Android 6.0及以上版本危险权限要求):
// Android SDK<=28 所需权限动态申请
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.P) {
Log.i(TAG, "android sdk <= 28 Q");
if (ActivityCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
&& ActivityCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
String[] strings =
{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION};
ActivityCompat.requestPermissions(this, strings, 1);
}
} else {
// Android SDK>28 所需权限动态申请,需添加“android.permission.ACCESS_BACKGROUND_LOCATION”权限
if (ActivityCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
&& ActivityCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED
&& ActivityCompat.checkSelfPermission(this,
"android.permission.ACCESS_BACKGROUND_LOCATION") != PackageManager.PERMISSION_GRANTED) {
String[] strings = {android.Manifest.permission.ACCESS_FINE_LOCATION,
android.Manifest.permission.ACCESS_COARSE_LOCATION,
"android.permission.ACCESS_BACKGROUND_LOCATION"};
ActivityCompat.requestPermissions(this, strings, 2);
}
} 如果应用向用户申请并获得了位置权限时,SDK会默认携带位置信息;如果应用希望在请求广告时,不携带位置信息,也可以调用接口setRequestLocation()设置是否携带。// 以banner广告为例,不携带位置信息
AdParam adParam = new AdParam.Builder()
// 请求时是否携带位置信息,true:是;false:否。默认为true;
.setRequestLocation(false)
.build();
bannerView.loadAd(adParam); 了解更多详情>>
访问华为开发者联盟官网
获取开发指导文档
华为移动服务开源仓库地址:GitHub、Gitee
关注我们,第一时间了解 HMS Core 最新技术资讯~
|