地理围栏,打造智能生活新边界

随着智能手机和其他移动设备的普及,用户对基于位置获取个性化服务的需求大幅增加,例如用户进入商圈范围并停留操作一段时间后,智能触发向用户推送该商圈吃、喝、玩、乐的优惠活动消息;又如当用户到达非常驻地的机场时触发围栏,向用户推送询问是否需要预定机场附近的酒店的消息,从而第一时间洞悉用户潜在需求并提供相关服务。

目前市面上大多数第三方消息推送服务商,通常无法将推送范围精确到某个商圈或较小的区域。而HarmonyOS SDK位置服务(Location Kit)的地理围栏技术可以很好地弥补这一不足。

地理围栏就是用一个虚拟的栅栏围出一个虚拟地理边界,当手机进入、离开或在这个围起来的特定地理区域内活动时,手机可以自动接收通知和警告消息。将地理围栏和消息推送相结合,即可实现对特定区域人群的精准消息推送。

比如,当目标受众走进某个商圈附近时,一款生活服务类App将会向他们推送"商圈内多家餐厅正在打折,点击查看优惠详情"的消息,这样可以及时向用户推送与他们当前位置和需求相关的信息,,增加用户的购买意愿。地理围栏技术可以帮助App更精确地定位目标用户,提高推送的精准度和效果。

地理围栏技术也提供了更精确的目标定位能力。比如,在安全监管方面,可以设置围栏以设置特定区域内的活动,提升安全监控和应急响应。在行业场景中,针对物流运输行业,可用于跟踪货物在运输过程中的位置,提醒或者通知相关人员货物的抵达或者离开;随着智能城市和物联网技术的兴起,地理围栏技术也被广泛应用于城市管理、智能交通、环境监测等领域。

功能优势

系统级围栏,围栏功耗低

App休眠仍能直接唤醒,围栏检测进程常驻,避免受后台应用影响

围栏范围:支持半径200米到10公里范围

自定义围栏检测

围栏数量不受限制,且可以直接选择商圈围栏

开发步骤

1.使用地理围栏功能,需要有权限ohos.permission.APPROXIMATELY_LOCATION,位置权限申请的方法和步骤见申请位置权限开发指导。

2.导入geoLocationManager模块、wantAgent模块和BusinessError模块

import { geoLocationManager } from '@kit.LocationKit';
import { wantAgent } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit'

3.创建WantAgentInfo信息。

场景一:创建拉起Ability的WantAgentInfo信息。

let wantAgentObj:_wantAgent|null = null; // 用于保存创建成功的wantAgent对象,后续使用其完成触发的动作。// 通过WantAgentInfo的operationType设置动作类型
let wantAgentInfo:wantAgent.WantAgentInfo = {wants: [{deviceId: '',bundleName: 'com.example.myapplication',abilityName: 'EntryAbility',action: '',entities: [],uri: '',parameters: {}}],operationType: wantAgent.OperationType.START_ABILITY,requestCode: 0,wantAgentFlags:[wantAgent.WantAgentFlags.CONSTANT_FLAG]
};

场景二:创建发布公共事件的WantAgentInfo信息。

