Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Para Revisão] - Capítulo 3 - Native - BackgroundGeolocation #59

Open
wants to merge 22 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
99 changes: 57 additions & 42 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,48 +38,63 @@
2.22 Toolbar

####3. Nativo
3.1 [ActionSheet](chapters/03-nativo/3a-actionSheet.md)
3.2 [AppAvailability](chapters/03-nativo/3b-appAvailability.md)
3.3 [AppRate](chapters/03-nativo/3c-appRate.md)
3.4 [AppVersion](chapters/03-nativo/3d-appVersion.md)
3.5 Badge
3.6 BarCodeScanner
3.7 [Base64ToGallery](chapters/03-nativo/3g-base64togallery.md)
3.8 [BatteryStatus](chapters/03-nativo/3h-batteryStatus.md)
3.9 BLE
3.10 Calendar
3.11 Camera
3.12 Clipboard
3.13 Connection
3.14 Contats
3.15 DatePicker
3.16 DBMeter
3.17 Device
3.18 DeviceMotion
3.19 DeviceOrientation
3.20 Dialogs
3.21 Facebook
3.22 File
3.23 Flashlight
3.24 [Geolocation](chapters/03-nativo/3w-geolocation.md)
3.25 Globalization
3.27 [Google Maps](chapters/03-nativo/3za-googleMaps.md)
3.26 Hotspot
3.27 ImagePicker
3.28 InAppBrowser
3.29 Keyboard
3.30 LaunchNavigator
3.31 LocalNotifications
3.32 Network
3.33 [Push](chapters/03-nativo/3v-push.md)
3.34 SMS
3.35 SocialSharing
3.36 SpinnerDialog
3.37 SplashScreen
3.38 StatusBar
3.39 Toast
3.40 TouchID
3.41 Vibration
3.1 > [ActionSheet](3a-actionSheet.md)
3.2 > [AppAvailability](3b-appAvailability.md)
3.3 > [AppRate](3c-appRate.md)
3.4 > [AppVersion](3d-appVersion.md)
3.5 > Badge
3.6 > BarCodeScanner
3.7 > [Base64ToGallery](3g-base64togallery.md)
3.8 > [BatteryStatus](3h-batteryStatus.md)
3.9 > BLE
3.10 > Calendar
3.11 > Camera
3.12 > Clipboard
3.13 > Connection
3.14 > Contats
3.15 > DatePicker
3.16 > DBMeter
3.17 > Device
3.18 > DeviceMotion
3.19 > DeviceOrientation
3.20 > Dialogs
3.21 > Facebook
3.22 > File
3.23 > Flashlight
3.24 > [Geolocation](3w-geolocation.md)
3.25 > [Globalization](325-globalization.md)
3.26 > [Google Analytics](326-analytics.md)
3.27 > [Google Maps](3za-googleMaps.md)
3.28 > Google Plus
3.29 > [Hotspot](329-hotspot.md)
3.30 > Httpd
3.31 > IBeacon
3.32 > [ImagePicker](332-imagepicker.md)
3.33 > [InAppBrowser](333-inappbrowser.md)
3.34 > Ionic Deeplinks
3.35 > Keyboard
3.36 > Launch Navigator
3.37 > Local Notifications
3.38 > MediaError
3.39 > MediaPlugin
3.40 > Network
3.41 > OneSignal
3.42 > Printer
3.43 > [Push](3v-push.md)
3.44 > SafariViewController
3.45 > Screenshot
3.46 > SMS
3.47 > Social Sharing
3.48 > Spinner Dialog
3.49 > SplashScreen
3.50 > SQLite
3.51 > StatusBar
3.52 > Toast
3.53 > TouchID
3.54 > Transfer
3.55 > Vibration
3.56 > WebIntent


####4. Temas
4.1 [Introdução](chapters/04-temas/4a-intro.md)
Expand Down
128 changes: 128 additions & 0 deletions chapters/03-nativo/3y-backgroundGeolocation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
BackgroundGeolocation
===========

```
$ ionic plugin add cordova-plugin-mauron85-background-geolocation
```

