Version: 2020.3
言語: 日本語
Unity IAP の設定
Google Play ストアの設定

Apple App Store と Mac App Store の設定

前書き

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

アプリ内課金 (IAP) は、お金とデジタルプロダクトとを取引する過程です。プラットフォームのストアでは、デジタルプロダクトである製品を購入することが可能です。プロダクトには、たいてい文字列データタイプである ID と、有効な期間を表すタイプが与えられています。タイプは、subscription、 consumable (再購入可能)、 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でバンドルIDを確認すると (Edit > Project 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 設定で 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 Store と Apple Mac ストアへのアプリケーション提出方法 を参照してください。

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