Pular para o conteúdo

Usando o módulo de localização do Pushwoosh em aplicativos Android

Existem duas categorias de acesso à localização no Android:

  • Acesso à localização em primeiro plano
  • Acesso à localização em segundo plano

Para atualizar a localização do usuário em primeiro plano, uma das seguintes condições deve ser atendida:

  • Uma das atividades do aplicativo está ativa
  • O serviço em primeiro plano do tipo foregroundServiceType = “location” é iniciado para o aplicativo

O acesso em segundo plano permite que o aplicativo obtenha a geolocalização do usuário enquanto o aplicativo está inativo e nenhum serviço em primeiro plano do tipo “location” é iniciado para esse aplicativo.

Acesso à localização em primeiro plano

Anchor link to

Se você for usar o módulo de localização do Pushwoosh para atualizar a localização do usuário apenas quando seu aplicativo estiver ativo, adicione o módulo pushwoosh-location ao seu app/build.gradle:

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

Para iniciar o módulo, use o método startLocationTracking:

PushwooshLocation.startLocationTracking();

Usando o ForegroundService para fazer solicitações de localização quando seu aplicativo está em segundo plano

Anchor link to

Para iniciar o ForegroundService quando o método startLocationTracking é chamado, o que permite obter a geolocalização do usuário quando seu aplicativo está em segundo plano, siga os passos descritos no parágrafo anterior, depois adicione os seguintes metadados ao seu AndroidManifest.xml:

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

Quando o ForegroundService é iniciado, uma notificação é criada. Você pode personalizar a notificação especificando os metadados adicionais no AndroidManifest.xml do seu projeto:

...
<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>
...

Acesso à localização em segundo plano

Anchor link to

Para atualizar a geolocalização em segundo plano sem iniciar o ForegroundService, você precisará do seguinte:

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

Na versão 6.3.2 do módulo pushwoosh-location, incluímos um método adicional que abre a tela de configurações de permissão de localização se as seguintes condições forem atendidas:

  • Há a permissão de localização em primeiro plano concedida para o aplicativo;
  • A permissão do usuário ACCESS_BACKGROUND_LOCATION está presente no AndroidManifest.xml do aplicativo.

Chame o método da seguinte forma:

PushwooshLocation.requestBackgroundLocationPermission();

Tipos de permissão do Android 12+

Anchor link to

A partir do Android 12, ao ser solicitado a permissão de acesso à localização em primeiro plano, um usuário pode escolher com que frequência e com que precisão o aplicativo obterá a localização do usuário.

Existem dois tipos dessas permissões:

  1. Localização aproximada, que é igual a ACCESS_COARSE_LOCATION
  2. Localização precisa, que é igual a ACCESS_FINE_LOCATION e ACCESS_COARSE_LOCATION

Compartilhe seu feedback conosco

Anchor link to

Seu feedback nos ajuda a criar uma experiência melhor, então adoraríamos ouvir de você se tiver algum problema durante o processo de integração do SDK. Se você enfrentar alguma dificuldade, não hesite em compartilhar suas opiniões conosco através deste formulário.