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

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

Windows
MacOS
Linux

コンフィギュレーション

  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 にアップロードする必要があります。カスタム キーストアも必要になります。

役に立つリンク

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