Android でのアプリ内課金の実装方法

アプリ内課金を実装して Android ゲームに有料コンテンツを追加する

コンフィギュレーション

  1. Google Play でアプリ内課金 (In-App Purchase) を設定するためのステップを説明します。

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

    image alt text

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

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

        if (Target.Platform == UnrealTargetPlatform.Android)
        {
            PrivateDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "OnlineSubsystem" });
            DynamicallyLoadedModuleNames.Add("OnlineSubsystemGooglePlay");
        }
  4. [Project Settings (プロジェクト設定)]> [Platforms] > [Android] の [Advanced APKPackaging] セクションを開きます。

  5. ExtraPermissions に ":com.android.vending.BILLING" というエレメントを追加します。

    image alt text

  6. [ProjectName]/Config/Android/AndroidEngine.ini: を編集します。

        [OnlineSubsystem]
        DefaultPlatformService=GooglePlay
    
        [OnlineSubsystemGooglePlay.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 構造体も返します。

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

テスティング

Android をテストするためには、テスティング プロファイルを正しく設定し、かつパッケージ化した APK を Google Play にアップロードする必要があります。カスタム キーストアも必要になります。

役に立つリンク

このページは Unreal Engine の前のバージョン用です。現在リリースされている Unreal Engine 5.3 に対して更新は行われていません。
Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
キャンセル