作成中です・・・。

cloudappdata_program : cloudappdataについて

Google Driveにはユーザーデータだけでなく、アプリケーション個別のデータを保存する機能があります。この機能でクラウドデータセーブを行う実験をします。

配布物(ソースコードとバイナリ)と、使用方法については、「Google Driveでクラウドセーブ」をご覧ください。



概要

このプログラムで使用しているGoogle Drive App Data機能を動作させるには、以下の作業が必要です。

  1. Google Playストアへのアプリの登録。テストユーザーのみの使用でも「非公開での登録」が必要で、一般ユーザーも含めた使用には「公開登録」が必要となります。この手順については、この原稿では割愛します。
  2. Google Playゲームサービスの使用登録。Google Drive APIを使用するための認証機能にはいくつかの方法がありますが、筆者はこの機能をゲーム制作のために使用することを想定しているため、Google Playゲームサービスでの認証機能を利用することにしました。*1
  3. Google Drive SDKとAPIの使用登録。当然必要です。

この後は、cloudappdataをあなたのアプリとして再ビルドして使用するまでの手順を示します。

アプリ識別子の変更

当方が配布しているcloudappdataのソースは、そのままビルドすると「net.gorry.com.example.cloudappdata」という識別子のアプリとして完成します。この識別子は当方がすでに公開アプリとして使用しているため、あなたのアプリとして登録することはできません。

そのため、cloudappdataをあなたのアプリとするには、まず識別子を変更する必要があります。以後、あなたのアプリのための識別子を「org.hoge.com.example.cloudappdata」にするものとして解説を行います。

  1. cloudappdataソースをEclipseへ読み込み、プロジェクトツリーからAndroidManifest?.xmlを開きます。
  2. 「package="net.gorry.com.example.cloudappdata"」の部分を「package="org.hoge.com.example.cloudappdata"」に変更して保存します。
  3. MainActivity?.javaにエラーが多数表示されます。一番最初のエラー行である「import net.gorry.com.example.cloudappdata.R;」を「import org.hoge.com.example.cloudappdata.R;」に変更すると、エラーは全て消失します。
  4. 念のため、ツリー先頭を選んでメインメニューから[File]-[Refresh]でソースを再読み込みし、[Project]-[Clean]でクリーンビルドします。

以上で、ビルドしたアプリは「org.hoge.com.example.cloudappdata」となり、新しいアプリとしてGoogle Playストアへ登録することができるようになります。*2

Google Playストアのアプリ登録

アプリを作成しただけでは、Google Drive App Data機能は使用できるようになりません。まず、ビルドしたアプリをGoogle Playストアへ登録する必要があります。登録の手順についてはここでは割愛します。

ストアへアプリをアップロードしたあと、あなたがテストを行うだけなら、そのアプリを「公開」する必要はありません。「下書き」のままにしておいて結構です。

Google Playゲームサービスの登録

Google Playストアへアプリを登録したら、そのアプリに対して「ゲームサービスの登録」をする必要があります。この部分についての解説はGoogle Developersサイトに「Setting Up Google Play Game Services with the Google Play Developer Consoleとして書かれていますが、この原稿の時点ではまだ日本語訳されていません。以下に実例として手順を記します。

Google Playストアへ登録したアプリに対して「サービスとAPI」を選択してください。以下のような画面が現れます。

gameservice_1s.png
(1)ゲームサービス一覧

[新しいゲームを追加]を選び、ゲーム名と種類を入力します。この項目は後で変更できますので、ここでは適当でかまいません。

gameservice_2s.png
(2)新しいゲームを追加

追加したゲームは、選択すると以下のような画面となります。先ほど入力したゲーム名と種類に加えて、説明やアイコンの登録ができますが、まだ登録しなくても構いません。ここでは[リンク済みアプリ]を選びます。

gameservice_3s.png
(3)ゲームの一覧

どのタイプのアプリを追加するかを選択します。ここでは、Androidアプリを選びます。

gameservice_4s.png
(4)リンクするアプリの選択

続いて、リンクするアプリの情報を入力します。

gameservice_5s.png
(5)リンクするアプリの情報を入力

リンクするアプリの情報の入力が完了すると、以下のように表示されます。 [今すぐアプリを承認]をクリックして、次へ進みます。

gameservice_11s.png
(6)アプリの承認

ユーザーに対してこのゲームサービスに表示される、ゲームの情報を入力します。現在は空のままで構いません。

gameservice_12s.png
(7)ユーザーに対するゲーム情報の入力

アプリの識別子と、そのapkファイルを作成するのに使用した証明書の情報を入力します。 アプリの識別子は「org.hoge.com.example.cloudappdata」です。

gameservice_13s.png
(8)ユーザーに対するゲーム情報の入力

証明書の情報はいろいろな取得方法がありますが、ここではapkファイルから直接取り出してみます*3。コマンドプロンプトを起動し、apkファイル(ここではcloudappdata.apk)に対して、「unzip -p cloudappdata.apk META-INF/*.RSA META-INF/*.DSA | keytool -printcert」とコマンドを入力します。以下の赤線の部分が、先ほどのダイアログで入力する証明書の情報です。

gameservice_14.png
(9)apk証明書の情報取り出し

以上を入力すると、このアプリに対応するクライアントIDが配布されます。このIDはゲームサービスで必要となりますが、Google Drive App Dataの使用のみであれば不要です。

リンク済みアプリの一覧には、以下のように表示されます。

gameservice_6s.png
(10)リンク済みアプリの一覧

以上で最低限の情報入力は完了ですが、必要であればテスターを追加しておくとよいでしょう。

gameservice_7s.png
(11)テスターの追加

Google Drive API/SDKの登録

ゲームサービスのゲーム一覧へ戻り、ゲームを選択すると、「ゲームの詳細」画面となります。その一番下に以下のようなリンクがあります。

gameservice_8.png
(8)APIコンソールへのリンク

これをクリックすると、登録したゲームサービスに対応するGoogle APIの設定画面を開くことができます。

googleapi_1s.png
(9)Google APIコンソール

[Services]を開き、[Drive API]と[Drive SDK]をONにします。

googleapi_2.png
(9)Drive API/SDKをON

ライセンス

ライセンスについては、パッケージ同梱のAPACHE-LICENSE-2.0.txtをご覧ください。

参考

Google Drive SDK

本家Google Drive SDKサイト。
Google デベロッパー アカデミー: Google ドライブ

Google Drive APIについて日本語での簡単な説明。
Android で Google Drive API の利用手順

Google Drive APIを扱うAndroidアプリのコード実例。
GitHub: googledrive/appdatapreferences-android

Google Drive App Dataを使ってSharedPreference?をクラウドに置くサンプル。

*1 Google Playゲームサービス内でもクラウドストレージ機能があります。ただしこちらではセーブデータ本数が4本まで、合計で1MBまでと定められており、これを超えるセーブデータを扱いたい場合はGoogle Drive App Dataが便利です。
*2 もちろん、誰かが「org.hoge.com.example.cloudappdata」という識別子のアプリを登録してしまったら、あなたはこの識別子でアプリを登録することはできません。
*3 他にも、署名に使用したkeystoreファイルに対して「 keytool -exportcert -keystore [keystoreファイル名] -list -v」と入力する方法などがあります。

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS