HMS Core基于地理位置请求广告,流量变现快人一步

对于想买车的用户来说,如果走在路上刷社交软件时突然在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" />
  1. 动态申请定位相关权限(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);

了解更多详情>>

访问华为开发者联盟官网
获取开发指导文档
华为移动服务开源仓库地址:GitHubGitee

关注我们,第一时间了解 HMS Core 最新技术资讯~

热门相关:斗神战帝