SDK を導入する (Unity)

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

Unity で新規プロジェクトを作成する

まずはじめに メニューバー > File > New Project... を選択し Unity のプロジェクトを作成します。
設定を行ったら、"Create Project" を押下してください。
本チュートリアルでは下記のように設定を行いました。

項目

Project Directory

MobageExample

 

プロジェクトの作成が完了すると下記のような画面が表示されます。

画像は Layout を Tall に設定したものとなっています。

このままでは Scene 上にカメラしかないので今回は仮に Plane オブジェクトを生成します。
Hierarchy タブ > Create > Plane を選択し Hierarchy タブに Plane を追加します。

Hierarchy タブに追加された Plane を選択し下記画像のように名前を "MobageCallback" に変更します。

この変更を行わないと Mobage Unity SDK からのコールバックを受け取る事が出来なくなりますので必ず行ってください

ここまでの作業が完了したら一旦 Scene を保存します。
File > Save Scene を選択し適切な名前で Scene を保存してください。

"Scenes" フォルダを作成し "MobageExample" の名前で保存しました。

Scene の保存が完了すると、保存した名称(保存したパス)で Assets 以下に .unity ファイルが生成されます。

次に Scene を制御する為の Script ファイルの作成を行います。
Project タブ > 任意のフォルダ上でダブルクリック > Create > C# Script
の手順で任意の場所に Script ファイルを作成してください。

"Scripts" フォルダを作成し "MobageExample" の名前で作成しました。

 

Script ファイルを作成したら、先ほど作成した "MobageCallback" に設定を行います。
Hierarchy タブ > MobageCallback を選択して Inspector を表示し "Add Component" から "MobageExample.cs" を追加してください。

以上で最低限 Mobage Unity SDK を使う為に必要な Unity Project の作成が完了しました。

Mobage Unity SDK をインポートする

次に Mobage Platform の機能を使用する為に Mobage Unity SDK をプロジェクトに導入します。
メニューバー > Assets > Import Package > Custom Package... を選択してください。

インポートする Custom Package を選択する画面に遷移するので Mobage Unity SDK の "MobageUnitySDK.unitypackage" を選択して左下の "open" を押下してください。

Importing package 画面でインポートするファイルを選択できますので全てのファイルにチェックが入っている事を確認して左下の "import" を押下してください。


 
1.4.7.5 以降の場合、インポートが完了すると、以下の様な画面が表示されますので、input your AppId の右側のエディットボックスに Mobage の AppId を入力してください。

この作業を行うと、この後の MBAppId.txt と AndroidManifest.xml への AppId の入力が必要無くなります。

 
Unity5 に 1.4.7.5 以降のバージョンでバージョンアップした場合、ビルドが正しく通らないことがあります。その際には、1.4.7.5 以降をインポート後、Unity のメニューバーより「Mobage SDK」→「Clean Old SDK」を選択してください。

以上で Mobage Unity SDK のインポートが完了しました。

F.O.X for Mobage について

Mobage Unity SDK 1.4.7.4 より、F.O.X を取り外すことができるようになりました。

iOS の場合

今まで libmobage.a スタティックライブラリ内に組み込まれていた F.O.X for Mobage を取り外したバージョンの SDK ライブラリを同梱しています。
F.O.X for Mobage を利用する場合は、上記手順から何もする必要はありません。
F.O.X for Mobage を利用しない場合や、アプリケーションで独自に F.O.X SDK を組み込む場合には、libmobage.a をリンクせず、代わりに ios/SDKWithoutFOX/libmobage-withoutfox.a をリンクします。

  1. Assets/Plugins/iOS/libmobage.a を削除します。
  2. Mobage Unity SDK 1.4.7.4 以降のパッケージに含まれる ios/SDKWithoutFOX/libmobage-withoutfox.a を Assets/Plugins/iOS へドラッグ&ドロップします。

これで F.O.X for Mobage の取り外しが完了しました。

Android の場合

1.4.7.4 以降、F.O.X for Mobage を取り外したバージョンの SDK ライブラリを同梱しています。
F.O.X for Mobage を利用する場合は、上記手順から何もする必要はありません。
F.O.X for Mobage を利用しない場合や、アプリケーションで独自に F.O.X SDK を組み込む場合には、AppAdForce.jar, MobageNativeSdk.jar をリンクせずに、代わりに /android/SDKWithoutFOX/MobageNativeSdk-withoutfox.jar をリンクします。

  1. Assets/Plugins/Android/AppAdForce.jar を削除
  2. Assets/Plugins/Android/MobageNativeSdk.jar を削除
  3. Mobage Unity SDK 1.4.7 以降のパッケージに含まれる /android/SDKWithoutFOX/MobageNativeSdk-withoutfox.jar を Assets/Plugins/Android へドラッグ&ドロップ

これで F.O.X for Mobage の取り外しが完了しました。

Mobage Unity SDK のセットアップを行う

Mobage Unity SDK のインポートが完了したら、次に自分の作成したプロジェクトから Mobage Unity SDK の機能を使用する為のセットアップを行います。
Hierarchy タブ > MobageCallback を選択して Inspector を表示し "Add Component" から

  • MobageCallback
  • BalanceButton
    • BalanceButton(GUISkin)

の追加を行ってください。

以上で Unity SDK のセットアップが完了しました。
 

SDK の機能を使用する

