$30 off During Our Annual Pro Sale. View Details »

[English] Create Mobile LBS Application Using Maps API

[English] Create Mobile LBS Application Using Maps API

Topics:
Understand how easy to connect the cloud platform(including Cloud data store) as backend and to develop the LBS application
Understand our ToS and what is the difference between free and Paid
Target audience is mobile developer and gaming industry.

GoogleCloudPlatformJapan

February 25, 2015
Tweet

More Decks by GoogleCloudPlatformJapan

Other Decks in Technology

Transcript

  1. Confidential and proprietary
    Develop LBS application with utilizing Maps API
    Geospatial Sales Engineer, Google Maps for Work
    Tomoyasu Maruyama

    View Slide

  2. Confidential and proprietary
    Ingress

    View Slide

  3. Confidential and proprietary
    Ingress ??

    View Slide

  4. Confidential and proprietary
    Ingress
    130,000,000 km
    9,000,000 DL
    10,000,000 portals
    50,000 attendees

    View Slide

  5. Confidential and proprietary
    Ingress collaborate with...
    Lawson(Portal)   AXA(shield)  Yokosuka city(event)

    View Slide

  6. Confidential and proprietary
    agenda
    1. Google Maps API (and Mobile SDK)
    2. Understand the LBS application in “5 minutes”
    3. Understand our ToS and license

    View Slide

  7. Confidential and proprietary
    1.Google Maps API (and Mobile SDK)
    10th anniversary!!

    View Slide

  8. Confidential and proprietary
    10th anniversary!!

    View Slide

  9. Confidential and proprietary
    30%
    more than 1B of Google
    search requests include
    “Location”
    41%
    of internet user use
    Google maps
    50% is Mobile user
    Montly active user use
    Google maps API on
    2M acitive site
    1B
    Location is important for mobile user
    Source: Google internal, and http://www.internetworldstats.com/stats.htm

    View Slide

  10. Confidential and proprietary
    “Shipping container
    arrived on time.”
    O2O
    Current status of
    Location based service

    View Slide

  11. Confidential and proprietary
    2.Understand the LBS types of application in “5 minutes”
    What is the oldest Japanese check-in types of application??

    View Slide

  12. Confidential and proprietary
    What we make today
    a pilgrimage with check-in functions for 88
    traditional temples in Shikoku
    Oldest check-in types of application

    View Slide

  13. Confidential and proprietary
    The solution image

    View Slide

  14. Confidential and proprietary
    How to make it ?
    2.Select the Map
    Activity templates
    3.Set the temple’s POI and
    utilize with the Marker Cluster
    1. Activate the API key
    on developer console
    4.Generate the Backend
    (Cloud Endpoint module)
    Android Studio
    Google Cloud Platform
    (Console/Endpoint)
    5.Create API using Endpoint
    (Utilize the Cloud Datastore)
    6.Generate backend automatically
    (Generate AppEngine/Datastore)
    Temples POI
    information as
    CSV file type
    7.Generate client module to
    connect server side API
    Generate
    Backend
    Setup Map
    Connect

    View Slide

  15. Confidential and proprietary
    1.Set the API Key
    1. Execute Keytool on terminal (Available if Android Studio installed)
    2. The result of keytool on terminal
    Alias name: androiddebugkey
    Creation date: Jan 20, 2014
    Entry type: PrivateKeyEntry
    Certificate chain length: 1
    Certificate[1]:
    Owner: CN=Android Debug, O=Android, C=US
    Issuer: CN=Android Debug, O=Android, C=US
    Serial number: 52dc713f
    Valid from: Mon Jan 20 09:43:43 JST 2014 until: Wed Jan 13 09:43:43 JST 2044
    Certificate fingerprints:
    MD5: F0:22:8E:3B:81:F8:79:32:7F:5D:4F:2C:B3:BE:E5:B2
    SHA1: 51:29:7B:E2:EE:A1:A5:24:69:30:D0:D6:29:8F:F3:39:77:D6:89:13

    View Slide

  16. Confidential and proprietary
    2. Select a Map activity template
    google_maps_api.xml
    2. Enter the API Key that you generate on developer console
    On Android Studio
    1. Select the Google Maps Activity template
    Android Studio

    View Slide

  17. Confidential and proprietary
    3.Set the Customized icons as Marker
    // Icon Image
    // GPS information
    // Add Markers
    Address
    TempleName
    “TempleName”

    View Slide

  18. Confidential and proprietary
    3.Overlapping each icon...
    How to resolve the situation?

    View Slide

  19. Confidential and proprietary
    3.Utilize the Marker Cluster
    Use “Manage marker clusters” Google Maps Android API Utility Library

    View Slide

  20. Confidential and proprietary
    4.Add Cloud Endpoint module into the project
    Add Cloud endpoint module into the project on Android Studio
    Then, you can see the template code of backend

    View Slide

  21. Confidential and proprietary
    4.Test the backend module on localhost environment
    Execute on localhost(http://localhost:8080)
    Android Studio ブラウザ
    Automatically generate
    the backend and could
    switch the backend from
    frontend(App)

    View Slide

  22. Confidential and proprietary
    How to make it ?
    2.Select the Map
    Activity templates
    3.Set the temple’s POI and
    utilize with the Marker Cluster
    1.Activate the API key
    on developer console
    4.Generate the Backend
    (Cloud Endpoint module)
    Android Studio
    Google Cloud Platform
    (Console/Endpoint)
    5.Create API using Endpoint
    (Utilize the Cloud Datastore)
    6.Generate backend automatically
    (Generate AppEngine/Datastore)
    Temples POI
    information as
    CSV file type
    7.Generate client module to
    connect server side API
    Generate
    Backend
    Setup Map
    Connect

    View Slide

  23. Confidential and proprietary
    5.Create API throughout Endpoint
    Create the API for check-in function ( MyEndPoint.java)
    // Get the check-in time
    // Call the datastore
    // Create the data for save on datastore
    // Save the data
    // Return the check-in time

    View Slide

  24. Confidential and proprietary
    6.Deploy module to App Engine
    Available to deploy from Android Studio Check the status on Browser
    (https://appengine.google.com/)

    View Slide

  25. Confidential and proprietary
    Generate the client library with API class name(MyEndpoint) on terminal for this time
    7.Generate client library
    Use the method of the API on MyApi class(client library)

    View Slide

  26. Confidential and proprietary
    7.Connect to the server side
    Simple to write the Check in API method
    Client library
    MyApi instance
    Temple's ID

    View Slide

  27. Confidential and proprietary
    Complete the Development of Apps
    Complete the development of the Application

    View Slide

  28. Confidential and proprietary
    Quick look back of what we made

    View Slide

  29. Confidential and proprietary
    Possible idea for the next steps
    ● Additional functions for the Apps
    ○ Manage the portal for each user(OAuth)
    ○ Add Google Maps API Web service(Geocoding API, Directions API)
    ○ Add input(attribute/image) and search function
    ● Further relationship with the Apps
    ○ Beacon
    ■ Visitor support application using GPS+beacons
    ○ Custom Street View service
    ■ Restaurant, shopping indoor mapping service
    ○ Another Google Cloud Platform service
    ■ Real-time data sync using GeoFire
    Next step for LBS application

    View Slide

  30. Confidential and proprietary
    3.Understand our ToS and license

    View Slide

  31. Confidential and proprietary
    Application
    Deployment model
    Implementation
    technology for
    Maps
    Products/Service
    (Free/business)
    API
    Web application Web
    Google Maps API
    Google Maps API for Work
    Dynamic Javascript API v3
    Static Static Maps API
    Dynamic
    Web service
    (Geocoding/Elevation/Places)
    Native application
    (via online store or
    direct way such as
    apk, ipa)
    Web
    (WebView)
    Dynamic Javascript API v3
    Static Static Maps API
    Native
    Google Maps Mobile SDK
    Google Maps Mobile SDK for
    Business
    Android Google Maps Android API v2
    iOS Google Maps SDK for iOS
    Google Maps API suites

    View Slide

  32. Confidential and proprietary
    ● Google Maps API for Work
    ○ Internal Application or limited access for public
    ○ Asset tracking application
    ○ Huge amount of page view like 25,000PVs / day
    ● Mobile SDK (Android/iOS)
    ○ Asset Tracking
    ○ Internal Application on iOS
    ○ Paid application without AppStore/ Play store
    ■ In-App purchase also available for free if you use online store
    #1 : Which case should I use Google Maps for Work?
    https://developers.google.com/maps/licensing

    View Slide

  33. Confidential and proprietary
    ● Maps API for Work
    ○ Service Level Agreement (99.9%)
    ○ Manage Ads(available to hide Ads)
    ○ Technical support included
    ● Mobile SDK(+Maps API for Work)
    ○ Same license quota between iOS and Android
    ○ Use static library(as SDK)
    ○ No-need to use client library of Google Play service
    What is Google Maps for work?
    https://developers.google.com/maps/licensing

    View Slide

  34. Confidential and proprietary
    ● Maps API Js (pageview)
    ○ A single load of the Google Maps JavaScript API into a page
    ○ A single request for a Google Street View Image API image or
    Google Static Maps API image
    ● Mobile SDK(mapload)
    ○ A map load is registered each time the related “onCreate()”
    method is called.
    ■ iOS : GMSMapView or GMSPanoramaView object
    ■ Android:MapFragment, SupportMapFragment, MapView
    #2 : How to count up the pageview(mapload)?

    View Slide

  35. Confidential and proprietary
    ● Can I chach the data?
    ● Can we use the data coming from Maps API web service to other web map
    like Mapbox or Bing?
    ● If we purchase Mobile SDK license, can I use Google Maps API web service
    as well??
    Others:FAQ
    https://developers.google.com/maps/faq
    ○ 30 days caching allowed as a performance reasons for Directions API
    and Geocoding API (10.1.3).
    ○ No-caching allowed for the Js library(no offline as well)
    ○ Cannot use our data such as street view image, elevation, geocoding
    data for outside of Google Map (10.1.1.h)
    ○ Need Maps API for work license separately for web service

    View Slide

  36. Confidential and proprietary
    thank
    you
    The source file on Github
    https://github.com/mobile-geo/CheckInShikoku

    View Slide