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

[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.

0cf0e64940658884ce5d88e10dfb2409?s=128

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
  2. Confidential and proprietary Ingress

  3. Confidential and proprietary Ingress ??

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

    50,000 attendees
  5. Confidential and proprietary Ingress collaborate with... Lawson(Portal)   AXA(shield)  Yokosuka

    city(event)
  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
  7. Confidential and proprietary 1.Google Maps API (and Mobile SDK) 10th

    anniversary!!
  8. Confidential and proprietary 10th anniversary!!

  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
  10. Confidential and proprietary “Shipping container arrived on time.” O2O Current

    status of Location based service
  11. Confidential and proprietary 2.Understand the LBS types of application in

    “5 minutes” What is the oldest Japanese check-in types of application??
  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
  13. Confidential and proprietary The solution image

  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
  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
  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
  17. Confidential and proprietary 3.Set the Customized icons as Marker // Icon

    Image // GPS information // Add Markers Address TempleName “TempleName”
  18. Confidential and proprietary 3.Overlapping each icon... How to resolve the

    situation?
  19. Confidential and proprietary 3.Utilize the Marker Cluster Use “Manage marker

    clusters” Google Maps Android API Utility Library
  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
  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)
  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
  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
  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/)
  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)
  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
  27. Confidential and proprietary Complete the Development of Apps Complete the

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

  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
  30. Confidential and proprietary 3.Understand our ToS and license

  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
  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
  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
  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)?
  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
  36. Confidential and proprietary thank you The source file on Github

    https://github.com/mobile-geo/CheckInShikoku