Slide 1

Slide 1 text

Android Nearby Connection and Messages API

Slide 2

Slide 2 text

Tato Kutalia tatocaster tatocaster.me github.com/tatocaster twitter.com/@tatokutalia

Slide 3

Slide 3 text

Android Nearby

Slide 4

Slide 4 text

Android Nearby Appeared in 2015 Part of the Google Services Crossplatform? Works mostly on Android*

Slide 5

Slide 5 text

Android Nearby uses: • Bluetooth Classic • BLE • WiFI • Ultrasonic Sound wave!!

Slide 6

Slide 6 text

Android Nearby Nearby.Connections Nearby.Messages 2 main APIs

Slide 7

Slide 7 text

Nearby.Connections Nearby.Connections allows the discovery of devices connected to be on the same Wi-Fi network using multicast packets sent over the access point.

Slide 8

Slide 8 text

Nearby.Connections

Slide 9

Slide 9 text

Nearby.Connections Nearby Connections is more like a Master-Slaves Model (One- to-Many model). The Master Device can Nearby.Connections.startAdvertising to all the devices. The nearby devices could use Nearby.Connections.startDiscovering to discover the advertisement.

Slide 10

Slide 10 text

Nearby.Connections needs only service_id in Manifest

Slide 11

Slide 11 text

Nearby.Messages Nearby.Messages is like a broadcast and receiver model. It’s a many-to-many model, where all devices broadcast and everyone listens. The function used is Nearby.Messages.publish and Nearby.Messages.subscribe.

Slide 12

Slide 12 text

Nearby.Messages

Slide 13

Slide 13 text

Nearby.Messages Nearby Connections is more like a Master-Slaves Model (One- to-Many model). The Master Device can Nearby.Connections.startAdvertising to all the devices. The nearby devices could use Nearby.Connections.startDiscovering to discover the advertisement.

Slide 14

Slide 14 text

Nearby.Messages more complex needs Google Service API Key

Slide 15

Slide 15 text

Nearby.Connections

Slide 16

Slide 16 text

Nearby.Connections Message Types • Reliable (TCP) • Unreliable (UDP)

Slide 17

Slide 17 text

Android Nearby Do not send sensitive data!!

Slide 18

Slide 18 text

Android Nearby works only in Foreground no cross-activity Connection permission on start

Slide 19

Slide 19 text

Result https://github.com/tatocaster/Android-Nearby-Demo