関連ブログ
- [UE4][UE5]開発環境の容量を少しでも減らす 2024.08.14UE
- [UE5] PushModel型のReplicationを使い、ネットワーク最適化を図る 2024.05.29UE
- [UE5]マテリアルでメッシュをスケールする方法 2024.01.17UE
CATEGORY
2016.06.17UE4UE/ Mobile
今回は、UE4に標準機能として用意されているアプリ内課金機能をご紹介したいと思います!
※この記事は4.12時点での記事になっています。最近ではモバイル周りがどんどん更新されていますので将来的には設定方法が変わったりする可能性がありますのでご注意ください。
この記事では、GooglePlayDeveloperコンソールやitunesConnectでの設定の説明は行いません。そちらに関してはかなりの数の記事がインターネット上にありますのでそちらをご覧ください。
課金機能を使用するための設定になります。AndroidとiOSで設定が異なります。
1.)AndroidEngine.iniを編集します。
プロジェクト以下のConfigファルダにAndroidフォルダを作成し、Androidフォルダ内にAndroidEngine.iniを新規で作成します。作成したiniファイルに下記内容を記述します。
[OnlineSubsystem]
DefaultPlatformService=GooglePlay
[OnlineSubsystemGooglePlay.Store]
bSupportsInAppPurchasing=True
2.)Androidの[Advanced APKPackaging]を編集します。
ProjectSettings→Platforms→Androidの[Advanced APKPackaging]セクションを開きます。
ExtraPermissionsに「com.android.vending.BILLING」を追加します。
1.)IOSEngine.iniを編集します。
プロジェクト以下のConfigファルダにIOSフォルダを作成し、Androidフォルダ内にIOSEngine.iniを新規で作成します。作成したiniファイルに下記内容を記述します。
[OnlineSubsystemIOS.Store]
bSupportsInAppPurchasing=True
※2.)GameCenterもしくはCloudKitSupportを有効にします。(※この項目は4.11までのバージョンの場合行ってください。4.12からは必要なくなっています。)
ProjectSettings→Platforms→iOSのOnlineセクションを開きます。
「Enable GameCenterSupport」もしくは「Enable Cloud Kit Support」をEnableにします。
ノードは全部で3つと多くありません。ノードの機能自体もわかりやすいものになっています。
各ストアに登録してあるアイテムの情報を取得するには「Read In App Purchase Information」ノードを使用します。引数にある「Product Identifier」に取得したいアイテムの製品IDを渡してあげるとそのアイテムの情報を取得することが出来ます。
■引数
・「Player Controller」:プレイヤーコントローラー
・「Product Identifier」:取得したいアイテムの製品ID。
■戻り値
・「In App Purchase Information」:アイテムの情報。製品IDや金額など。
各ストアに登録してあるアイテムを購入するには「Make an In-App Purchase」ノードを使用します。「Product Identifier」に購入したいアイテムの製品IDと消費or非消費フラグを渡してあげるとそのアイテムを購入することが出来ます。
■引数
・「Player Controller」:プレイヤーコントローラー
・「Product Identifier」:購入したいアイテムの製品ID。
・「Is Consumable」:Trueなら消費アイテム、Falseなら非消費アイテム。
■戻り値
・「Completion Status」:完了時の状態。Success、Failed、Cancelledなど
・「In App Purchase Information」:アイテムの情報。製品IDや金額、領収書など。
既に購入したアイテムの購入を復元するには「Restore In-App Purchases」を使用します。既に購入済みのアイテムの購入を復元することが出来、購入済みのアイテム情報を取得できます。各ストアに登録してあるアイテムすべてを確認します。領収書はすべて同じになり、購入時とは違っています。
※4.10以下のバージョンではiOSでしか使用することが出来ません。
■引数
・「Player Controller」:プレイヤーコントローラー
■戻り値
・「Completion Status」:完了時の状態。Success、Failed、Cancelledなど
・「In App Restore Purchase Information」:復元した購入情報。製品IDと領収書(※購入時とは違う領収書)。
課金周りを実装したら、テストを行いましょう。
パッケージングに関しては、公式ドキュメントをご確認ください。
キーストア情報などGooglePlayにアップロードするために必要な情報を設定した状態でパッケージングしたpakファイルをGooglePlayにアップロードする必要があり、アルファ版テストとしてGooglePlayからインストールする必要があります。
パッケージングしたipaファイルを直接iOS端末にインストールすればテストが出来ます。
以上になります!是非、UE4の課金機能をご活用ください!!