let wantAgentObj:_wantAgent|null = null; // 用于保存创建成功的WantAgent对象,后续使用其完成触发的动作。// 通过WantAgentInfo的operationType设置动作类型
let wantAgentInfo:wantAgent.WantAgentInfo = {wants: [{action: 'event_name', // 设置事件名parameters: {},}],operationType: wantAgent.OperationType.SEND_COMMON_EVENT,requestCode: 0,wantAgentFlags: [wantAgent.WantAgentFlags.CONSTANT_FLAG],
}

4.调用getWantAgent()方法进行创建WantAgent。

并且在获取到WantAgent对象之后调用地理围栏接口添加围栏,当设备进入或者退出该围栏时,系统会自动触发WantAgent的动作。

// 创建WantAgent
wantAgent.getWantAgent(wantAgentInfo, (err, data) => {if (err) {console.error('getWantAgent err=' + JSON.stringify(err));return;}console.info('getWantAgent success');wantAgentObj = data;let requestInfo:geoLocationManager.GeofenceRequest = {'scenario': 0x301, "geofence": {"latitude": 31.12, "longitude": 121.11, "radius": 100, "expiration": 10000}};try {geoLocationManager.on('gnssFenceStatusChange', requestInfo, wantAgentObj);} catch (err) {console.error("errCode:" + JSON.stringify(err));}
});

注意:目前仅支持圆形围栏,并且依赖GNSS芯片的地理围栏功能,仅在室外开阔区域才能准确识别用户进出围栏事件。

综上所述,地理围栏技术在智能化和定位服务领域具有重要应用。对于开发者来说不仅是提升服务精准度和用户体验的利器,还可以优化资源管理,并创造新的商业价值和解决方案。

了解更多详情>>

访问位置服务联盟官网

获取位置服务开发指导文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/416702.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

工业网关在汽车智能工厂中的应用-天拓四方

工业网关是工业物联网(IIoT)的关键组成部分,它充当了工业现场设备与云端或企业级系统之间的桥梁。在智能工厂中,工业网关的应用至关重要,它确保了生产线的顺畅运行,并通过数据的透明化,提升了生…

《高等代数》范德蒙德行列式的应用

说明:此文章用于本人复习巩固,如果也能帮助到大家那就更加有意义了。 注:范德蒙德行列式的简单应用及其变形。 范德蒙德行列式的计算公式: 注:(1)用大下标减去小下标。 (2&#xf…

QFile打开文件的两种方式

一、UI界面设置两个按键&#xff0c;并直接转到槽函数 二、两种代码展示 #include <QFile> #include <QDebug>//此两种方式中调用函数&#xff0c;应包含的头文件void Widget::on_btnReadFile01_clicked()//第一种打开方式 {//1. 打开文件QFile file;file.setFile…

密钥加密机的定义与功能

密钥加密机是信息安全领域中的核心设备&#xff0c;通过密码学原理&#xff0c;利用加密算法和密钥管理技术&#xff0c;对通信内容进行加密保护&#xff0c;确保数据在传输过程中的机密性、完整性和真实性。以下是对密钥加密机的详细阐述&#xff1a; 一、定义与功能 定义&…

集成电路学习:什么是OLED有机发光二极管

一、OLED&#xff1a;有机发光二极管 OLED&#xff0c;全称有机发光二极管&#xff08;Organic Light-Emitting Diode&#xff09;&#xff0c;是一种电流型的有机发光器件。以下是关于OLED的详细介绍&#xff1a; 二、OLED的定义与原理 OLED是基于有机半导体材料和发光材料在…

【游戏安全】CheatEngine基础使用——如何对不同类型的数值进行搜索?如何破解数值加密找到想修改的数值?

游戏安全 不同数值类型的搜索破解简单数值加密 不同数值类型的搜索 可以在游戏中看到很精确的物品数量&#xff0c;但是在CE中却什么都扫不到。 这是因为他的数值类型可能并不是四字节的&#xff0c;在游戏中这个数值的机制是一个慢慢增长的数值&#xff0c;所以他很有可能是…

信息安全威胁

关注这个证书的其他相关笔记&#xff1a;NISP 一级 —— 考证笔记合集-CSDN博客 0x01&#xff1a;我国面临的信息安全威胁 从受威胁的对象来看&#xff0c;可以将我国面临的信息安全威胁分为三类&#xff1a;国家威胁、组织威胁和个人威胁。 来自国家的威胁&#xff1a; 恐怖组…

Hive服务部署及Datagrip工具使用

目录 Hive服务部署 Hiveserver2服务 1&#xff09;用户说明 2&#xff09;Hiveserver2部署 &#xff08;1&#xff09;Hadoop端配置 &#xff08;2&#xff09;Hive端配置 3&#xff09;测试 &#xff08;1&#xff09;启动Hiveserver2 &#xff08;2&#xff09;使用命…

计算机工具软件安装攻略:Visual Studio Code下载、安装和使用

Visual Studio Code下载、安装和使用 1 Visual Studio Code简介 Visual Studio Code通常简称为VS Code&#xff0c;是一款由微软开发的免费、开源的轻量级代码编辑器。它在开发者社区中非常受欢迎&#xff0c;具有强大的功能和扩展性&#xff0c;适用于多种编程语言和开发场景…

激光器原理--材料篇

半导体材参杂 https://zhuanlan.zhihu.com/p/24683205 能带跃迁&#xff0c;能量变化&#xff0c;从电变为光。 Si半导体是间隙带隙&#xff0c; 三五族是直接带隙。直接带隙方便跃迁&#xff0c;容易出光

Verilog基础,原码,反码与补码的概念

Verilog模块初认识 1、Verilog模块(Module) Verilog中的module可以看成一个具有输入输出端口的黑盒子&#xff0c;该黑盒子有输入和输出接口(信号)&#xff0c;通过把输入在盒子中执行某些操作来实现某项功能。(类似于C语言中的函数) 图1 模块示意图 1.1 模块描述 图1 所示的…

el-table利用折叠面板 type=“expand“ 嵌套el-table,并实现 明细数据多选,选中明细数据后返回原数据得嵌套格式

效果图: 废话不多说直接上代码&#xff0c;完整代码展示&#xff1a; <template><el-tableborderref"multipleTable":data"tableData"tooltip-effect"dark"style"width: 100%"><el-table-columnwidth"50"la…

简单的Linux Ftp服务搭建

简单的Linux FTP服务搭建 1.需求 公司有一个esb文件传输代理&#xff0c;其中我们程序有文件传输功能&#xff0c;需要将本地文件传输到esb文件代理服务器上&#xff0c;传输成功之后发送http请求&#xff0c;告知esb将固定文件进行传输到对应外围其他服务的文件目录中&#…

[环境配置]Pycharm手动安装汉化插件

在Pycharm-file-setting-Plugins中&#xff0c;搜索chinese&#xff0c;就会出现汉化包 点击install后&#xff0c;在安装时出现这种报错&#xff1a;Plugin "Chinese (Simplified) Language Pack / 中文语言包" was not installed: Invalid filename returned by a …

Microk8s ingress启动失败, 10254端口被占用问题定位

问题描述 RHEL9 VM里安装了Microk8s&#xff0c;且使用了Nginx ingress Controller插件&#xff0c;443端口正常。 VM重启一次后&#xff0c;发现443端口没有LISTEN&#xff0c;不能对外提供服务。 定位过程 查看ingress pod状态&#xff0c;为CrashLoopBackOff # kubectl …

函数式接口实现策略模式

函数式接口实现策略模式 1.案例背景 我们在日常开发中&#xff0c;大多会写if、else if、else 这样的代码&#xff0c;但条件太多时&#xff0c;往往嵌套无数层if else,阅读性很差&#xff0c;比如如下案例&#xff0c;统计学生的数学课程的成绩&#xff1a; 90-100分&#…

yaml文件查看模型的架构

最近在看hrnet模型代码&#xff0c;想查看hrnet的模型架构&#xff0c;输出一下&#xff0c;但是模型参数需要cfg&#xff0c;我就想着怎么把yaml文件导进来然后打印模型呢&#xff0c;直接chat就可以了&#xff0c;下面解释一下每一部分&#xff0c;非常的好理解 yaml文件格式…

第L5周:机器学习:决策树(分类模型)

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 目标&#xff1a; 1. 决策树算法是一种在机器学习和数据挖掘领域广泛应用的强大工具&#xff0c;它模拟人类决策过程&#xff0c;通过对数据集进行逐步的分析和…

【重学 MySQL】十、MySQL 目录结构与源码

【重学 MySQL】十、MySQL 目录结构与源码 主要目录结构安装目录数据目录总结 源码源码结构编译过程源码连接建立源码中的关键模块源码的获取与贡献注意事项 主要目录结构 MySQL的主要目录结构通常包括安装目录和数据目录两部分&#xff0c;这些目录包含了MySQL运行所需的各种文…

[数据集][目标检测]智慧牧场猪只检测数据集VOC+YOLO格式16245张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;16245 标注数量(xml文件个数)&#xff1a;16245 标注数量(txt文件个数)&#xff1a;16245 标…