ソーシャルプラットフォームPankia |
株式会社パンカクが提供するソーシャルプラットフォームPankiaを入れてみたので簡単にまとめておきます。
ソーシャルプラットフォーム?
ソーシャルプラットフォームを一言で言うと「スマホゲームにネットランキング機能をつけるためのもの」でしょうか。他にもいろんな機能があることは知っていますが自分も初心者なので最初に使いたい機能を代表として取り上げました。語弊のある言い方ですいません。有名どころだとScoreloopやグリーに買収されたOpenFeintなどがありますね。今回紹介するPankiaもそうです。最初に目についたのでとりあえず使ってみようと思います。
まずはネットランキングを搭載することを目標にしていきます。
ではさっそく
Pankiaの導入
Pankia Developersへの登録
・PankiaのHPから新規登録画面へ・全部記入して登録
登録画面 |
PankiaSDKのダウンロード
・再度Pankiaへ行き、ログイン管理者用画面 |
・画面右Downloadsから「Pankia SDK for Android」をダウンロード
最新はver4.0.3でした。
SDKのダウンロード |
あとでEclipseのワークスペースにコピーされるので他の場所がいいでしょう。
ここから少しややこしくなってきます。
本家サイトにとても詳しく書いてありますのでしっかり読みましょう。
このブログはメモなので自分がやったことだけをまとめておきます。
Pankiaへゲームの登録
・Pankia管理画面にて「Add a new game」を押す。・ゲーム追加画面が表示され、以下のように入力しました。
ゲームの登録画面1 |
ゲームの登録画面2 |
Game KeyとGame Secretを取得 |
EclipseへPankiaライブラリを追加
・Eclipseメニューの[ファイル] → [インポート] → [一般] → [既存プロジェクトをワークスペースへ]を選択ライブラリ追加手順1 |
ライブラリ追加手順2 |
ライブラリ追加手順3 |
テスト用アプリケーションの作成
EclipseにてHelloWorldプロジェクトを作ります。これはいろんなところで紹介されてるので割愛。プロジェクト名は「testPankia」としました。
テスト用アプリケーションの作成 |
動きました。 |
ボタン作ってクリックしたら~とか難しいのでやらないです。
アプリケーションからPankiaへの参照を追加
・Eclipseにて対象アプリケーション右クリック → [プロパティ] → [Android] → [Library] → [Add]を選択・Pankiaライブラリを選択して[OK]を押す
・プロパティを[OK]を押して閉じる
参照追加1 |
参照追加2 |
参照追加3 |
アプリケーションの修正
・AndroidManifest.xmlのActivityに下記を追加する<activity android:name="com.pankia.ui.DashboardActivity" android:configChanges="orientation|keyboardHidden" android:screenOrientation="landscape" android:theme="@style/Theme.PN.Dashboard" /> <activity android:name="com.pankia.ui.UpdateDashboardActivity" android:configChanges="orientation|keyboardHidden" android:theme="@style/Theme.PN.Main" /> <activity android:name="com.pankia.api.manager.IntentManager$IntentManagerActivity" android:screenOrientation="landscape" android:theme="@style/Theme.PN.Main" /> <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:label="@string/app_name" android:theme="@android:style/Theme.Translucent.NoTitleBar" > <intent-filter> <action android:name="android.intent.action.VIEW" /> </intent-filter> </activity> <receiver android:name="com.pankia.api.manager.SplashBroadcastReceiver" />
追加する場所はもともとあるActivityの後ろ。
Activityの追加 |
・AndroidManifest.xmlのPermissionに下記を追加する
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="com.android.vending.BILLING" />
追加場所はApplicationタグの前
Permissionの追加 |
・PListの追加
オフラインでPankiaの機能を使うために必要らしいです。
Pankia管理画面からゲーム管理画面に行き、「Export data to plist」でファイルをダウンロード。
Eclipseのゲームプロジェクト以下assetsフォルダにコピー
PListの追加1 |
PListの追加2 |
・SQLCipherライブラリの追加
データ改ざん対策として必要らしい
最初に解凍したPankiaプロジェクトファイルの[icudt46l.zip]ファイルをPListと同じ場所にコピーする
SQLCipherの追加 |
・ProGuardによる難読化の設定
APKにしない限り影響なさそうだしとりあえずパス。あとで調べよう。
project.propertiesファイルにある下記行の#を消す(proguard有効化)
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
proguard-project.txtに下記を追記
-keep public class com.pankia.** { <fields>; <methods>; }
proguardの有効化(project.properties) |
proguardの設定(proguard-project) |
・MainActivityの変更
MainActivityが立ちあがったときにPankiaのダッシュボードを開くように修正する。
MainActivityを下記のように修正する。Key,SecretはPankiaの管理画面からコピー。
package com.example.testpankia; import android.os.Bundle; import android.util.Log; import android.view.Menu; import com.pankia.Config; import com.pankia.Pankia; import com.pankia.PankiaActivity; import com.pankia.PankiaError; import com.pankia.User; public class MainActivity extends PankiaActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Pankia.launchDashboard(this); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_main, menu); return true; } @Override protected Config getGameConfig() { Config config = new Config(this, "YOUR_GAME_KEY_HERE", // gameKey, "YOUR_GAME_SECRET_HERE", // gameSecret, "YOUR_GAME_TITLE_HERE", // gameTitle, null); // Dashboard Custom Background Image config.setIMEILoginDisabled(true); return config; } @Override protected void onUserDidLogin(User user) { // TODO Auto-generated method stub super.onUserDidLogin(user); } @Override protected void onUserDidFailToLogin(PankiaError error) { // TODO Auto-generated method stub super.onUserDidFailToLogin(error); Log.i("Activity", "Logging in failed. Reason:" + error.message); } }
実行
動きました。 |
ダッシュボードも正しく表示されました。 |
ダッシュボードが表示されました。
まとめ
とりあえずここまで。今回は初めて&全て調べながら&記事書きながらやったので3時間ぐらいかかりました。
PankiaDeveloperとEclipseへのプロジェクト追加は一度きりなので
アプリへ追加するだけであれば慣れれば10分ぐらいでしょうか。
こんな簡単にできるの?っていうのが正直な感想でした。
次はハイスコアを登録できるようにしてみます。