Saltar al contenido principal
Envía mensajes a los usuarios según dónde están. OneSignal puede segmentar usuarios por país, coordenadas GPS o etiquetas personalizadas para crear alcance oportuno y relevante basado en ubicación física. A medida que los usuarios interactúan con tu app y el seguimiento de ubicación está habilitado, sus coordenadas se actualizan periódicamente (aproximadamente cada 5 minutos mientras la app está en uso) y pueden usarse para enviar mensajes a través de Journeys o cualquier herramienta de creación de mensajes.
OneSignal no rastrea la ubicación GPS de forma predeterminada. El SDK solo recopila latitud y longitud cuando se cumplen las tres condiciones siguientes:
  1. Tu app tiene los permisos y dependencias de ubicación correctos.
  2. Tu app habilita explícitamente el intercambio con OneSignal. Sin esto, tu app puede recopilar datos de ubicación pero no los compartirá con OneSignal.
  3. El usuario otorga permiso de ubicación en el prompt del sistema.
Consulta la Configuración del seguimiento de ubicación para la configuración. Para contexto sobre el comportamiento de ubicación del SDK, consulta You’re in Control: How Location Actually Works in OneSignal’s SDK.

Orientar por país

El país se determina por la dirección IP del dispositivo y se actualiza automáticamente cada vez que el usuario abre tu app. El valor usa el código de país de dos letras ISO 3166-1 Alpha-2 (por ejemplo, US, GB, CA). Orienta por país usando el campo country en Segmentos o en el parámetro filters de la API de creación de segmentos:
"filters": [
  { "field": "country", "relation": "=", "value": "US" }
]

Orientar por ubicación (latitud, longitud y radio)

Si tu app móvil recopila ubicación GPS y la comparte con OneSignal, el SDK actualiza las coordenadas del usuario aproximadamente cada 5 minutos (según los permisos y reglas del sistema). Si la app se detiene forzosamente, la ubicación no puede rastrearse hasta que el usuario la abra nuevamente.

Configuración del seguimiento de ubicación

El seguimiento de ubicación se configura en el código de tu app móvil, no en el Dashboard de OneSignal. Como mínimo, tu app debe:
  • Agregar permisos de ubicación nativos y dependencias para iOS y Android.
  • Habilitar el indicador Location.isShared para compartir coordenadas con OneSignal.
  • Solicitar el permiso de ubicación del sistema, o usar un mensaje in-app como soft pre-prompt para mejores tasas de opt-in.

Referencia de ubicación del Mobile SDK

Configuración completa y código por plataforma para iOS, Android, React Native, Flutter, Unity y Cordova/Ionic.
Una vez habilitado el seguimiento de ubicación, puedes crear segmentos o enviar mensajes a través de nuestra API usando el filtro location.
OneSignal segment builder showing the location radius filter with latitude, longitude, and radius fields

Seguimiento de latitud y longitud de web push

OneSignal no recopila latitud/longitud para web. Sin embargo, puedes usar etiquetas para establecer la ubicación desde tu app web o usar la Update User API para establecer la ubicación desde tu servidor. Ejemplo de etiquetado:
  1. Solicita acceso a la ubicación en tu app web usando la Geolocation API del navegador.
  2. Usa JavaScript para detectar las coordenadas del usuario.
  3. Envía esas coordenadas a OneSignal usando etiquetas.
OneSignal.User.addTags({
  lat: "37.160",
  long: "-117.773"
});
Una vez que las etiquetas estén establecidas, crea un segmento con geofencing combinando filtros de rango de etiquetas. Por ejemplo, para orientar a usuarios dentro del bounding box 37° ≤ lat < 38° y -118° ≤ long < -117°, agrega estos cuatro filtros en el constructor de segmentos:
  • Etiqueta lat mayor que 37
  • Etiqueta lat menor que 38
  • Etiqueta long mayor que -118
  • Etiqueta long menor que -117

Orientar por ciudad o ubicación personalizada

OneSignal no detecta nativamente ciudad o códigos de área. Para orientar por ciudad o ubicación personalizada:
  • Permite que los usuarios ingresen una ciudad o región en un formulario.
  • O usa JavaScript con geocodificación inversa (por ejemplo, API de Google Maps) para inferir la ciudad desde las coordenadas.
  • Envía el nombre de la ciudad como etiqueta de datos.
OneSignal.User.addTag("city", "San Francisco");

FAQ

¿El seguimiento de ubicación funciona en web?

No de forma nativa. El Web SDK de OneSignal no recopila coordenadas GPS. Para usar segmentos basados en ubicación con web push, recopila coordenadas tú mismo de la Geolocation API del navegador y envíalas a OneSignal como etiquetas, luego crea segmentos con filtros de rango sobre esas etiquetas. Consulta Seguimiento de latitud y longitud de web push.

¿Por qué mi app no está rastreando la ubicación?

Verifica que las tres condiciones de configuración se cumplan: tu app tiene los permisos de ubicación y dependencias correctos instalados, Location.isShared está establecido en true, y el usuario ha otorgado permiso de ubicación en el prompt del sistema. Consulta la referencia de ubicación del Mobile SDK para la configuración específica de plataforma y soluciones comunes, incluyendo la dependencia Android play-services-location.

¿Con qué frecuencia actualiza la ubicación el SDK?

Cuando el seguimiento de ubicación está habilitado, el SDK actualiza las coordenadas aproximadamente cada 5 minutos mientras la app está en uso. Si la app se detiene forzosamente, las actualizaciones de ubicación se pausan hasta que el usuario abra la app nuevamente.

¿Puedo orientar usuarios por ciudad?

No de forma nativa. OneSignal rastrea el país (a través de la dirección IP) y las coordenadas GPS (a través del SDK), pero no la ciudad o código de área. Puedes inferir la ciudad desde las coordenadas usando un servicio de geocodificación inversa y almacenarla como etiqueta. Consulta Orientar por ciudad o ubicación personalizada.

Páginas relacionadas

Prompt de opt-in de ubicación

Usa un mensaje in-app como soft pre-prompt antes de solicitar el permiso de ubicación nativo.

Segmentos

Crea segmentos de audiencia usando filtros de ubicación, etiquetas y propiedades de usuario.