LoginSignup
0
0

【UE5】AndroidアプリにFirebaseを組み込んだら広告を使用している判定になった

Last updated at Posted at 2024-04-03

はじめに

AndroidアプリにFirebase Analyticsを組み込んでGoogle Play Consoleにアップロードしたところ、広告は全く使っていないのに広告IDの申告を更新しなさいとエラーが出てしまいました。
4.png

本記事では、広告IDの使用申告を更新することなくこのエラーを回避する方法を解説します。

開発環境

  • Windows11
  • UE5.1.0
  • Firebase - Features(有料です)
  • 広告を使用していないモバイルプロジェクト

原因

4.png
この画像に答えが書いてありますが、AndroidManifestに広告を使用するパーミッションcom.google.android.gms.permission.AD_IDが追加されているのが原因です。
追加した覚えは微塵もありませんが、この記事を見る限り、どうやらFirebaseのSDKはデフォルトで広告IDを収集するようになっているようです。
私が購入したプラグインも例外ではなく、Firebase AdMobは無効にし、Firebase Analyticsのみを使用しているのにこのエラーが出るということは、そういうことなのでしょう。

ついでにその他のパーミッションの確認方法はこちら

Google Play Consoleから確認

App Bundleエクスプローラーからパーミッションを確認したいApp Bundleを選択します。
5.png

詳細タブを下にスクロールすると、権限という項目があるので、詳細を表示をクリックします。
6.png

ローカルのAndroidManifest.xmlから確認(arm64の場合)

エクスプローラーを開き、プロジェクトの\Intermediate\Android\arm64\AndroidManifest.xmlを開くだけです。

解決方法

パーミッションをオーバーライドして、com.google.android.gms.permission.AD_IDを削除します。
プロジェクトの\Build\AndroidManifestRequirementsOverride.txtを作成します。
ここにパーミッションを記述していくわけですが、パーミッションに関してはこのファイルに書いた内容に上書きされるため、必要なパーミッションを全て記述しないといけません。

必要なパーミッションは、先ほど記述した確認方法で各自確認して、全て写してください。

ファイルの中に次のコードを記述します。

<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove" />
記述例
ManifestRequirementsOverride.txt
<uses-feature android:glEsVersion="0x00030002" android:required="true" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.android.vending.BILLING" />
<uses-permission android:name="com.android.vending.CHECK_LICENSE" />
<uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove" />
<!-- Supported texture compression formats (cooked) -->
<supports-gl-texture android:name="GL_KHR_texture_compression_astc_ldr" />

次に、UEのプロジェクト設定にtoolsを使用する設定を記述します。
先ほどのコードの、tools:node="remove"tools属性を使うための設定です。

Project Settings > Platforms > Android > Advanced APK Packaging > Extra Tags for <manifest> nodeに次のコードを追加します。

xmlns:tools="http://schemas.android.com/tools"

7.png

設定は以上です。
パッケージ化してAndroidManifestを確認すると、パーミッションが削除されているはずです。

参考記事

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0