アプリケーションを開発する (1.4 以降)

このページでは、Mobage Native SDK を使って新規にアプリケーションを作成します。Mobage Native SDK を使ったアプリケーションの起動シーケンスは下図のようになります。

1.Mobage.initialize() によって初期化処理を行います。
  【Native SDK 1.4.6 以降では registerTick は呼び出さないでください】必ず、Mobage.initialize の後、Mobage.registerTick() をアプリ内で一度だけコールして下さい。
2.Mobage.checkLoginStatus() によってログイン状態を確認します。
3.onLoginRequired と onSplashComplete が両方とも返ってきた場合、Mobage.showLoginDialog() によってログインダイアログを表示します。 

アプリ起動時には、onLoginRequired と onSplashComplete の両方が揃った場合に、showLoginDialog を呼び出して下さい。

Eclipse で新規 Android プロジェクトを作成し、Activity クラスを継承する下記のようなクラス HelloMobageActivity を実装してください。

ログイン処理

起動直後に下記のような初期化メソッドを呼び出し、地域タイプ、環境タイプ、consumerKey、consumerSecret、アプリケーションID、ルートアクティビティ、スプラッシュスクリーンの ON / OFF を渡します。(consumerKey, consumerSecret はディベロッパーサイト上からアプリケーションを登録していただくと発行されます。DeveloperSite 上の「Android アプリ設定」の中の「SDK 向け Consumer Key」「SDK 向け Consumer Secret」を入力してください。)

Mobage Native SDK 1.4.7 以降、引数に showSplashScreen が追加されましたが、false (スプラッシュスクリーンを表示しない)の場合、onSplashComplete が呼ばれませんので注意してください。

ログインリスナーの実装

ログイン状態の確認のため、addPlatformListener メソッドでリスナーを登録し、checkLoginStatus をコールします。ログインリスナーは、例えば下記のように実装することができます。addPlatformListener は、(1) onCreate と onRestart で呼び出すか(上記)、(2) onStart からのみ呼び出すかのどちらかで実装してください。
尚、複数のActivityが存在する場合は同様に各 Activity にログインリスナーを実装する必要があります。Main の Activity に実装するログインリスナーと他の Activity に実装する場合のログインリスナーには違いがありますので注意して下さい。

リスナーは onStop で自動的に remove されますので、明示的に remove する必要はありません。
onLoginRequired や onLoginComplete は通常会員へのアップグレード訴求、メールアドレス登録訴求時等にも呼び出される場合がございます。その際に checkProgress() のような実装を行わずに onLoginComplete 内でゲームの初期化を行ってしまうと訴求時に毎回ゲームが初期化されてしまうのでご注意ください。
また、onLoginComplete では User Id が取得できますが、User Id を変数に一旦保存し、もう一度 onLoginComplete が呼ばれた時の User Id が変わっていなければ、特に何もせず、もし変わっていたら現在のゲーム内で使用しているユーザデータを全て破棄し、ゲームを最初に戻して、タイトル画面から別の User Id でプレイするように実装する必要があります。これは、Mobage SDK に内包されるコミュニティ機能から、ログアウト機能が呼ばれた際に User Id が切り替わるケースがあるためです。

Main の Activity に登録するログインリスナー

Main 以外の Activity に登録するログインリスナー

非同期イベント処理

Mobage Native SDK 1.4.6 以降では、Mobage.registerTick() は呼び出さないでください

Mobage Native SDK では基本的に非同期でイベントを処理し、呼び出したスレッドでイベント処理の結果を受け取ります。従って、イベント処理結果を受け取るためには Mobage#tick() メソッドを Timer に登録する下記のような処理が必要です。タイミングとしては Mobage.initialize() の直後が最適です。

ライフサイクル系メソッドの実装

Mobage Native SDK では、各 Activity のライフサイクル系メソッドに対応した Mobage API をコールする必要があります。Main の Activity だけでなく、全ての Activity で記載する必要があります。

ユーザ情報を取得する

People#getCurrentUser() を呼ぶメソッドは、下記のように実装することができます。

更新履歴

  • 2015/02/12
    • showSplashScreen フラグが false の場合は、onSplashComplete が呼ばれないことを追記
  • 2014/08/20
    • 従来の initialize メソッドが deprecated になり、引数に boolean showSplashScreen が増えたのでドキュメントを修正
  • 2013/07/22
    • 起動時は、onSplashComplete, onLoginRequired が揃ってから showLoginDialog を呼ぶように変更。
  • 2013/05/13
    • ログインリスナーを各Activityに実装することを追記。
  • 2012/12/21
    • 新規作成

PREVIOUS

アプリケーションを開発する (1.4 未満)

NEXT

Mobage Native SDK (iOS 版)