Saltar al contenido

Uso del módulo de localización de Pushwoosh en aplicaciones de Android

Existen dos categorías de acceso a la localización en Android:

  • Acceso a la localización en primer plano
  • Acceso a la localización en segundo plano

Para actualizar la ubicación del usuario en primer plano, se debe cumplir una de las siguientes condiciones:

  • Una de las actividades de la aplicación está activa
  • Se ha iniciado un servicio en primer plano del tipo foregroundServiceType = “location” para la aplicación

El acceso en segundo plano permite a la aplicación obtener la geolocalización del usuario mientras la aplicación está inactiva y no se han iniciado servicios en primer plano del tipo “location” para esa aplicación.

Acceso a la localización en primer plano

Anchor link to

Si va a utilizar el módulo de localización de Pushwoosh para actualizar la ubicación del usuario solo cuando su aplicación esté activa, añada el módulo pushwoosh-location a su app/build.gradle:

build.gradle
implementation 'com.pushwoosh:pushwoosh-location:6.+'

Para iniciar el módulo, utilice el método startLocationTracking:

PushwooshLocation.startLocationTracking();

Uso de ForegroundService para realizar solicitudes de localización cuando su aplicación está en segundo plano

Anchor link to

Para iniciar el ForegroundService cuando se llama al método startLocationTracking, lo que permite obtener la geolocalización del usuario cuando su aplicación está en segundo plano, siga los pasos descritos en el párrafo anterior y, a continuación, añada los siguientes metadatos a su AndroidManifest.xml:

...
<application>
....
<meta-data
android:name="com.pushwoosh.start_foreground_service"
android:value="true" />
...
</application>
...

Cuando se inicia el ForegroundService, se crea una notificación. Puede personalizar la notificación especificando los metadatos adicionales en el AndroidManifest.xml de su proyecto:

...
<application>
....
<meta-data
android:name="com.pushwoosh.foreground_service_notification_text"
android:value="My notification text" />
<meta-data
android:name="com.pushwoosh.foreground_service_notification_channel_name"
android:value="My notification channel name" />
...
</application>
...

Acceso a la localización en segundo plano

Anchor link to

Para actualizar la geolocalización en segundo plano sin iniciar un ForegroundService, necesitará lo siguiente:

<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />

En la versión 6.3.2 del módulo pushwoosh-location, hemos incluido un método adicional que abre la pantalla de configuración de permisos de localización si se cumplen las siguientes condiciones:

  • La aplicación tiene concedido el permiso de localización en primer plano;
  • El permiso de usuario ACCESS_BACKGROUND_LOCATION está presente en el AndroidManifest.xml de la aplicación.

Llame al método de la siguiente manera:

PushwooshLocation.requestBackgroundLocationPermission();

Tipos de permiso en Android 12+

Anchor link to

A partir de Android 12, cuando se le solicita el permiso de acceso a la localización en primer plano, un usuario puede elegir con qué frecuencia y con qué precisión la aplicación obtendrá su localización.

Hay dos tipos de permisos:

  1. Localización aproximada, que es igual a ACCESS_COARSE_LOCATION
  2. Localización precisa, que es igual a ACCESS_FINE_LOCATION y ACCESS_COARSE_LOCATION

Comparta sus comentarios con nosotros

Anchor link to

Sus comentarios nos ayudan a crear una mejor experiencia, por lo que nos encantaría saber de usted si tiene algún problema durante el proceso de integración del SDK. Si se enfrenta a alguna dificultad, no dude en compartir sus opiniones con nosotros a través de este formulario.