探す条件としては、
・プラットフォームに登録しなくてもゲームができる ← これ大事
・ランキングがある
・実績(トロフィー)がある
・日本語が使える
まず始めに検証したのがpankiaでした。
早速導入してみようということで、ここのマニュアルに沿って作業してみました。
結果としては導入までいけたのですが、その過程でハマったことがあったので備忘メモ。
●追記●
pankiaへの登録なしでもゲームができました。
pankia登録画面右上の「×」を押すとゲーム画面に戻ってゲームを続けられました。
■導入したもの
Pankia SDK for Android
■ゲームの登録
これはマニュアルどおり、問題なかったです。
(1)pankiaのアカウントを作る
(2)管理画面にログイン
(3)画面左「Your Games」下にある「add a new game」を押下
(4)画面が「create a new game」に変わるので
・Name = アプリでpankiaの画面になったときに表示されるアプリ名(日本語OK)
・Description = アプリの概要
・Icon = アプリのアイコン
・Theme and Background = 好きなテーマを選んだり、好きな背景画像を設定できます
・Primary language = 日本語が選べる!
・OS = iOS または Android ※今回はAndroid
・Status = テスト段階なので development を選択
・Price = Free(無料アプリなので)
・Market URL = アプリのGoogle Play上のURL
・Screenshots = アプリのスクリーンショット(4枚まで)
上記を記入したら、画面下の[Create]ボタンを押してアプリの登録を完了させます
(5)(4)の登録が終わると、
・Game Key
・Game Secret
が発行されます。
これは後でpankiaをプログラムから実行するときに使用します。
管理画面での作業は以上。
■前準備 ※Eclipseを使っています
そのまま導入しようとすると、マニュアルにあるSDKのインポートの時点でエラーが出ました。
そこで、まずはAndroid SDKを最新版にするところから始めました。
(1)Eclipseメニューのヘルプ > 更新の確認
・「使用可能な更新」ウィンドウが立ち上がるので、その中からAndroid SDKに関わるところだけを選択してアップデートを実施
※詳細な手順は割愛しますが、[次へ]とか[同意する]しか押してません
(2)SDK のバージョンアップ
・(1)が完了した後にEclipseを再起動すると、「リビジョンを確認したら、今使っているのは古い。最新のSDKをインストールしよう」みたいなメッセージが表示される
・そこで[OK]を押しても SDK Managerが起動しない場合は、直接起動する(私の場合は、C:\android-sdk-windows\SDK Manager.exe)
・SDK Managerでは、アップデートorインストール可能なものにチェックマークがついているので、画面右下にある[Install packages...]を押してアップデートorインストールを実施↓

↑作業後にとったスクリーンショットなので、赤枠のボタンは無効になってます(汗
・結構時間がかかりますが、Android SDKのバージョンアップは以上です
(3)Eclipseをクリーンしてから起動する
・(2)の後、Eclipseが起動しないときがあります。その解決方法として、Eclipseをクリーンします。
→Windowsの場合、コマンドプロンプトが用意されているのでそれをWクリックすればOK
C:\pleiades\eclipse\eclipse.exe -clean.cmd ※Eclipseのインストール先によってパスの違いがあります
(4)annotations.jar の補充
これで準備OK!と思いきや、Android SDKをアップデートしたことで、これまでのプロジェクトで参照していた「annotations.jar」が見つからないよ!
とあらゆるプロジェクトから文句を言われるようになりました。
なので、ここから「annotations.jar」を含むzipファイルをダウンロードして解凍します。
解凍した中の
proguard4.8\examples\annotations\lib
の場所に
annotations.jar
があります。
【参考】
http://visible-true.blogspot.jp/2011/12/proguardcfg.html
あとは、既存プロジェクトで参照していた先(C:\android-sdk-windows\tools\support)にannotations.jarをコピーして、既存プロジェクトをクリーンすればエラーは消えました。
しかし、何故消えるかなぁ。
これで前準備が完了です。
■Pankia SDK for Androidのインポート ※Eclipseを使っています
いよいよPankia SDK for Android(4.0.0)の導入です。
(1)Pankia SDK for Androidのインポート
・ここから最新のPankia SDK for Androidをダウンロードして解凍。
・Eclipseへのインポート手順はここのマニュアルのとおり。
→「Pankiaライブラリプロジェクトの作成」のところです
前回はこの時点でエラーが出てましたが、上記手順のとおりAndroid SDKを最新にしたらエラーは出なくなりました。
■既存アプリへの導入
今回は、Pankia専用のアクティビティを作って、既存アプリからそのアクティビティを呼び出すテストを行いました。
手順としては、
(1)Pankia用のクラス(アクティビティ)を1つ用意
(2)AndroidManifest.xmlを記述
(3)既存アプリから(1)のアクティビティを呼ぶ → Pankiaの初期画面が登場するはず
という感じ。
(1)Pankia用のクラスを用意する
必要最低限で作ると
------------------------------------------------------
package xxx.xxx.xxxxxx;
import com.pankia.Config;
import com.pankia.PankiaActivity;
public class MyPankia extends PankiaActivity {
@Override
protected Config getGameConfig() {
Config config = new Config(this,
"Game Key", //gameKey,
"Game Secret", //gameSecret,
"アプリ名", //gameTitle,
null); //Dashboard Custom Background Image
config.setIMEILoginDisabled(true);
return config;
}
@Override
public void onDestroy() {
super.onDestroy();
}
}
------------------------------------------------------
(2)AndroidManifest.xmlを記述
ここのマニュアルに記述。あとは、今回のテスト用にMyPankiaというアクティビティを用意するので、その分を追記。
------------------------------------------------------
<activity android:name="MyPankia" android:screenOrientation="portrait" />
<activity
android:name="com.pankia.ui.DashboardActivity"
android:theme="@style/Theme.PN.Dashboard"
android:configChanges="orientation|keyboardHidden"
/>
<activity
android:name="com.pankia.ui.UpdateDashboardActivity"
android:theme="@style/Theme.PN.Main"
android:configChanges="orientation|keyboardHidden"
/>
<activity
android:name="com.pankia.api.manager.IntentManager$IntentManagerActivity"
android:theme="@style/Theme.PN.Main"
android:screenOrientation="portrait"
/>
<activity android:name="com.pankia.api.util.UserKeyUtil$FindUserKeyActivity"/>
<activity android:name="com.pankia.api.util.UserKeyUtil$ReturnUserKeyActivity" >
<intent-filter>
<action android:name="com.pankia.intent.action.GET_USER_KEY" />
</intent-filter>
</activity>
<activity
android:name="com.pankia.SplashActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
</intent-filter>
</activity>
<receiver android:name="com.pankia.api.manager.SplashBroadcastReceiver" />
あと、
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="com.android.vending.BILLING" />
------------------------------------------------------
(3)既存アプリから(1)のアクティビティを呼ぶ
Activityの呼び方の詳しい内容については割愛。
------------------------------------------------------他にも、ここのマニュアルにある
Intent intent = new Intent(xxxxx.this, MyPankia.class);
startActivity(intent);
------------------------------------------------------
・SQLCipherライブラリの追加
・ProGuardによる難読化の設定(API 8以降)
を忘れずに行う。
(4)実行すると・・・

pankiaの新規登録画面が登場します。
導入については以上です。
●追記●
pankiaへの登録なしでもゲームができました。
pankia登録画面右上の「×」を押すとゲーム画面に戻ってゲームを続けられました。