[cocos2dx] Android用のランキングシステム「SCORE BOARD」を導入する

[cocos2dx] Android用のランキングシステム「SCORE BOARD」を導入する
   

iOSには、GameCenterというランキングなどを他のPlayerと競うシステムがあります。
Androidで同じようにランキングを表示することができるのが、この「SCORE BOARD」です。

導入も非常に簡単です。今回は、cocos2dxのプロジェクトにこの「SCORE BOARD」を実装する方法を紹介します。


準備

「SCORE BOARD」の管理画面上

「SCORE BOARD」の管理画面上から、「アプリ」と「ランキング(ゲームモード)」の2つを作成します。
2つ作成できれば、プロジェクト内で必要な2つのIDが手に入ります。

  • ゲームモードID
  • API KEY

SDK

SDKにあるフレームワークをプロジェクトの[libs]内に追加します。
GameFeatSDK.jarに関しては、別途最新のものを入れたほうがいいでしょう。(注意:ver3.0.0にすると、ランキング内のウォール広告が開かなくなります)

2013-12-7-fdsasd.png


[Javaビルド・パス]で、プロジェクト内で使えるようにする。

2013-12-7-gdfds


[AndroidManifest.xml]で、ネットが利用できる設定をする。

<uses-permission android:name="android.permission.INTERNET" />



これで完了です。

実装する

[AndroidManifest.xml]と[Cocos2dActivity.java]に記述が必要です。
ただ、マニュアル通りなので、迷うことはないでしょう。

[AndroidManifest.xml]

「SCORE BOARD」と「SCORE BOARD内にあるGameFeatのウォール広告」の2つを設定しています。
もし、「GameFeatのウォール広告」を利用する場合は、別途記述がいらないとこのまま利用ができます。

2つIDを入れる所がありますので、ここにあなたのIDを入れて下さい。
  • gamefeat_ranking_api_key : 「SCORE BOARD」のAPI_KEY
  • gamefeat_site_id : GamefeatのアプリID




 <!-- Ranking START -->
<meta-data android:name="gamefeat_ranking_api_key" android:value="********************" />
<activity
	android:name="jp.basicinc.gamefeat.ranking.android.sdk.activity.GFRankingActivity" 
	android:label="Ranking"
	android:configChanges="orientation|keyboardHidden">
</activity>
<!-- Ranking END -->


<!-- GameFeat START -->
<meta-data android:name="gamefeat_site_id" android:value="****" />
<activity
	android:name="jp.basicinc.gamefeat.android.sdk.view.GameFeatAppActivity"
	android:configChanges="orientation|keyboardHidden"
	android:label="GameFeat" >
</activity>
<activity
  	android:name="jp.basicinc.gamefeat.android.sdk.view.GameFeatAppChildActivity"
  	android:configChanges="orientation|keyboardHidden"
	android:label="GameFeat"
	android:screenOrientation="sensor" >
</activity>
<receiver
	android:name="jp.basicinc.gamefeat.android.sdk.receiver.GameFeatBroadcastReceiver"
	android:enabled="true"
	android:exported="false">
	<intent-filter>
		<action android:name="android.intent.action.PACKAGE_ADDED"/>
		<data android:scheme="package"/>
	</intent-filter>
</receiver>


<activity
	android:name="jp.basicinc.gamefeat.android.sdk.view.GameFeatPopupActivity"
	android:configChanges="orientation|keyboardHidden"
	android:theme="@android:style/Theme.Translucent"
	android:label="GameFeat" >
</activity>

<!-- GameFeat END -->



[Cocos2dActivity.java]

ここで、「SCORE BOARD」の立ち上げと、「SCORE BOARD」に得点を送る2つのメソッドを実装します。
これをJNIを使って操作します。
これもマニュアル通りです。

SCORE BOARD」の立ち上げ

  	private static Cocos2dxActivity me = null;

    protected void onCreate(Bundle savedInstanceState){
		super.onCreate(savedInstanceState);	
		
		me = this;

    }


    //***には、ゲームモードIDを入れて下さい。
    public static void openRanking(){

    	GFRankingController.show(me, "***.*******.*****");

    }




「SCORE BOARD」に得点を送る

   public static void postHighScore(String score){
    	
    
        //***には、ゲームモードIDを入れて下さい。
    	String[] gameIds = {"***.*******.****"};
    	String[] scores = {score};
    	GFRankingController appController = GFRankingController.getIncetance(me);
    	appController.sendScore(gameIds, scores);
    	
    }




これで完了です。
openRanking()を呼び出せば、ランキングの画面が開きます。


次の新作にこのランキングを導入しています。よろしくお願いいたします。
2013-12-7-fdsadas

Related Posts Plugin for WordPress, Blogger...