iOS でのアプリ内課金の使用方法

iOS ゲームのアプリ内課金を使ってゲームに追加の有料コンテンツを提供する

Windows
MacOS
Linux

コンフィギュレーション

  1. iTunes Connect でアプリ内課金を設定するためのステップを説明します。

    Google Play の id にはすべて小文字を使用します。また、iOS と Android の ID を同じにしておくと、ブループリントをとても楽に設定することができます。

    image alt text

  2. 使用する ID およびアイテムが消費型か非消費型かをメモしておきます。

  3. ブループリント プロジェクトの場合は、そのままで大丈夫です。コード プロジェクト用にオンライン システムを使う設定にするには、プロジェクトの Build.cs ファイルに次のブロックを加えてください。

    if (Target.Platform == UnrealTargetPlatform.IOS)
    {
        PrivateDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "OnlineSubsystem" });
        DynamicallyLoadedModuleNames.Add("OnlineSubsystemIOS");
    }
  4. [ProjectName]/Config/IOS/IOSEngine.ini: を編集する

    [OnlineSubsystemIOS.Store]
    bSupportsInAppPurchasing=True

購入情報の読み取り

image alt text

Read In-App Purchase Information ブループリント ノード (または関連する C++ 関数コール) を使ってアプリ内購入情報を読み取ります。他の多くのオンライン サブシステム関数と同様、Player Controller を入力および製品の識別子の配列として受け取ります。Read は情報の配列の処理ができますが、以下の Make In-App Purchase は識別子をひとつしか受け取ることができません。関数は In App Purchase 構造体の配列を返し、配列の各エレメントは名前、詳細、価格、その他のデータに分類して UI に表示、もしくはゲームプレイ ロジックで使用することができます。

購入の完了

image alt text

Make an In-App Purchase ブループリント ノード (または関連する C++ 関数コール) を使ってアプリ内購入情報を読み取ります。Player Controller を入力および Product Request 構造体として受け取ります。Product Request は、iTunes Connect あるいは Google Play Developer コンソール (このケースでは match3theme_night) の製品の識別子です。

Make an In-App Purchase ノードは潜在的なので、使いたいゲームプレイのビヘイビアはすべて、購入が成功あるいは失敗したかどうかに依存し、これら 2 つの実行ピンを使います。これらはオンライン サービスから応答が戻ってきた後に実行されます。ノードは購入の完了ステータス (Success、Failed、Restored) および詳細な In App Purchase Information 構造体も返します。

この関数の非潜在的なバージョン (ブループリントはずっと表示します) があります。ここでの終了実行ピンはオンライン サービスからの応答を待たずに、通常は潜在的なバージョンを使用します。

購入の復元

image alt text

Restore In-App Purchases ブループリント ノード (または関連する C++ 関数コール) を使って購入を復元します。Player Controller のみを受け取り、その Player Controller に関連するすべての購入情報の配列を返します。その配列を処理して、ゲームプレイのロジックが必要とする特定の識別子 (複数可) と比較することができます。

テスティング

自分でデバイスにロードしたビルドだけなく、iTunes Coonect にアップロードされたビルドでもテストすることができます。購入品をテストする場合、ユーザーは Tunes Connect の内部あるいは外部テスターであり、インビテーションに同意している必要があります。カスタム プロビジョンも必要になります。

役に立つリンク

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback