このページでは、既存の Android Cloud Endpoints バージョン 1.0 アプリを App Engine 用 Endpoints Frameworks に移行する方法について説明します。 このページでは、Endpoints バージョン 1.0 を「Endpoints Frameworks バージョン 1.0」、新しい App Engine 用 Endpoints Frameworks を「Endpoints Frameworks バージョン 2.0」と表記します。
利点
新しいフレームワークには数多くの利点があります。
- リクエスト レイテンシの短縮
- App Engine の機能(カスタム ドメインなど)との統合強化
- Guice 構成の正式サポート
- (オプション)新しい API 管理機能
Endpoints Frameworks バージョン 2.0 に移行しても、API のインターフェースには影響しません。既存のクライアントは、クライアント側コードを変更しなくても、移行後も引き続き動作します。
Android 複数モジュール プロジェクトを Endpoints Frameworks バージョン 2.0 に移行する
ここでは、Android Studio Endpoints Frameworks バージョン 1.0 プロジェクトから Endpoints Frameworks バージョン 2.0 への移行手順について説明します。Android Studio プロジェクトを Endpoints モジュールと一緒に移行する場合を例にとり、説明を進めます。
タスクリスト
タスクの概要を示す次のリストを参照しながら、移行ガイドを実施してください。この移行ガイドでは、Google Cloud モジュールを使用する Android プロジェクトが存在することを前提としています。
- 始める前に
- Google Cloud CLI を設定する
- (オプション)サンプルコードをダウンロード
- Endpoints Frameworks バージョン2.0 への移行
- バックエンド モジュールのデプロイ
- クライアント ライブラリの生成
始める前に
- Android Studio をインストールします。
- Android SDK 26 以降をインストールします。
- gcloud CLI をインストールします。
gcloud CLI を設定する
gcloud CLI を設定する手順は次のとおりです。
gcloud CLI を初期化します。
gcloud init
アプリケーションのデフォルト認証情報を使用します。
gcloud auth application-default login
app-engine-java
コンポーネントをインストールします。gcloud components install app-engine-java
(オプション)サンプルコードをダウンロード
GitHub から legacy
および v2
サンプル プロジェクトのクローンを作成するには:
ローカルマシンにサンプル リポジトリのクローンを作成します。
git clone https://github.com/GoogleCloudPlatform/android-docs-samples
legacy
とv2
に対するサンプルコードを含むディレクトリに変更します。cd android-docs-samples/endpoints-frameworks/
Endpoints Frameworks バージョン 2.0 への移行
build.gradle
ファイルの更新
Endpoints Frameworks バージョン 2.0 の依存関係は Gauva 19 を使用し、Android Gradle ビルド プラグイン com.android.tools.build:gradle:2.3.3
は Gauva 18 を使用します。この一時的な依存関係をオーバーライドするため、Gauva 19 を build.gradle
のビルド スクリプト依存関係クロージャに追加します。
レガシー
v2
app/build.gradle
ファイルの更新
Endpoints バージョン 1.0 では、Gradle プラグイン gradle-appengine-plugin
を使用して API ディスカバリ ドキュメントを生成していました。Endpoints Frameworks バージョン 2.0 では、endpoints-framework-gradle-plugin
を使用してディスカバリ ドキュメントを生成します。
このビルド スクリプトでは、クライアント側プラグインの com.google.cloud.tools.endpoints-framework-client
を使用します。
レガシー
v2
backend/build.gradle
ファイルの更新
App Engine スタンダード環境の Gradle ツールが更新されました。Endpoints Frameworks バージョン 1.0 プロジェクトでは com.google.appengine
内の gradle-appengine-plugin
を使用していましたが、Endpoints Frameworks バージョン 2.0 プロジェクトでは appengine-gradle-plugin
を使用します。
このビルド スクリプトでは、サーバー側プラグインの com.google.cloud.tools.endpoints-framework-server
を使用します。
レガシー
v2
web.xml
ファイルの更新
Endpoints Frameworks バージョン 2.0 では、servlet-class が SystemServiceServlet
から EndpointsServlet
に変わりました。
URL パターンも /_ah/spi/*
から /_ah/api/*
に更新されました。
レガシー
v2
プロジェクトの再ビルド
最後に、Android Studio ビルドリストを使用し、新しい依存関係を適用して Android Studio プロジェクトをクリーンアップおよび再ビルドします。
バックエンド モジュールのデプロイ
新しい Gradle App Engine プラグインを使用してバックエンド モジュールをデプロイする場合は、backend
モジュールで次の Gradle タスクを使用します。
gradle appengineDeploy
クライアント ライブラリの生成
クライアント ライブラリを生成する場合は、backend
モジュールで次の Gradle タスクを使用します。
gradle endpointsClientLibs
Endpoints Frameworks Gradle プラグインで使用可能なタスクの詳細を確認してください。
Endpoints API 管理の追加
Endpoints Frameworks バージョン 2.0 では、次のような API 管理機能を有効にすることもできます。
- API キー管理
- API 共有
- ユーザー認証
- API 指標
- API ログ
Cloud Endpoints Frameworks 2.0 の機能を使い始めるには、Endpoints Frameworks for App Engine に関する Java のページをご覧ください。