UE5 Google Play Billing

・課金実装(不完全)

UE5側の環境

 プラグインの追加 
・Android Play Billing
・Google PAD (Unreal Engine 5.03ではデフォルトで有効)

Androidで課金を実装するためにはアプリにGoogle Play Billing Libraryを統合する必要があります。

 エディタ環境設定 
Config>Android>AndroidEngine.ini
AndroidEngine.iniに以下のコードを記述します。

[OnlineSubsystem]
DefaultPlatformService=GooglePlay
[OnlineSubsystemGooglePlay.Store]
bSupportsInAppPurchasing=True

 ProjectSettings 
ProjectSettings>Platforms>Android>Advanced APKPackaging
ExtraPermissionsにエレメントを3つ追加して

com.android.vending.BILLING

android.permission.INTERNET

android.permission.ACCESS_NETWORK_STATE

と入力します。

Google Play Console側の設定

 課金アイテムの作成 

収益化>商品>アプリ内アイテムに進み「アイテムを作成」
IDを設定します。
消費アイテムor非消費アイテムの設定もします。

消費型はゲーム内通貨やガチャ要素に必要な石等。
非消費型は一度購入した後は購入する必要が無いもの、アプリ内広告の削除等。

 API 

API アクセスの欄へ行きGoogle Play Android Developer APIが有効になっていることを確認します。
また住所登録をしないと課金の実装が出来ないようなのでデベロッパーページから住所を入力します。ちなみにこの住所はGooglePlayStoreで公開されます。

課金ノード

 購入情報の読み取り 

Read In-App Purchase Informationで課金情報を受け取ります。
引数のProduct IdentifierにGoogle Play Consoleで設定したIDを渡すと、戻り値のIn App Purchase Informationから課金するアイテムの情報が出てきます。

 購入処理 

Make an In-App Purchaseノードで購入の処理を行います。
Product IdentifierにIDを渡します。
Is Consumableは「消費アイテム」であればTrue「非消費アイテム」であればFalseにします。

購入が成功するとOn Successへ流れていきます。