Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Nearby Notifications

Nearby Notifications



July 15, 2016


  1. Nearby Notifications 07/15/2016 shibuya.apk #9 @ctake0005

  2. Agenda • Overview • Eddystone • Getting Started • Attachement

    Data Format
  3. Overview

  4. Overveiw • Extends the Nearby APIs ◦ Nearby Messages ◦

    Nearby Connections ◦ Nearby Notifications [New !!] • Google Play Service 9.2 • work on Android 4.4 (KitKat) and above
  5. Overveiw • Nearby Notifications helps users to discover new ways

    to get things done with their Android phones by surfacing location-specific notifications for apps and websites. • You can associate your app or website with a BLE beacon or BLE-capable smart device. • Android users near that device or beacon will receive a notification that leads to either an app install, a mobile website, or directly to your app if it's already installed.
  6. Overveiw ( Three basic types of experience ) • HTTPS

    web URL • App intent, with URL fallback • Direct app installs
  7. Eddystone

  8. Eddystone • Google announced on July 15, 2015. (July 14

    at Local time)   Happy Birthday !! • Open format for Bluetooth low energy (BLE) beacon - Apache v2.0 license • Cross-platform - capable of supporting Android, iOS or any platform that supports BLE beacons • Multiple frame types support
  9. Eddystone ( frame types ) • Eddystone-UID (Unique ID) -

    like iBeacon’s UUID • Eddystone-URL - forms the backbone of the Physical Web • Eddystone-TLM (TeLeMetry) - useful for monitoring the health and operation of a fleet of beacons • Eddystone-EID (Ephemeral ID) - change frequently, and allow only authorized clients to decode them
  10. Eddystone ( Eddystone-UID ) • The 10-byte Namespace ID component

    is unique self-assigned beacon ID namespace. • The 6-byte Instance ID component is unique within the namespace. Byte offset Field Description 0 Frame Type 0x00(UID) 1 TX Power Calibrated Tx Power at 0 m 2-11 Namespace ID Namespace ID 12-17 Instance ID Instance ID 18-19 RFU Reserved for future:0x00
  11. Eddystone ( Eddystone-URL ) Byte offset Field Description 0 Frame

    Type 0x10(URL) 1 TX Power Calibrated Tx Power at 0 m 2 URL Scheme URL Scheme Prefix 3+ Encoded URL Length 1-17 Hex Expansion 0x00 http://www. 0x01 https://www. 0x02 http:// 0x03 https://
  12. Eddystone ( Eddystone-TLM ) Byte offset Field Description 0 Frame

    Type 0x20(TLM) 1 Version TLM version, value = 0x00 2-3 VBATT Battery voltage, 1 mV/bit 4-5 TEMP Beacon temperature 6-9 ADV_CNT Advertising PDU count 10-13 SEC_CNT Time since power-on or reboot
  13. Eddystone ( Eddystone-EID ) Byte offset Field Description 0 Frame

    Type 0x30(EID) 1 Ranging Data Calibrated Tx Power at 0 m 2-9 EID 8-byte Ephemeral Identifier
  14. Getting Started

  15. Getting Started • Get Beacons • Configure them • Register

    them • Tie them to web or app
  16. Get Beacons • Buy Eddystone supported beacons • Turn an

    Android or iOS phone into a temporary beacon (Eddystone-UID android app : https://github.com/google/eddystone/tree/master/eddystone-uid/tools/txeddystone- uid/TxEddystone-UID) • Devices with supported hardware can be configured to advertise BLE
  17. Configure them To set the frame type, broadcast intervals and

    power levels. (using setting software that was providered by your beacon manifacturer)
  18. Register them • Register ownership of your beacons with the

    Google Beacon Registry, using the Beacon Tools app (Android and iOS). ◦ Select the Google Developer project. ◦ Select the beacon you want to register ◦ Tap [Register Beacon] (You can also use the Proximity Beacon API .)
  19. Tie them to web or app • These are the

    options for associating attachments with beacons ◦ Use the Google Beacon Dashboard (recommend). ◦ Use the Beacon Tools app. ◦ Use the Proximity Beacon API.
  20. Attachment Data Format

  21. Attachment Data Format • Attachment should be formatted using JSON.

    { "title": "Example", "description": "A great website", "url": "https://www.example.com" }
  22. Attachment Data Format • URL formats // App install intent://product/foo#intent;scheme=myapp;package=com.example.app;end

    // App with web fallback intent://product/foo#intent;scheme=myapp;package=com.example.app; \ S.browser_fallback_url=https%3A%2F%2Fm.example.com%2Ffoo;end // Simply the web https://m.example.com/foo
  23. Attachment Data Format • Add an intent filter to your

    app’s AndroidManifest.xml <intent-filter> <action android:name="android.intent.action.VIEW"/> <!-- both categories below are required --> <category android:name="android.intent.category.BROWSABLE"/> <category android:name="android.intent.category.DEFAULT"/> <data android:host="product" android:pathPrefix="/foo" android:scheme="myapp"/> </intent-filter> ex) Beacon Attachment intent://product/foo#intent;scheme=myapp;package=com.example.app;end
  24. None
  25. Demo

  26. Screenshots

  27. More Info • reference ◦ developers.google.com/nearby • Google I/O 2016

    Sessions ◦ Introducing Nearby ◦ Location and Proximity Superpowers
  28. Thank you