Repositório: [https://github.com/mauron85/cordova-plugin-background-geolocation](https://github.com/mauron85/cordova-plugin-background-geolocation)

O plugin nos proporciona a geolocalização em primeiro plano ou em segundo plano(*background*) com economia de bateria ao utilizar "monitoramento de região circular" e "pausa de detecção".

Para mais informações, por favor veja a [documentação do plugin](https://github.com/mauron85/cordova-plugin-background-geolocation).

Platafomas suportadas
-----
- Android
- iOS
- Windows Phone 8

Uso
---

``` javascript
import {BackgroundGeolocation} from 'ionic-native';



// Quando o dispositivo estiver pronto :
platform.ready().then(() => {

// BackgroundGeolocation é altamente configurável. Veja as opcões específicas de configuração da plataforma
let config = {
desiredAccuracy: 10,
stationaryRadius: 20,
distanceFilter: 30,
debug: true, // habilite para ouvir sons referentes ao ciclo de vida do background-geolocation.
stopOnTerminate: false, // habilite para limpar as configurações de localização em segundo plano quando o app for fechado.
};

BackgroundGeolocation.configure(config)
.then((location) => {
console.log('[js] BackgroundGeolocation callback: ' + location.latitude + ',' + location.longitude);

// IMPORTANTE: Você precisa executar o método "finish" aqui para informar o plugin nativo de que você terminou
// e a tarefa em background pode ser concluída. Você precisa fazer isso independentemente do sucesso da sua requisição HTTP.
// SE VOCÊ NÃO FIZER, iOS vai FINALIZAR SUA APLICAÇÃO(CRASH) por ficar muito tempo em segundo plano.
BackgroundGeolocation.finish(); // SOMENTE IOS
})
.catch((error) => {
console.log('BackgroundGeolocation error');
});

// LIGA o sistema de geolocalização em segundo plano. O usuário vai ser rastreado sempre que ele suspender a aplicação.
BackgroundGeolocation.start();
}

// Se você quiser DESLIGAR o sistema de localização em segundo plano, chame o método "stop".
BackgroundGeolocation.stop();
```

Métodos estáticos
-----------------

``` configure() ```

Configura o plugin. O callback de sucesso vai ser chamado com um argumento - Objeto de localização, que tenta imitar a interface de coordenadas do w3c. Veja mais em [http://dev.w3.org/geo/api/spec-source.html#coordinates_interface](http://dev.w3.org/geo/api/spec-source.html#coordinates_interface) Callback executado toda vez que a geolocalização é salva em segundo plano.

Callback de falha a ser executado toda vez que ocorrer um erro na geolocalização.

Options é um objeto json do tipo Config.

``` start() ```

LIGA o sistema de geolocalização em segundo plano. O usuário vai ser rastreado sempre que ele suspender a aplicação.

``` stop() ```

DESLIGA o sistema de geolocalização em segundo plano.

``` finish() ```

Informa o plugin nativo de que você terminou e a tarefa em segundo plano(background) pode ser concluída. OBS: Somente iOS e WP.

``` changePace() ```

Força o plugin a entrar no modo "em movimento" ou "fixo". OBS: Somente iOS e WP.

``` setConfig() ```

Define as configurações.

``` getStationaryLocation() ```

Retorna a stationaryLocation se disponivel. retorna null se não estiver. OBS: Somente iOS e WP.

``` onStationary() ```

Adiciona um *listener* para região fixa. Sempre que o device entrar em "modo fixo", seu callback de sucesso vai ser executado com o parâmetro de localização contendo o "radius" da região. OBS: Somente iOS e WP

``` isLocationEnabled() ```

Verifica se a localização está habilitada no dispositivo.

Returns: Promise<number> Retorna uma promise com um argumento do tipo int com valores 0, 1 (true). OBS: Somente ANDROID.

``` showLocationSettings() ```

Mostra as configurações de localização do dispositivo.

``` watchLocationMode() ```

Método pode ser usado para detectar mudanças do usuário nas configurações do serviço de localização. Se o usuário habilitar ou desabilitar os serviços de localização o callback de sucesso será executado. Em caso de erro (SettingNotFoundException) o callback de falha será executado. OBS: Somente ANDROID.

``` stopWatchingLocationMode() ```

Para de olhar para mudanças nos modos de localização. OBS: Somente ANDROID.

``` getLocations() ```

Método vai retornar todas as localizações salvas. As localizações são salvas quando: - config.stopOnTerminate é falso e a atividade principal foi morta pelo sistema ou - option.debug é verdadeiro. OBS: Somente ANDROID

``` deleteLocation() ```

Deleta a localização salva passando o locationId. OBS: Somente ANDROID

``` deleteAllLocations() ```

Deleta todas as localizações salvas. OBS: Somente ANDROID
48 changes: 31 additions & 17 deletions chapters/03-nativo/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,21 +23,35 @@
3.22 > File
3.23 > Flashlight
3.24 > [Geolocation](3w-geolocation.md)
3.25 > Globalization
3.25 > Globalization
3.26 > Google Analytics
3.27 > [Google Maps](3za-googleMaps.md)
3.26 > Hotspot
3.27 > ImagePicker
3.28 > InAppBrowser
3.29 > Keyboard
3.30 > LaunchNavigator
3.31 > LocalNotifications
3.32 > Network
3.33 > [Push](3v-push.md)
3.34 > SMS
3.35 > SocialSharing
3.36 > SpinnerDialog
3.37 > SplashScreen
3.38 > StatusBar
3.39 > Toast
3.40 > TouchID
3.41 > Vibration
3.28 > Google Plus
3.29 > Hotspot
3.30 > Httpd
3.31 > IBeacon
3.32 > ImagePicker
3.33 > InAppBrowser
3.34 > Ionic Deeplinks
3.35 > Keyboard
3.36 > Launch Navigator
3.37 > Local Notifications
3.38 > MediaError
3.39 > MediaPlugin
3.40 > Network
3.41 > OneSignal
3.42 > Printer
3.43 > [Push](3v-push.md)
3.44 > SafariViewController
3.45 > Screenshot
3.46 > SMS
3.47 > Social Sharing
3.48 > Spinner Dialog
3.49 > SplashScreen
3.50 > SQLite
3.51 > StatusBar
3.52 > Toast
3.53 > TouchID
3.54 > Transfer
3.55 > Vibration
3.56 > WebIntent