docs.unity3d.com
    目次を表示する/隠す

    設定方法

    概要

    このガイドでは、Unity のゲームでアプリ内課金のストアとやり取りするために必要なデジタルレコードおよび関係を構築するプロセスについて説明します。

    アプリ内課金 (IAP) とは、デジタル商品とお金を交換するプロセスです。プラットフォームのストアでは、デジタル商品であるプロダクトを購入できます。これらのプロダクトには ID (通常は文字列データ型) が指定されています。プロダクトには、永続性を表すタイプがあります。Subscription (サブスクリプション)、Consumable (再購入可能)、および Non-Consumable (1 度だけ購入可能) が最も一般的です。

    Apple App Store

    はじめに

    1. Unity IAP を実装したゲームを作成します。Unity IAP の初期化 を参照してください。

    2. 後で App Store Connect で使用できるように、ゲームのプロダクト ID をメモしておきます。

    アプリケーションの登録

    1. Apple Developer Center で、該当する Identifiers セクションに移動します。

    2. 新しい App ID を追加して、Apple での基本的なアプリケーションエンティティを作成します。

      ノート: Explicit App ID を使用してください。Wildcard App ID (com.example.*) は、アプリ内課金を使用するアプリケーションには使用できません。

      ノート: App ID は、Developer Center で作成した後、App Store Connect で使用できるようになります。

    3. App Store Connect に移動してアプリケーションを作成し、ゲームと Store の関係を確立します。

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

    アプリ内課金の追加

    1. Features を選択し、追加 ("+") ボタンで新しいアプリ内課金を追加します。

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

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

      ノート: ここでの "Product ID" は、ゲームのソースコードで使用されているものと同じ識別子で、AddProduct() や AddProducts() を介して Unity IAP ConfigurationBuilder のインスタンスに追加されます。

      ノート: 複数の Apple デバイスグループをターゲットにしている場合 (iOS と Mac の両方で出荷する場合など)、Apple ではデバイスグループごとに異なる一意の Product ID を使用することを求めています。Unity IAP の Purchasing.IDs クラスを使用して、Product ID とストア固有の識別子の一対多マッピングを定義し、IAP の初期化時にそのマッピングを渡すことができます。

    4. 結果は以下のようになります。

    IAP のテスト

    1. テスト用デバイスの iTunes アカウントで使用するために、App Store Connect を使用して Sandbox Testers を作成します。これを行うには、App Store Connect > Users and Roles の順に選択し、追加 ("+") ボタンを選択します。重要な使用上の注意事項がいくつかあるので、Apple の Sandbox Tester のドキュメント を確認してください。テスターを作成するには、実際の E メールアドレスを使用する必要があります。

      ヒント: (*) E メールアドレスの管理を簡素化するために、サブアドレス (emailaccount+subaddress@example.com)) の設定が可能な E メールサービス (Gmail、iCloud、Outlook.com など) を利用してください。これにより、1 つの E メールアカウントで複数のサブアドレスに E メールを受信することができます。

    2. ユーザー作成ウィザードの指示に従います。

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

      ノート: Unity の Bundle Identifier (Edit > Project Settings の順に移動してから Other Settings カテゴリを選択し、Bundle Identifier セクションに移動します) が、App Store Connect で使用されているものと一致していることを確認します。

    4. 次に、ゲームの Xcode プロジェクトで、Team (Project Navigator > (ゲームの) Target > General > Identity > Team) が自分の Apple Developer アカウントのチームに設定されていることを確認します。

    iOS の場合

    1. ターゲットの iOS デバイスを使用して、既存の Apple ID アカウントすべてからサインアウトします。後でアプリケーションから求められたら、サンドボックステスターとしてサインインしてください。その後の購入はすべて、Production Store ではなく Apple Sandbox を介して行われます。

    2. iOS デバイスでゲームをビルドして実行します。すべて正しく設定されていれば、UnityPurchasing.Initialize() が成功します。Unity Purchasing の初期化 を参照してください。

    3. デバイス上のゲーム内で購入することによって、IAP をテストします。修正された購入ダイアログが表示され、この購入が Sandbox 環境で行われることが説明されます。購入の際にパスワードの入力を求められたら、サンドボックスユーザーテスターのパスワードを使用してください。

      注意: ダイアログが表示されない場合は、アカウントにプロダクト代金が課金されます。

    Mac の場合

    1. デスクトップの Mac ビルドをビルドする場合は、Unity の Mac Player 設定で、Mac App Store Validation を選択します。

    2. アプリケーションをビルドしたら、info.plist ファイルをバンドル ID とバージョン文字列で更新します。.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. Applications フォルダーからアプリケーションを起動します。初回起動時に、iTunes のアカウント情報を入力するよう求められ、入力するとサンドボックス環境でのテスト購入が可能になります。

    Apple App Store のテストと署名の詳細については、iOS と Mac の拡張機能 および Apple Mac Store へのアプリケーションの配信 に関するページを参照してください。

    トップに戻る
    Copyright © 2023 Unity Technologies — 商標と利用規約
    • 法律関連
    • プライバシーポリシー
    • クッキー
    • 私の個人情報を販売または共有しない
    • Your Privacy Choices (Cookie Settings)