一、功能背景
为了增加用户活跃度,push通知推送是我们当前最常用的手段,每天定时给用户推送消息,唤醒用户使用腾讯地图。就当前统计到的数据来看,固定的消息推送是可以给我们的产品带来一些用户的活跃度的,当前市面上那么多的地图软件,不推送就会被埋没,一旦用户对其他app使用养成习惯就很难挽回,造成永久用户流失。但是传统的push推送,端外push到达率又会受到通道服务、厂商限制对于推送的限制,无法保证单个用户100%到达率;并且链路十分繁琐,可靠度不高,拓展性不强(无法满足大部分场景的需要),无法精准投送,费用也比较高等缺陷。
基于本业务的重要性和价值等因素,产品和研发同学经过评估决定和华为厂商合作,开发出一条基于位置围栏的推送投放的全新通道,目的是绕开传统限制,可针对于不同地域进行精准投送,对未来我们未来发送push的投送有了更为便捷和灵活的解决方案,下面我们就一期的解决方案进行详细的讲解,其中还介绍了一些实用的手机虚拟定位软件和获取地图精确坐标的方法,以及华为HMS软件的用途介绍等科普给大家呈现,还望大家多多交流指点。
二、运用场景基本介绍:
基本业务逻辑:
1、在华为后台配置目标围栏:10:00-20:00<进入商圈>
2、华为判断用户进入围栏+亮屏(正在使用),腾讯地图未在使用的状态了,通知手图,同时唤起手图app端侧(用户无感知)
3、手图app端接收围栏事件,请求服务端
4、服务端返回素材
5、手图端侧发送通知给用户
6、用户点击后,将app拉起至前端(用户有感知,主动使用)
三、具体操作验证方法:
1、 手机上插上有效的sim卡
2、 将手机系统时间修改成上午8点(下午就收不到了)
3、 安装测试版本的HMS Core
4、 安装以下流水线的app
5、 设置环境:开发者面板-运营位后台测试环境-maph5Test2
6、 kill掉腾讯地图进程
7、 设置-应用和服务-应用管理-HMS Core-存储-管理空间-清理数据
8、 通过以下链接安装SmartFenceTools,授权定位权限“始终允许”,设置-应用和服务-应用管理-找到SmartFenceTools-权限-位置信息-始终允许
https://qqmap-1251316161.cos-internal.ap-guangzhou.tencentcos.cn/LiTuApk/7_base.apk
9、 在手机设置-系统设置-开发人员选项-模拟位置的应用中选择SmartFenceTools
10、 测试位置:
以下由产品同学创建
阿波罗配置链接:
https://mapollo.woa.com/#/05872c3/business/49/module/186/config/3050
三个地理围栏,商圈、景点、行政区域,华为方制定的规则
地理坐标查找方法:
根据手动挪图查询链接:
https://lbs.qq.com/service/webService/webServiceGuide/address/Gcoder
奥森:40.022095,116.391624 景点围栏
国贸商城:39.910756211231416,116.45465891488713 商圈围栏(这种地理围栏区域面较小,需要找华为方给出精准坐标)
邯郸市:36.615631,114.511431 行政区域
三沙市:16.831407,112.339582 行政区域
11、 在SmartFenceTools中,添加模拟的位置,然后点击进入模拟状态,再点击进入,当弹出进入位置成功后,等待腾讯通知发送(最多等10s)
成功收到消息并点击跳转:
注意:奥森、国贸商城的通知间隔时间是一分钟;邯郸、三沙只有进入围栏时才会通知,触发一次通知后,需要进入其它位置再进入邯郸/三沙才能触发
注意:以下情况会导致没有通知
1、当前app正在运行(不区分前后台),就不会被华为唤醒,也就不会发通知;
2、 如果app被华为唤醒了一次,此时app就在后台运行了,此时不管是清除通知还是进入新围栏都不会再被唤醒发通知,因为满足了情况一;
3、 一个APP每日可被围栏唤醒的次数上限是20次,达到次数上限后就不会再唤醒。此时需要清理HMS数据,或者将手机系统时间修改到下一天。
当无法正常收到通知时,通过以下方式导出日志
1、 手机连接电脑,系统和更新-开发人员选项-打开USB调试,USB连接方式选择文件传输(或多媒体传输)
2、 电脑终端运行adb logcat > log.txt,记录日志
3、 按照【操作步骤】模拟进入围栏。(从清理HmsCore数据那一步开始)
4、 操作结束后ctrl + c停止记录日志
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。