google for モバイル アプリ 15-00- maps...

36
© 2015 Google Maps API で、かしこく地図アプリを開発しよう Geospatial Sales Engineer, Google Maps for Work 丸山 智康 #gcpライブ

Upload: google-cloud-platform-japan

Post on 18-Jul-2015

493 views

Category:

Technology


7 download

TRANSCRIPT

Page 1: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

© 2015 Google

Maps API で、かしこく地図アプリを開発しよう

Geospatial Sales Engineer, Google Maps for Work丸山 智康

#gcpライブ

Page 2: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

Ingress

Page 3: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

Ingress ??

Page 4: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

Ingress

130,000,000 km 9,000,000 DL 10,000,000 申請 50,000 人

Page 5: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

Ingressも企業コラボや地域イベントと連携

ローソン(ポータル)   AXA(シールド)  横須賀市

Page 6: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

agenda1. Google Maps API (含 Mobile SDK) の今

2. “ 5分 ” でわかる位置情報アプリの開発

3. 利用規約の解読と有償版の利用

Page 7: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

1.Google Maps API (含 Mobile SDK) の今

10th anniversary!!

Page 8: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

10th anniversary!!

Google Maps デスクトップ版の登場

Google Maps モバイル登場(US)

Google Earthの登場により航空写真へのアクセスが可能に

Googleマップメーカーの登場ユーザが自ら、現地の最新情報をMaps/Earthに更新可能になる

ナビ機能の拡充

Zagat社の買収によりユーザに精度の高い現地情報を提供

トレッカーの登場により車では到達できない美しい場所の撮影も可能に

Waze社の買収鮮度のある交通情報を共有

Google Maps MobileのiOS対応

Skybox買収

ストリートビューの登場

Page 9: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

30%

グーグルの検索には

“位置情報”もしくは地理的要素が含まれている

41%

インターネットユーザはGoogle maps を利用

50%はモバイルユーザ

月間アクティブユーザ

200万以上サイトで Google Maps を利用

10億

位置情報はさらに重要に

Source: Google internal, and http://www.internetworldstats.com/stats.htm

Page 10: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

定時に到着するコンテナ

O2O

見守りサービス

自動走行車両

位置情報サービスの今

Page 11: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

2.” 5分 ” でわかる位置情報アプリの開発

日本最古の位置情報取得アプリとは?

Page 12: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

今回作成するもの

四国八十八ケ所

日本の古来よりあるチェックインサービス

Page 13: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

ソリューションのイメージ

Page 14: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

開発の流れ

MapFragmentテンプレートの選択

ピンの設定とカスタマイズ(MarkerClusterの利用)

APIの有効化APIキーの取得

バックエンドの生成(Cloud Endpointモジュール)

Android Studio Google Cloud Platform(Console/Endpoint)

EndpointでAPI記述(Cloud Datastore の利用)

バックエンドの自動生成(AppEngine/Datastore生成)

お寺名称・緯度経度のCSVファイル

クライアントモジュールの生成・API接続処理

Backendの生成

Map の設定

接続

Page 15: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

API Key の設定

コマンドラインで keytool を実行(Android Studioがインストールされていれば利用可能 )

コマンドラインで keytool を実行した結果

別名: androiddebugkey作成日 : 2014/01/20エントリ・タイプ : PrivateKeyEntry証明書チェーンの長さ : 1証明書 [1]:所有者 : CN=Android Debug, O=Android, C=US発行者 : CN=Android Debug, O=Android, C=USシリアル番号 : 52dc713f有効期間の開始日 : Mon Jan 20 09:43:43 JST 2014終了日 : Wed Jan 13 09:43:43 JST 2044証明書のフィンガプリント :

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

Page 16: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

Map の表示

google_maps_api.xml

2. API Key を入力

Android Studioを起動して

1. Google Maps のテンプレートを選択

Android Studio

Page 17: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

ピンの設定とカスタマイズ

Page 18: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

ピンの重なり発生!

もっと見やすくするのには?

Page 19: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

Marker Cluster の利用

Manage marker clusters の利用 Google Maps Android API Utility Library

Page 20: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

プロジェクトへのEndpointの導入

Android Studioで更にモジュールを追加

Page 21: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

ローカル環境で実行してみる

