Mobage Platform にログインする

本チュートリアルで作成するサンプルコードは Native Tutorial Sample Download からダウンロードできます。

起動シーケンス

Mobage Native SDK を使ったアプリケーションの起動シーケンスは下図のようになります。

  1. Mobage.initialize() によって初期化処理を行います。
  2. Mobage.addPlatformListener() によってログインリスナーを登録します。
  3. Mobage.checkLoginStatus() によってログイン状態を確認します。
  4. onLoginRequired が返ってきた場合、Mobage.showLoginDialog() によってログインダイアログを表示します。
  5. onLoginComplete が返ってきたら Mobage へのログイン完了。
     
    ただし、onLoginComplete では User Id が取得できますが、User Id を変数に一旦保存し、もう一度 onLoginComplete が呼ばれた時の User Id が変わっていなければ、特に何もせず、もし変わっていたら現在のゲーム内で使用しているユーザデータを全て破棄し、ゲームを最初に戻して、タイトル画面から別の User Id でプレイするように実装する必要があります。これは、Mobage SDK に内包されるコミュニティ機能から、ログアウト機能が呼ばれた際に User Id が切り替わるケースがあるためです。

MainActivity.java の編集

Mobage Native SDK を使用する為に AppDelegate.m を修正します。
まずはじめに Mobage Native SDK の機能を使用する為に必要なヘッダファイルをインポートします。

次に Mobage Native SDK を有効にする為に
protected void onCreate(Bundle savedInstanceState)
を以下のように修正します。

 

各メソッドの解説

initialize

初期化の処理を行います。MBGPlatform#initialize メソッドでは、consumerKey, consumerSecret の他に、リージョンや環境、appId 等を指定します。

項目

設定内容

region

MBG_REGION_JP

serverType

MBG_SANDBOX

consumerKey

${ANDROID_SDK_CONSUMER_KEY}

consumerSecret

${ANDROID_SDK_CONSUMER_SECRET}

appId

${MOBAGE_APPLICATION_ID}

rootActivity

this(MainのActivityで呼び出します)

showSplashScreen

true(スプラッシュスクリーンを表示する場合は true を設定します。false の場合はスプラッシュスクリーンが表示されませんし、onSplashComplete も呼ばれませんので注意してください。)

 

checkLoginStatus

アプリケーション起動時に Mobage へのログインステータスを確認し起動ポップアップ(ログイン画面等)を表示するイベントを受ける為のメソッドです。

ログイン状態であっても起動ポップアップ(アップグレード訴求等)が表示される際に onLoginRequired が呼び出される場合がございますので Mobage へのログイン状態を確認する為にはご使用頂けません。

ログインリスナーの実装

Mobage Native SDK からの各種イベント通知を処理する為のリスナーを実装します。

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

 

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

Mobage Native SDK では、各 Activity のライフサイクルメソッドに対応した Mobage API をコールする必要がある為、各種ライフサイクルメソッドを実装します。

複数の Activity を使用する場合は MainActivity 以外でもライフサイクルメソッドに対応した Mobage API をコールする必要があります。実装方法はこちらのドキュメントをご参考ください。

ログインユーザーの情報を取得する

Mobage Native SDK の機能を使って Mobage Platform へログインしたユーザーの情報を取得する為に private void gameStart() メソッドを下記のように変更しました。

 
 

プロジェクトの実行

Mobage へのログインができるようになったのでプロジェクトを実行して確認を行います。"Shift + ⌘ + F11" または Eclipse メニュー上部の "Run ボタン" を押してください。アプリケーションを実行すると下記のようになります。

  1. Mobage のスプラッシュスクリーンが表示されます
    Mobage SDK に含まれているスプラッシュスクリーンの画像を変更しない場合、真っ白なスプラッシュスクリーンが表示されます。
    下記画像は Mobage のスプラッシュスクリーンに変更した場合の画像となります。
    スプラッシュスクリーンを変更する方法はログイン画面等における画像の変更方法をご確認下さい。




  2. ログインダイアログが表示されます
    ログインダイアログの画像を変更する方法はログイン画面等における画像の変更方法をご確認下さい。




  3. アプリケーション開発の準備で作成したテストアカウントでログインします
  4. ログインが成功すると起動ポップアップが消えアラートでテストアカウントのニックネームが表示されます



以上で Mobage Native SDK を使用して Mobage にログインする事が出来るようになりました。

更新履歴

  • 2017/04/05
    • ログアウト時の挙動について追記
  • 2015/02/12
    • showSplashScreen が false の場合、onSplashScreen が呼ばれないことを追記
  • 2014/08/27
    • 従来の initialize メソッドが deprecated になり、引数に boolean showSplashScreen が増えたのでドキュメントを修正
  • 2013/12/25
    • ログインダイアログおよびスプラッシュスクリーンの画像を変更できるようになったのに伴い、リンク追加
  • 2013/12/04
    • 初版作成

PREVIOUS

Eclipse project に SDK を組み込む

NEXT

SDK を導入する (iOS)