Choose your operating system:
Windows
macOS
Linux
コンフィギュレーション
iTunes Connect でアプリ内課金を設定するためのステップを説明します。
Google Play の id にはすべて小文字を使用します。また、iOS と Android の ID を同じにしておくと、ブループリントをとても楽に設定することができます。
使用する ID およびアイテムが消費型か非消費型かをメモしておきます。
ブループリント プロジェクトの場合は、そのままで大丈夫です。コード プロジェクト用にオンライン システムを使う設定にするには、プロジェクトの Build.cs ファイルに次のブロックを加えてください。
if (Target.Platform == UnrealTargetPlatform.IOS) { PrivateDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "OnlineSubsystem" }); DynamicallyLoadedModuleNames.Add("OnlineSubsystemIOS"); }
[ProjectName]/Config/IOS/IOSEngine.ini を編集する:
[OnlineSubsystemIOS.Store] bSupportsInAppPurchasing=True
購入情報の読み取り
Read In-App Purchase Information ブループリント ノード (または関連する C++ 関数コール) を使ってアプリ内購入情報を読み取ります。他の多くのオンライン サブシステム関数と同様、Player Controller を入力および製品の識別子の配列として受け取ります。Read は情報の配列の処理ができますが、以下の Make In-App Purchase は識別子をひとつしか受け取ることができません。関数は In App Purchase 構造体の配列を返し、配列の各エレメントは名前、詳細、価格、その他のデータに分類して UI に表示、もしくはゲームプレイ ロジックで使用することができます。
購入の完了
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 構造体も返します。
この関数の非潜在的なバージョン (ブループリントはずっと表示します) があります。ここでの終了実行ピンはオンライン サービスからの応答を待たずに、通常は潜在的なバージョンを使用します。
購入の復元
Restore In-App Purchases ブループリント ノード (または関連する C++ 関数コール) を使って購入を復元します。Player Controller のみを受け取り、その Player Controller に関連するすべての購入情報の配列を返します。その配列を処理して、ゲームプレイのロジックが必要とする特定の識別子 (複数可) と比較することができます。
テスティング
自分でデバイスにロードしたビルドだけなく、iTunes Coonect にアップロードされたビルドでもテストすることができます。購入品をテストする場合、ユーザーは Tunes Connect の内部あるいは外部テスターであり、インビテーションに同意している必要があります。カスタム プロビジョンも必要になります。