UnityとSoomlaで手軽にアプリ内課金: Android編

Unityでアプリ内課金を実装するには、Android側でIn-app Billing APIを使って、Unity用プラグインを作ればよいが、一から実装するのは、なかなか大変なので、Soomlaというフレームワークを試してみた。

Soomla

SOOMLA – The Open Source Gaming Software Framework

SOOMLA Unity Store – In App Purchase (Unityアセットストア)

Soomlaとは、課金や、SNS連携などの面倒な処理を簡単にするための、オープンソースのクロスプラットフォームゲーム用フレームワーク。今回は、Soomlaを使ってAndroidの課金処理を試してみた。

Soomlaのドキュメントはこちら

アプリ内課金テストの大雑把な手順は以下の通り。

  1. Google Play Developer Condoleでアプリを作成する。
  2. Unityでプロジェクトを新規作成する。
  3. Soomlaをインポートする。
  4. 署名付きAPKをビルドする。
  5. Google Play Developer CondoleにAPKをベータ版でアップロードする。
  6. アプリ内アイテムを登録する。
  7. アプリを公開する。
  8. 実機にAPKをインストールしてテスト用のアカウントでテストする

Soomlaに入っているサンプルプログラムを使って課金テストする方法を、以下に記す。

Google Play Developer Consoleの初期設定

Google Play Developer Consoleを開き、アプリを新規作成する。アプリは、ベータ版でアップロードしたいので、ここではAPKのアップロードを選択しないで、ストアの掲載情報を準備を選択する。

APKのベータ版タブを開き、ライセンスキーを取得を押して、ライセンスキーを作成する。これは後でSoomlaの設定に用いる。

Key 1

Unityプロジェクトの作成

まずは、Unityで新しいプロジェクトを作成する。

Androidの設定

Build SettingsでプラットフォームをAndroidに切り替えて、Player Settingsを開く。

IdentificationのBuldle Identifierを適当な名前に変える。
(com.****.soomlatest等)

Publish SettingsでCreate New Keystoreを選択して、新しいキーストアを作成する。
(ストアにアップロードするには、署名付きAPKが必要)

Soomlaのインストールと設定

アセットストアからSoomlaをインストールする。アセットストアでSoomlaを検索すれば、すぐに見つかる。

Soomla

Window -> Soomla -> Edit SettingsからSoomla Editor Settingsのインスペクタを開く。

Soomla Secretに、適当な文字列を入れる。

Soomla 設定1

Google Play Developer Consoleで取得したライセンスキーを、Soomla設定のAPI Keyに入力する。

Key 2

テストの場合は、Test Purchasesにチェックを入れる。

APKのビルド

Assetsの下にsceneというシーンがあるので開く。

Build SettingsでAdd currentを押して、現在のシーンをビルド対象に追加する。

ビルド

ビルドしてAPKを作成する。

Google Play Developer Consoleの設定

購入テストをするためには、アプリを公開状態にする必要がある。今回は、アプリをベータ版として公開してテストする。

ベータ版テストにAPKをアップロードする。

公開に必要な情報と画像を追加する。テスト用なので、今は適当なデータでよい。

Store設定

上の3箇所がグリーンになっていれば公開可能になる。

アプリ内アイテムを登録する。

サンプルプロジェクトには、2500_packというアイテムがあるので、それに対応したアイテムを管理対象外のアイテムとして作成する。

アイテム

説明と価格を入力して保存後、有効にするを選択する。

これで、準備は完了なので、アプリを公開する。
(製品版として公開しないように注意!)

ストア情報が更新されるまで、数時間待つ。

テスト用アカウントの設定

開発者アカウントでは課金をテストできないため、設定 -> アカウントの詳細から、別のGoogleアカウントをテスト用に登録する。

テスト用アカウント

課金テスト

テスト用アカウントを設定したAndroid端末をPCに接続して、UnityからBuild and runでインストールする。

インストールに成功すると下のような画面が表示される。

スタート画面

ロボットをタッチすると、Virtual Goods画面が表示される。ここでは、ゲーム内の仮想アイテムが表示される。

仮想アイテム

仮想アイテムを購入するには、仮想通貨(マフィン)を使う。仮想通貨を補充するために、Get More Muffinsをタッチする。

仮想通貨

1000 Muffinsをタッチすると課金ダイアログが表示されるので、購入すると右上の数値が加算される。

課金ダイアログ

これでSoomlaのサンプルアプリのテストは終わり。Soomlaは課金処理や、ゲーム内仮想通貨の管理、データの暗号化までやってくれるので、すごく便利。次回は、サンプルコードの中身について解説する。

執筆時のコンテンツのバージョン

Unity: 4.5.2f1
Soomla: 1.5.3