2022年4月23日土曜日

何故かGooglePlayに「アプリ内課金あり」と表示されてしまう

[UnrealEngine4.27.2][Windows11]で確認

アプリ内課金をしてないのに、何故かGooglePlayに「アプリ内課金あり」と表示されてしまう。

アプリ内購入のないアプリのGooglePlayConsoleテストダウンロードページにアプリ内購入ありと出てしまいます。

【UE4】Androidアプリに広告をつけてリリースするときのプロジェクト設定


AdMob広告をつけるためには、com.android.vending.BILLING を入れるように記載されている。

「アプリ内課金」をはずすためには、com.android.vending.BILLINGを削除するように指示されている。

とりあえず
Project Settings
Extra Permissions
自分で追加していた com.android.vending.BILLING を削除したが、
テスト広告は出ているので、
GooglePlayConstoleにリリースしてみたが、数日たつが「アプリ内課金」の表示は消えない。

調べると
Intermediate\Android以下に出力されているAndroidManifest.xmlに、
com.android.vending.BILLINGがある。

Pluginsの
Online Subsystem GooglePlay
をはずしても
AndroidManifest.xmlのcom.android.vending.BILLINGは消えない。
さらにテスト広告も表示されない?

UE4でプロジェクトを新規作成してAndroid用のパッケージを作っても、
AndroidManifest.xmlにcom.android.vending.BILLINGがある。

ただし、AndroidManifest.xmlが複数見つかり、どのAndroidManifest.xmlを使っているかは把握していない。

----------------------------------------
Editor側のソースを調査。
\UE4\Epic Games\UE_4.27\Engine\Source\Programs\UnrealBuildTool\Platform\Android\UEDeployAndroid.cs
private string GenerateManifest(AndroidToolChain ToolChain, string ProjectName, TargetType InTargetType, string EngineDirectory, bool bIsForDistribution, bool bPackageDataInsideApk, string GameBuildFilesPath, bool bHasOBBFiles, bool bDisableVerifyOBBOnStartUp, string UE4Arch, string GPUArch, string CookFlavor, bool bUseExternalFilesDir, string Configuration, int SDKLevelInt, bool bIsEmbedded, bool bEnableBundle)
{


bool bEnableIAP = false;
Ini.GetBool("OnlineSubsystemGooglePlay.Store", "bSupportsInAppPurchasing", out bEnableIAP);


if (bEnableIAP)
{
Text.AppendLine("\t<uses-permission android:name=\"com.android.vending.BILLING\"/>");
}

設定ファイルを参照しているようだ。

https://historia.co.jp/archives/5018/
https://qiita.com/EGJ-Kaz_Okada/items/b0d6adcfa56f2b92609c
上記によると、
プロジェクト以下のConfigファルダにAndroidフォルダを作成し、AndroidEngine.iniを追加して、以下の内容を記載する。

[OnlineSubsystem]
DefaultPlatformService=GooglePlay

[OnlineSubsystemGooglePlay.Store]
bSupportsInAppPurchasing=false
これで公開して様子を見たがダメだったので、
C:\Program Files\Epic Games\UE_4.27\Engine\Config\Android
AndroidEngine.ini
bSupportsInAppPurchasing=false
に変更。
Intermediate\Android\以下に作成される
AndroidManifest.xmlに
    <uses-permission android:name="com.android.vending.BILLING" /> <!-- Permission will be merged into the manifest of the hosting app. -->
が追加されてしまった。

GameplayAbility(GameplayAbilities)、GameplayEffect、GameplayCue

  [UnrealEngine5.2.1][Windows11]で確認 おかわりはくまいさん GameplayAbilitiesの使い方(セットアップ編) GameplayAbilitiesの使い方(アビリティ編) GameplayAbilitiesの使い方(アトリビュートセット...