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 toSi 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:
implementation 'com.pushwoosh:pushwoosh-location:6.+'Para iniciar el módulo, utilice el método startLocationTracking:
PushwooshLocation.startLocationTracking();PushwooshLocation.startLocationTracking()Uso de ForegroundService para realizar solicitudes de localización cuando su aplicación está en segundo plano
Anchor link toPara 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 toPara actualizar la geolocalización en segundo plano sin iniciar un ForegroundService, necesitará lo siguiente:
- Obtener la aprobación de Google Play para que su aplicación acceda a la localización en segundo plano (consulte https://support.google.com/googleplay/android-developer/answer/9799150?hl=es para más detalles)
- Añadir el permiso a su AndroidManifest.xml:
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />- Solicitar el permiso del usuario para actualizar la localización en segundo plano después de recibir el permiso de localización en primer plano (encuentre las directrices en la documentación para desarrolladores de Android: https://developer.android.com/training/location/permissions#background-dialog-target-android-11 )
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_LOCATIONestá presente en el AndroidManifest.xml de la aplicación.
Llame al método de la siguiente manera:
PushwooshLocation.requestBackgroundLocationPermission();PushwooshLocation.requestBackgroundLocationPermission()Tipos de permiso en Android 12+
Anchor link toA 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:
- Localización aproximada, que es igual a ACCESS_COARSE_LOCATION
- Localización precisa, que es igual a ACCESS_FINE_LOCATION y ACCESS_COARSE_LOCATION
Comparta sus comentarios con nosotros
Anchor link toSus 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.