Google Cloud Endpointsの紹介
RainbowApps横浜校
イメージピット株式会社
代表 高橋 良輔
Google Cloud Endpointsとは?
Google App Engineのモバイル端末
(Android、iPhoneなど)のバックエンド連携をサポートするツール
・GAEからエンドポイント生成
・クライアント(Android、iOS)のライブラリ生成
エンドポイントって何?
クライアントから簡単にバックエンドサーバのプログラムを実行でき
るようにした仕組み
・Google Cloud EndpointsはREST形式でエンドポイントを生成
REST形式のエンドポイントAPIを提供している代表的なサービス
RESTって何?
RESTは、URLにパラメータを指定してHTTPでアクセスすると、
XMLやJSONで記述されたメッセージが送られてくるようなシステム
および呼び出しインターフェース
http://xxxxx/_ah/api/xxx/list
JSON形式などで返却
Google
Cloud
Endpoit
Google App Engine
GCEの特徴 その1
GAEプロジェクトにて一定ルールに従ってサーバサイドプログラム
(Java)を書くだけで簡単にREST形式のエンドポイントを生成
・REST形式のURLにてアクセスすればJSON形式でデータを返却
GCEの特徴 その2
REST形式のエンドポイントに加え、AndroidやiOSなどのクライアン
トライブラリを自動生成
生成されたライブラリをクライアントアプリに組み込む事により
オブジェクトとしてGAEのデータを扱える
Google
Cloud
Endpoit
Google App Engine
クライアント
ライブラリ生成
GCEのここがすごい!
・短期間でサーバサイドを構築・公開できる
・短期間でクライアントサイドと連携できる
 (手順を覚えれば)
・Googleパワーを(ある程度の範囲)は
 無料で使える
 →インフラ担当がいらない!
どんなアプリに向いているか?
・大量にサーバアクセスがあるアプリ
 →AKB48の総選挙など
・日々データをサーバに蓄積していくアプリ
 →twitterのようなアプリ
それでは
実際にGCEを使ったアプリ
作ってみましょう!
Google Cloud Endpointsデモ
資料について
PCやスマートフォン、タブレットをお持ちの方は
こちらから資料を確認できます。
http://school.rainbowapps.com/yokohama/gae/#doc
はじめに
今回は簡単なGAEアプリケーション、Android、
iOSアプリを作りデータを連携してみます。
Google
Cloud
Endpoit
必要な環境
下記の環境を構築する必要があります。
・GAEのアカウント登録
・eclipse+ADTインストール
・Googleプラグインインストール
・Xcodeインストール(iOSアプリ開発時)
詳細解説
https://sites.google.com/a/image-pit.com/gae/cloudendpoint#TOC--
開発の流れ
1.GAEプロジェクト作成
  →DTOクラス、Endpointクラス作成
2.ローカル環境APIテスト
3.GAE本番環境デプロイ
4.クライアントライブラリ生成
5.Androidアプリ開発
  →クライアントライブラリインポート
6.iOSアプリ開発
  →クライアントライブラリ生成・インポート
手順1 GAEプロジェクト作成
EclipseでGAEプロジェクトを作成し
下記のクラスファイルを作成
・DTOクラス
 →DataStoreに登録するEntitieを定義
・Endpointクラス
 →APIメソッドを定義
 →APIメソッドにアノテーションを付与
 (次ページ)
詳細解説
https://sites.google.com/a/image-pit.com/gae/cloudendpoint#TOC-GAE-
手順2 アノテーション付与
EndpointクラスのAPIメソッドにアノテーション
をつける
@Api(name =“game", version = "v1")
public class Game {
@ApiMethod(name = "game.update", httpMethod = "POST")
public Game updateGame(@Named("state") String state) {
// method logic here
return game;
}
}
詳細解説
https://sites.google.com/a/image-pit.com/gae/cloudendpoint#TOC-Endpoint-1
手順3 ローカル環境APIテスト
バックエンド側の実装が完了したら
「Rus As」→「Web Application」で
ローカル環境起動し、
ローカル環境でAPIをテスト
<ローカルAPIテスト環境>
https://developers.google.com/apis-explorer/?base=http://
localhost:8888/_ah/api
詳細解説
https://sites.google.com/a/image-pit.com/gae/cloudendpoint#TOC-API-
手順4 GAE本番環境デプロイ
ローカル環境でAPIをテストが完了したら、
本番環境へデプロイ
デプロイもEclipseで簡単にデプロイ出来る!
プロジェクトにGAEのプロジェクトIDをセットし
「Google」→「Deploy to App Engine」するだ
け!
詳細解説
https://sites.google.com/a/image-pit.com/gae/cloudendpoint#TOC-GAE-1
手順5 クライアントライブラリ生成
Android、IOSアプリと連携するのに
必要なクライアントライブラリを生成
「Google」→「Generate Cloud Endpoint
Client Library」をクリック
詳細解説
https://sites.google.com/a/image-pit.com/gae/cloudendpoint#TOC--7
手順6 Androidアプリ開発
開発手順
1.EclipseでAndroidプロジェクト作成
2.AndroidManifest.xmlパーミッション設定
3.クライアントライブラリのインポート
4.API専用ライブラリのリンク・ビルドパス追加
5.Endpointクラスをインスタンス化し
  APIメソッドを実行※
  ※実行時はAsyncTaskで呼び出す必要有
詳細解説
https://sites.google.com/a/image-pit.com/gae/cloudendpoint#TOC-Endpoint-Android-
手順7 iOSアプリ開発
<開発手順>
1.XcodeでiOSプロジェクト作成
2.Google Api Objective-Cクライアント
  ファイルダウンロード
3.クライアントライブラリ生成
4.クライアントライブラリ組み込み
5.Endpointクラスをインスタンス化し
  APIメソッドを実行
詳細解説
https://sites.google.com/a/image-pit.com/gae/cloudendpoint#TOC-Endpoint-iOS-
手順7 iOSアプリ開発
ServiceGenerator
GTL
Xcodeプロジェクト
GAEプロジェクト
Endpoint
クライアント
ライブラリ
iOS用Endpoint
クライアント
ライブラリ
iOSアプリ
(Xcodeプロジェクト)
コマンド実行
生成
ライブラリコピー
Google Api Objective-C
クライアントファイル	
ライブラリコピー
Google
SVNリポジトリ
チェックアウト
ARC除外設定
ありがとうございました
<ご案内>
RainbowApps講座情報
http://school.rainbowapps.com/yokohama
イメージピット株式会社
http://www.image-pit.com/
→アプリ開発、Webサイト制作、
 サーバサイド開発承ります
<お問合せ>
r-takahashi@image-pit.com

Google Cloud Endpoints の紹介