按国家定向
国家根据设备的 IP 地址确定,每次用户打开您的应用时自动更新。值使用 ISO 3166-1 Alpha-2 两位字母国家代码(例如,US、GB、CA)。
使用细分中的 country 字段或创建细分 API 的 filters 参数按国家定向:
按位置定向(经度、纬度和半径)
如果您的移动应用收集 GPS 位置并与 OneSignal 共享,SDK 大约每 5 分钟更新一次用户的坐标(基于权限和系统规则)。如果应用被强制停止,在用户再次打开之前无法跟踪位置。位置跟踪设置
位置跟踪在您的移动应用代码中配置,而不是在 OneSignal 控制台中配置。您的应用至少需要:- 为 iOS 和 Android 添加原生位置权限和依赖项。
- 启用
Location.isShared标志以与 OneSignal 共享坐标。 - 请求系统位置权限,或使用应用内消息作为软预提示以获得更高的选择率。
移动 SDK 位置参考
iOS、Android、React Native、Flutter、Unity 和 Cordova/Ionic 的完整设置和各平台代码。
启用位置跟踪后,您可以使用
location 过滤器通过我们的 API 创建细分或发送消息。
网页推送经纬度跟踪
OneSignal 不收集网页的经纬度数据。但是,您可以使用标签从您的网页应用设置位置,或使用更新用户 API 从您的服务器设置位置。 打标签示例:- 使用浏览器的 Geolocation API 在您的网页应用中请求位置访问。
- 使用 JavaScript 检测用户的坐标。
- 使用标签将这些坐标发送到 OneSignal。
37° ≤ lat < 38° 和 -118° ≤ long < -117° 内的用户,在细分构建器中添加以下四个过滤器:
- 标签
lat大于37 - 标签
lat小于38 - 标签
long大于-118 - 标签
long小于-117
按城市或自定义位置定向
OneSignal 不会原生检测城市或区号。要按城市或自定义位置定向:- 让用户在表单中输入城市或地区。
- 或使用 JavaScript 与反向地理编码(如 Google Maps API)从坐标推断城市。
- 将城市名称作为数据标签发送。
常见问题
位置跟踪在网页上有效吗?
不能原生实现。OneSignal 的 Web SDK 不收集 GPS 坐标。要在网页推送中使用基于位置的细分,请自行从浏览器的 Geolocation API 收集坐标并将其作为标签发送到 OneSignal,然后在这些标签上构建范围过滤器细分。请参阅网页推送经纬度跟踪。为什么我的应用没有跟踪位置?
验证所有三个设置条件是否满足:您的应用已安装正确的位置权限和依赖项,Location.isShared 已设置为 true,且用户已在系统提示中授予位置权限。有关各平台设置和常见修复(包括 Android play-services-location 依赖项)的详情,请参阅移动 SDK 位置参考。
SDK 多久更新一次位置?
启用位置跟踪后,SDK 在应用使用期间大约每 5 分钟更新一次坐标。如果应用被强制停止,位置更新将暂停,直到用户再次打开应用。我可以按城市定向用户吗?
不能原生实现。OneSignal 跟踪国家(通过 IP 地址)和 GPS 坐标(通过 SDK),但不跟踪城市或区号。您可以使用反向地理编码服务从坐标推断城市并将其存储为标签。请参阅按城市或自定义位置定向。相关页面
位置选择提示
在请求原生位置权限之前,使用应用内消息作为软预提示。
细分
使用位置过滤器、标签和用户属性创建受众细分。