Mobage Unity SDK のセットアップが完了したので Mobage Unity SDK を使用してみましょう。今回は Mobage Platform へのログイン、ログインしたユーザー情報を取得する為のコードを書きます。
MobageExample.cs を下記のように変更してください。

各メソッドの解説

initialize

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

引数

設定内容

region

MBG_REGION_JP

serverType

MBG_SANDBOX

consumerKey

${IOS_SDK_CONSUMER_KEY} or ${ANDROID_SDK_CONSUMER_KEY}

consumerSecret

${IOS_SDK_CONSUMER_SECRET} or ${ANDROID_SDK_CONSUMER_SECRET}

appId

${MOBAGE_APPLICATION_ID}

addLoginListener

Mobage Unity SDK からのイベントを受け取る為の設定です。

checkLoginStatus

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

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

以上で、Mobage Unity SDK を使用して Mobage Platform にログインし、ログインしたユーザーのニックネームを取得する所までのコードが準備できました。

ログインリスナーの実装

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

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

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

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

プロジェクトをビルドし実機でテストする

アプリケーションを動作させる為に必要な実装が完了したので、実機で動作確認を行います。実機で動作確認する際に Android は AndroidManifest.xml を iOS は MBAppId.txt を編集する必要があります。各端末のテスト方法は下記をご参考ください。

iOS 端末で動作確認をする

Mobage Unity SDK 1.4.6 から iOS 端末で動作確認を行う際に Unity でビルド後 Xcode 側でフレームワークの設定等を行う必要がなくなりました。代わりに MBAppId.txt というテキストファイルにアプリケーションIDの記載が必要になります。

MBAppId.txt を編集する

Project タブ > Assets > Editor > MBAppId.txt を開いてください。

MBAppId.txt を開くと下記のようになっているので ${YourApplicationId} を 120XXXXX のようなアプリケーションIDに置き換えてください。

iOS 端末にアプリをインストールする

Mobage Unity SDK 1.4.7.4 より、Apple の 64bit 対応の必須化を受け、64bit 対応ビルドをサポートします。ここでは 64bit 対応ビルドの解説を行います。

端末にアプリケーションをインストールする為に メニューバー > File > Build Settings... を開いてください。

初期は Platform が "PC, Mac & Linux Standalone" に設定されているかと思いますので "iOS" を選択して "Switch Platform" を押下し Platform を iOS に変更します。

Platform の変更が完了したら "Player Settings..." を選択して iOS の設定画面を開き各種設定を行ってください。

Mobage Unity SDK 1.4.7.4 より、iOS 64bit (arm64) ビルドに対応しています。64 bit に対応させる場合には、Scripting Backend に「IL2CPP」、Architecture に「Universal」を設定してください。

設定が完了したら Build Settings 画面から "Build And Run" を選択し Unity プロジェクトをビルドしてください。ビルドが正常に完了すると Xcode が立ち上がり実機へのインストールが始まります。

本チュートリアルでは動作がわかりやすくなるようアラートダイアログを表示しています

Android 端末で動作確認をする

Android 端末で動作確認を行う為には AndroidManifest.xml の編集が必要になります。

AndroidManifest.xml を編集する

Project タブ > Assets > Plugins > Android > AndroidManifest.xml を開いてください。

AndroidManifest.xml を開くと下記のようになっているので ${YourApplicationId} を "120XXXXX" のようなアプリケーションIDに置き換えてください。

2014/05/28 までは、singleTop または standard に設定して頂くようにお願いしていましたが、Unity SDK をお使いの場合には singleTask に設定していただくように変更いたしました。

Mobage Unity SDK 1.4.7 以降、もし Install Referrer を他の Receiver に転送したい場合は、以下のように記載して下さい。

  • meta-data の android:name は forward. で始まるユニークな名前を設定して下さい。
  • android:value は受け取る Receiver 名を FQCN で記載して下さい。
    TrackingReceiver が他の Receiver から Intent を転送してもらうこともできます。たとえば AppBrain と Google の CampaignTrackingReceiver とを併用する場合は、以下のように記述することができます。


Unable to render {include} The included page could not be found.

Android 端末にアプリをインストールする

端末にアプリケーションをインストールする為に メニューバー > File > Build Settings... を開いてください。

初期は Platform が "PC, Mac & Linux Standalone" に設定されているかと思いますので "Android" を選択して "Switch Platform" を押下し Platform を Android に変更します。

Google Android Project にチェックを入れていると Eclipse プロジェクトが出力されます。本チュートリアルではチェックを外し直接 Android 端末にアプリケーションをインストールして動作確認を行います。

Platform の変更が完了したら "Player Settings..." を選択して Android の設定画面を開き各種設定を行ってください。

設定が完了したら Build Settings 画面から "Build And Run" を選択し Unity プロジェクトをビルドしてください。ビルドが正常に完了すると実機へのインストールが始まります。

本チュートリアルでは動作がわかりやすくなるようアラートダイアログを表示しています

更新履歴

  • 2017/04/05
    • ログアウト時の挙動について追記
  • 2014/08/25
    • FOX for Mobage の取り外し方法記載
  • 2014/07/11
    • Google Play Services インポートについて追記
  • 2014/05/28
    • launchMode を singleTop から singleTask に変更
  • 2014/02/18
    • 初版作成

PREVIOUS

開発を始める前に

NEXT

3章 OAuth 認証を行う