Version: 2018.1
Unity IAP の設定
Google Play ストアの設定

Apple App Store と Mac App Store の設定

前書き

ここでは、Unity のゲームでアプリ内課金ストアを利用するのに必要な、デジタルレコードと関連を構築する手順を説明します。Unity IAP 課金 API がターゲットとなります。

アプリ内課金 (IAP) は、お金とデジタルプロダクトとを取引する過程です。プラットフォームのストアでは、デジタルプロダクトである製品を購入することが可能です。プロダクトには、たいてい文字列データタイプである ID と、有効な期間を表すタイプが与えられています。タイプは、subscriptionconsumable (再購入可能)、 non-consumable (1度だけ購入可能) が一般的です。

Apple App Store

はじめに

  1. Unity IAP を実装するゲームを作成します。Unity IAP 初期化Integrating Unity IAP with your game を参照してください。

  2. 後で、iTunes Connect で使用するために、手元にゲームのプロダクト ID を控えておきます。

アプリケーションの登録

  1. Apple Developer Center で、該当する ID セクションを探します。

  2. 新しい App ID を加え、Apple の基本アプリケーション情報を作成します。

    注意: Explicit App ID を使用してください。Wildcard App ID (com.example.*) は、In-App Purchases を利用するアプリケーションには使用できません。

    注意 App ID は Developer Center で作成したあとに iTunes Connect で使用できます。

  3. iTunes Connect を開き、App を作成し、ゲームとストアとの関連付けをします。

  4. 新しく作成した App ID をアプリケーションの Bundle ID に使用します。

アプリ内課金システム情報の追加

  1. 新しいアプリの Features を選択し、+ ボタンを押して新しい In-App Purchase を加えます。

  2. プロダクトタイプ を選択します。

  3. Product ID を 指定し、必要に応じて他のフィールドを記入します。

    注意: この Product ID は、ゲームのソースコードで使用されるのと同じ ID で、 AddProduct()AddProducts() を通じて Unity IAP ConfigurationBuilder インスタンスに加えられます。

    注意: 複数の Apple デバイスのグループをターゲットにするとき (例えば、iOS と Mac 両方を出荷するときなど)、Apple はそれぞれの違うグループが区別できるよう固有のプロダクト ID を必須としています。Unity IAP の Purchasing.IDs クラスを使用して、「1 対 多」にマッピングするプロダクト ID を特定のストアの ID に定義し、IAP を初期化するときにそのマッピングを渡します。

  4. 結果

IAP のテスト

  1. iTunes Connect で、テスト機器の iTunes アカウントで使用する Sandbox Testers を作成します。これを行うには、iTunes Connect > Users and Roles の順に選択し、プラス (+) ボタンを選択します。いくつか重要な注意事項の追加があるので、必ず Apple’s Sandbox Tester documentation を参照してください。Tester を作成するには、実在の メールアドレスを使用してください。

    注意: 詳しくは iOS & Mac App Store を参照してください。

    ヒント: (*) メールアドレスの管理を簡易化するためには、Gmail、iCloud、Outlook.com などのようなサブアドレス (メールアカウント+サブアドレス@example.com) の使用が可能なメールサービスを使用します。これにより、1 つのメールアカウントで複数のサブアドレスのメールを取得することが可能になります。

  2. Wizard にしたがって、Tester を作成します。

  3. Unity を使用して、ゲームの Xcode プロジェクトをビルドします。

    注意: Unity の Bundle Identifier (Build Settings > iOS > Settings… > Other Settings > Bundle Identifier) が iTunes Connect で使用されているものと一致するよう、気を付けてください。

  4. それから、ゲームの Xcode プロジェクトで、Team (Project Navigator > your game Target > General > Identity > Team) が Apple Developer アカウントに設定されていることを確認してください。

iOS の場合

  1. ターゲットになる iOS デバイスを使って、存在する Apple ID アカウントすべてからサインアウトし、アプリケーションの指示で Sandbox Tester としてサインインします。その後の購入はすべて、Production Store ではなく Apple Sandbox を通して送られます。

  2. iOS デバイスでゲームをビルドして実行します。すべてが正しく設定されると、UnityPurchasing.Initialize() へと続きます。Unity Purchasing Initialization を参照してください。

  3. デバイス上のゲームでなにかを購入して、IAP をテストします。変更された購入ダイアログが表示され、この購入が実際、Sandbox 環境で実行されたとことを示します。購入の際に、パスワードの入力をもとめられたら、Sandbox User Tester のパスワードを使用してください。

    警告: 表示が出ない場合は、プロダクトに対し実際に課金されます。

Mac の場合

  1. デスクトップ Mac ビルドを作成するとき、Unity の Mac Player Settings で _Mac App Store Validation を選択します。

  2. アプリケーションをビルドしたら、バンドル ID とバージョン文字列で info.plist ファイルを更新します。.app ファイル上で右クリックし、 Show Package Contents をクリックし、info.plist ファイルを探し、CFBundleIdentifier 文字列をアプリケーションのバンドル ID で更新します。

  3. アプリケーションに署名し、パッケージし、インストールします。your.app と your.pkg を適切に入力し、以下のコマンドを OSX ターミナルから実行します。

    ヒント: バンドルに署名するには、Contents.meta ファイルが存在する場合、最初にそれを削除する必要があります。your.app/Contents/Plugins/unitypurchasing.bundle/Contents.meta

    1. codesign -f --deep -s "3rd Party Mac Developer Application: " your.app/Contents/Plugins/unitypurchasing.bundle

    2. codesign -f --deep -s "3rd Party Mac Developer Application: " your.app

    3. productbuild --component your.app /Applications --sign "3rd Party Mac Developer Installer: " your.pkg

  4. パッケージを正しくインストールするために、新しく作成したパッケージを実行してインストールする前にアンパックした .app ファイルを削除してください。

  5. アプリケーション フォルダーからアプリを起動します。初回に iTunes アカウントの情報を入力すると、Sandbox 環境でテスト購入できるようになります。

Apple の App Store のテストと署名に関する詳しい情報は、iOS & Mac App StoreApple Mac ストアへのアプリケーション提出方法 を参照してください。

Unity IAP の設定
Google Play ストアの設定