2011年10月09日

[Android] Openfeintの使い方(その2)

[Android] Openfeintの使い方(その1)では、プログラミング前の準備をまとめました。
今回は、プログラミングと動作確認までの流れです。


(1) OpenFeint SDKに関わるプロジェクトをインポート
[Android] Openfeintの使い方(その1)でダウンロードしたSDK一式の中にあった3つのディレクトリ(1つのディレクトリが1プロジェクト)をインポートします。

ダウンロードしたSDK一式。
20111009openfinet1.png

Eclipse を起動します。

パッケージ・エクスプローラー > 右クリック > インポート

インポート画面が起動します。

一般 > 既存プロジェクトをワークスペースへ > ルート・ディレクトリーの選択

・GameFeed
・MyOpenFeintSample
・OpenFeintAPI

をインポートします。
まだこの状態だと、ビルド時にエラーが出ると思います。


(2) 各プロジェクトのProject Build Targetとライブラリーの設定
MyOpenFeintSample を動かすことが目的なので、各プロジェクトの状況を確認します。

各プロジェクトについて 右クリック > プロパティ > Android で「Project Build Target」と
「ライブラリー」を確認します。
特に、ライブラリーの設定については、はじめは追加または変更が必要です。

・OpenFeintAPIの場合
20111009openfinet12.png

・GameFeedの場合
20111009openfinet11.png

・MyOpenFeintSampleの場合
20111009openfinet7.png

上記の通りに設定すると、ビルドバスも自動的に追加されるはずです。

・MyOpenFeintSampleの場合
20111009openfinet8.png

これでもビルドエラーが出る場合は、Javaコンパイラーの設定を確認します。
私の場合は、コンパイラー準拠レベルを1.6にしたらエラーは解消しました。

20111009openfinet9.png


(3) プログラムの修正
「OpenFeintApplication.java」で、ゲーム情報を入れるところがあるので、そこを修正します。

自分の場合は定数を外で定義して、OpenFeintSettings()に渡すように修正しました。
---------------------------------------------
※追加・修正部分のみを抜粋↓
static final String gameName = "[アプリ名]";
static final String gameID = "[Client Application ID]";
static final String gameKey = "[Product key]";
static final String gameSecret = "[Product secret]";

OpenFeintSettings settings = new OpenFeintSettings(gameName, gameID, gameSecret, gameKey, options);
---------------------------------------------

これで準備が出来たので、あとは実機で実行確認します。

この段階で、スマートフォンが「USBデバッグ」の状態でPCと接続できている必要があるので注意しましょう。

USBデバッグ接続の方法(Galaxy S2 の場合)
Galaxy S2 ドライバーインストール方法

Eclipseの上のメニューから。
実行 > 実行構成

で、MyOpenFeintSample を登録して実行します。

以下のような画面が出れば成功です。

20111009openfinet10.png


[Android] Openfeintの使い方(その1)でメモした「LeaderboardとAchievementのUnique ID」は
LeaderboardとAchevementを個別に扱う場合に必要です。

以下は、各々のサンプルコードです。
---------------------------------------------
// Leaderboardのインスタンスを生成
// id には Unique ID、mBestRecordには最高記録が入ります
final Leaderboard l = new Leaderboard(id);
Score s = new Score(mBestRecord, null);
s.submitTo(l, new Score.SubmitToCB() {
private final void finishUp() {
// sweet, pop the thingerydingery
}
// スコア送信成功
@Override public void onSuccess(boolean newHighScore) {
}
// スコア送信失敗
@Override public void onFailure(String exceptionMessage) {
finishUp();
}
});
---------------------------------------------
// Achievementをアンロック
// id には Unique IDが入ります
new Achievement(id).unlock(new Achievement.UnlockCB () {
@Override
public void onSuccess(boolean newUnlock) {
// unlock成功
}
@Override
public void onFailure(String exceptionMessage) {
// unlock失敗
}
});
---------------------------------------------

GameFeedの使い方については、「GameFeedSettings.java」を参考にしてみましょう。
posted by be-style at 21:50| Comment(0) | Android
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]