conhecendo e utilizando beacons e a nearby api para android
TRANSCRIPT
![Page 1: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/1.jpg)
Conhecendo e utilizando Beacons e a Nearby API para AndroidMarcelo Quinta
@mrquinta
![Page 2: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/2.jpg)
Como implementar localização?
![Page 3: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/3.jpg)
Como implementar localização?
Wifi Satélite Rede móvel Bluetooth
![Page 4: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/4.jpg)
O que é um beacon BLE?
![Page 5: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/5.jpg)
![Page 6: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/6.jpg)
![Page 7: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/7.jpg)
![Page 8: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/8.jpg)
![Page 9: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/9.jpg)
![Page 10: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/10.jpg)
![Page 11: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/11.jpg)
O que é um beacon BLE?
• Dispositivo por localização por bluetooth • 2.4 Ghz, mas em canal diferente • Certa capacidade de guardar informações • ˜30bytes
• Bateria que pode durar anos • Broadcast de uma a dez vezes por segundo
![Page 12: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/12.jpg)
https://www.youtube.com/watch?v=TZf4WquRGJU
![Page 13: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/13.jpg)
![Page 14: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/14.jpg)
CONTEXTO
![Page 15: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/15.jpg)
![Page 16: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/16.jpg)
![Page 17: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/17.jpg)
Qual é a parada?
![Page 18: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/18.jpg)
![Page 19: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/19.jpg)
Beacon
![Page 20: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/20.jpg)
Beacon
![Page 21: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/21.jpg)
Beacon 12345
Beacon
![Page 22: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/22.jpg)
???
Beacon 12345
Beacon
![Page 23: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/23.jpg)
???
Beacon 12345
Beacon
Parada X
![Page 24: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/24.jpg)
![Page 25: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/25.jpg)
https://github.com/google/eddystone
Eddystone
![Page 26: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/26.jpg)
Eddystone
• Padrão open-source • ID • URL • Ephemeral IDs • Dados de telemetria
• Broadcast menos frequente que o iBeacon
![Page 27: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/27.jpg)
https://www.youtube.com/watch?v=TZf4WquRGJU
![Page 28: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/28.jpg)
Google PlacesNearby APIProximity beacons API
APIs
![Page 29: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/29.jpg)
Começando
![Page 30: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/30.jpg)
Passo 1: Hardware
![Page 31: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/31.jpg)
Passo 2: Registro com Proximity Beacons API
![Page 32: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/32.jpg)
Passo 2: Registro com Proximity Beacons API
https://proximitybeacon.googleapis.com/v1beta1/beacons:register
![Page 33: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/33.jpg)
Passo 3: Codificação
Nearby API
Google Play Services 7.8 Bluetooth Sons inaudíveis
![Page 34: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/34.jpg)
Android:
MesssageFilter.Builder messageFilterBuilder = new MessageFilter.Builder()
![Page 35: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/35.jpg)
Android:
MesssageFilter.Builder messageFilterBuilder = new MessageFilter.Builder() // Include messages published by this app. .includeAllMyTypes() // Include messages of a specific type, published by nearby beacons. .includeNamespacedType("com.google.location.beaconservice", "sample_attachment");messageFilterBuilder.includeDevicePresenceMessages( NearbyDeviceFilter.forEddystone(MY_EDDYSTONE_NAMESPACE))
![Page 36: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/36.jpg)
Android:
MesssageFilter.Builder messageFilterBuilder = new MessageFilter.Builder() // Include messages published by this app. .includeAllMyTypes() // Include messages of a specific type, published by nearby beacons. .includeNamespacedType("org.example.beaconinfoeservice", "sample_attachment");messageFilterBuilder.includeDevicePresenceMessages( NearbyDeviceFilter.forEddystone(MY_EDDYSTONE_NAMESPACE))SubscribeOptions options = new SubscribeOptions.Builder() .setStrategy(getStrategy()) .setFilter(messageFilterBuilder.build()) .build();Nearby.Messages.subscribe(mGoogleApiClient, mMessageListener, options) .setResultCallback(new ErrorCheckingCallback("subscribe(MessageListener)"));
![Page 37: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/37.jpg)
iOS:
GNSStrategy *beaconStrategy
![Page 38: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/38.jpg)
iOS:
GNSStrategy *beaconStrategy = [GNSStrategy strategyWithParamsBlock:^(GNSStrategyParams *params) { params.includeBLEBeacons = YES; }];
![Page 39: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/39.jpg)
iOS:
GNSStrategy *beaconStrategy = [GNSStrategy strategyWithParamsBlock:^(GNSStrategyParams *params) { params.includeBLEBeacons = YES; }];GNSSubscriptionParams *beaconParams = [GNSSubscriptionParams paramsWithMessageNamespace:@“com.mycompany.mybeaconservice” type:@“mybeacontype” strategy:beaconStrategy];_beaconSubscription = [_messageManager subscriptionWithParams:beaconParams messageFoundHandler:myMessageFoundHandler messageLostHandler:myMessageLostHandler];
![Page 40: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/40.jpg)
// it here in code. if (!_signInButton) { _signInButton = [[GIDSignInButton alloc] init]; [_unsignedInView addSubview:_signInButton]; CGRect r; r.origin.x = (viewf.width / 2) - 75; r.origin.y = viewf.height / 2 - 20; r.size.width = 150; r.size.height = 40; _signInButton.frame = r; }
if (!_signInStatusIndicator) { _signInStatusIndicator = [[UIActivityIndicatorView alloc] init]; _signInStatusIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyleGray; [_unsignedInView addSubview:_signInStatusIndicator]; CGRect r; r.origin.x = (viewf.width / 2) - 40; r.origin.y = viewf.height / 2 - 40; r.size.width = 80; r.size.height = 80; _signInStatusIndicator.frame = r; }
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(loginStatusChangedNotification:) name:kBSDLoginStatusChangedNotification object:nil];
}
- (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated];}
- (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated];
[GIDSignIn sharedInstance].uiDelegate = self;}
- (void)loginStatusChangedNotification:(NSNotification *)notification { [self updateUIForSignInStatus];}
![Page 41: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/41.jpg)
Seja explícito ao realizar broadcast
Tenha a permissão Cuidado com a bateria
![Page 42: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/42.jpg)
Mais informações
Nearby Connections e Nearby Messages
developer.android.com/nearby
Beacons em geral
developer.google.com/beacons
Proximity Beacon API
developer.google.com/beacons/proximity
Eddystone
github.com/google/eddystone
![Page 43: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/43.jpg)
1/3 Developing with BeaconsVídeos recomendados
![Page 44: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/44.jpg)
Physical webAlgo a se pensar
https://github.com/google/physical-web
![Page 45: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/45.jpg)
Venha conversar com a galera no Buteco!
Google Developer Experts
![Page 46: Conhecendo e utilizando Beacons e a Nearby API para Android](https://reader031.vdocuments.mx/reader031/viewer/2022030310/58f0a05b1a28ab74788b4609/html5/thumbnails/46.jpg)
Marcelo Quinta@mrquinta
Obrigado
Essa palestra foi baseada em material disponibilizado pelo Google. Dê uma olhada no canal do Youtube deles: https://www.youtube.com/user/GoogleDevelopers