ローカル環境で実行( http://localhost:8080)

Android Studio ブラウザ

モジュールの追加で自動的にbackendが生成切り替えてローカルで動作が確認できる

Page 22: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

開発の流れ

MapFragmentテンプレートの選択

ピンの設定とカスタマイズ(MarkerClusterの利用)

APIの有効化APIキーの取得

バックエンドの生成(Cloud Endpointモジュール)

Android Studio Google Cloud Platform(Console/Endpoint)

EndpointでAPI記述(Cloud Datastore の利用)

バックエンドの自動生成(AppEngine/Datastore生成)

お寺名称・緯度経度のCSVファイル

クライアントモジュールの生成・API接続処理

Backendの生成

Map の設定

接続

Page 23: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

API の記述

Check In するための API(MyEndPoint.java)

Page 24: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

サーバへのデプロイ

Android Studioからデプロイ可能 フォームをブラウザで確認 (https://appengine.google.com/)

Page 25: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

APIクラス名を指定してコマンドラインでクライントライブラリを生成

クライアントモジュールの生成

クライアントライブラリとなる MyApiクラス に、api を呼び出すメソッドが追加

Page 26: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

サーバとの接続

チェックイン API の呼び出しと通信処理がシンプルに

クライアントライブラリ

MyApi インスタンス

Page 27: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

完成

四国八十八ケ所アプリの完成

Page 28: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

まとめと開発時間の計測

Page 29: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

現状のアプリ+αによって実現可能なこと

● 時間の関係で省略した機能○ ユーザ毎のデータ管理○ Google Maps API Webサービスの併用(Geocoding API, Directions API)○ 検索機能やメモなどの追加

● 連携可能な項目○ ビーコンとの連携

■ シームレス(GPS+ビーコン)な来客促進アプリ、案内支援アプリ○ ストリートビューとの連携

■ お店の紹介 ( カスタムストリートビュー ) 、現地調査支援ツール○ Google Cloud Platformの更なる活用

■ GeoFireの利用によるリアルタイムデータSync

位置情報アプリケーションへの展開

Page 30: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

3.利用規約の解読と有償版の利用

Page 31: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

アプリケーション開発モデル

地図の実装方法製品名

(Free/business) 形態 API名称

Webアプリ Web

Google Maps API Google Maps API for Work

動的 Javascript API v3

静的 Static Maps API

動的Webサービス(Geocoding/Elevation/Places)

ネイティブアプリ(オンラインストア経由もしくは個別配信)

Web (WebViewなど組み込み型)

動的 Javascript API v3

静的 Static Maps API

ネイティブGoogle Maps Mobile SDKGoogle Maps Mobile SDK for Business

Android Google Maps Android API v2

iOS Google Maps SDK for iOS

Google Maps API 製品群

Page 32: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

● Google Maps API for Work○ 社内向けにユーザ限定でアクセス可能なサイト○ 企業の配達業務、車両などの動態管理、資産管理に関連するアプリ

ケーション○ 25,000ページビュー/日以上のアクセスがあるサイト

● Mobile SDK (Android/iOS)○ アセット追跡○ 内部配布アプリケーションを開発する○ AppStore/ Play storeを経由せずに有償で販売する場合

■ オンラインストアを経由すれば有償版は無償配布可能

その1:Google Maps for Work(有償版)が必要なケースとは?

https://developers.google.com/maps/licensing

Page 33: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

● Maps API for Work○ SLA (サービスレベル契約:99.9%の稼働保証)○ 広告の制御 ( 非表示が可能) ○ Googleによる技術サポート契約が含まれる○ 正確なページビュー数のレポート機能が利用可能

● Mobile SDK(上記に加えて)○ iOS/Android で同一ライセンスが使用できる○ 静的なライブラリ(SDK)を利用できる○ Google Play の Client Library が不要

有償版ご利用のメリット

https://developers.google.com/maps/licensing

Page 34: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

● Maps API○ Google MapsのJavaScriptファイルをダウンロードした回数○ Static Maps や Street View Image APIから画像を呼び出した回数

■ 例えばTempleteのScriptタグ内にjsの呼び出しがあると、毎回読んでしまい必要以上にページビューを消費するので要注意!

● Mobile SDK○ 以下のコマンドの”onCreate()”メソッドが呼ばれた回数

■ iOS : GMSMapView または GMSPanoramaView object■ Android:MapFragment, SupportMapFragment, MapView

その2:ページビュー(mapload)のカウント方法

Page 35: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

● データのパフォーマンス向上のために、データをキャッシングできますか?

● Maps APIのウェブサービスで取得したデータはGoogle Maps以外でも利用したいのですが…

● Maps API を利用したプロモーションを実施したい場合どうすればいいですか?● Mobile SDKのライセンスを購入し、ウェブサービスのリクエストを利用できます

か?

その他:よく頂く質問

https://developers.google.com/maps/faq

○ Places APIやGeocodingAPIについては、パフォーマンス向上の目的で30日間に限りキャッシングが許可されております(10.1.3)

○ Webサービスで得られた緯度経度や標高情報、ストリートビュー情報などはMaps以外ではご利用になれません(10.1.1.h)

○ 別途MapsAPIのライセンスが必要となります

Page 36: Google for モバイル アプリ   15-00- maps apiで、かしこく地図アプリを開発しよう

ご清聴ありがとうございました

http://goo.gl/ABTW9Cエー/ビー/ティー/ダブリュー/ナイン/シー

アンケートにお答え頂くとデモアプリのプロジェクトにアクセス頂けます。ご協力の程よろしくお願いいたします