0
0

FirebaseのGoogleService-Info.plistに含まれる不要なフィールドとは?

Last updated at Posted at 2024-08-19

はじめに

Firebaseプロジェクトを作成する際、生成されたGoogleService-Info.plistファイルを眺めていると、

  • IS_ANALYTICS_ENABLED(デフォルトでfalse)
  • IS_APPINVITE_ENABLED(デフォルトでtrue)
    等が「これって何の設定なんだろう?」と思い、Firebaseドキュメントを調べても、具体的な使い方が見つからず、疑問が膨らんでいきました。

以下はその一例です(値はサンプルです)。

GoogleService-Info.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>API_KEY</key>
	<string>AIzaSyBvs8sUz9aDhobhBvh9EXCCD0M9D8-HztI</string>
	<key>GCM_SENDER_ID</key>
	<string>12345678910</string>
	<key>PLIST_VERSION</key>
	<string>1</string>
	<key>BUNDLE_ID</key>
	<string>com.example.native.app</string>
	<key>PROJECT_ID</key>
	<string>app-test-1234</string>
	<key>STORAGE_BUCKET</key>
	<string>>app-test-1234.test.com</string>
	<key>IS_ADS_ENABLED</key>
	<false></false>
	<key>IS_ANALYTICS_ENABLED</key>
	<false></false>
	<key>IS_APPINVITE_ENABLED</key>
	<true></true>
	<key>IS_GCM_ENABLED</key>
	<true></true>
	<key>IS_SIGNIN_ENABLED</key>
	<true></true>
	<key>GOOGLE_APP_ID</key>
	<string>1:12345678910:ios:f59549da64ce5774e4e7c5</string>
</dict>
</plist>

Firebase iOS SDKのバージョン: 10.29.0

結論は不要なものでした!!

調べた結果、これらのフィールドは古く、現在のFirebase SDKでは不要なものであることが判明しました。Firebaseチームも、上記に加え以下の不要なフィールドを GoogleService-Info.plist から削除する提案をしています。これらはすべて、現在のSDKでは使用されていません。

また、firebase/firebase-ios-sdk:Discussionsにも同様の質問がありました。

不要とされるフィールド

  • PLIST_VERSION(これはプロパティリストXMLスキーマの <plist version="1.0"> 宣言とは異なります)
  • IS_ADS_ENABLED ⇨ 以前はGoogle広告機能を有効化するためのフィールドでしたが、現在は設定ファイル内で有効化する必要はありません。Google AdMob SDKを使用し、コード内で広告ユニットIDを指定して管理
  • IS_ANALYTICS_ENABLED ⇨ Firebase Analyticsはデフォルトで有効化されている。必要に応じて、コード内でデータ収集を有効化または無効化(参考)。
  • IS_APPINVITE_ENABLED ⇨ アプリ招待機能の有効化だが、現在はAdjust、AppsFlyer、Bitly、Branch、Kochava、などのディープリンク サービスか?(詳細は調べていないです)
  • IS_GCM_ENABLED ⇨ Google Cloud Messaging (GCM)(すでに廃止) されており、Firebase Cloud Messaging (FCM) に移行
  • IS_SIGNIN_ENABLED ⇨ かつてはサインイン機能の有効化を示していましたが、現在は不要。Firebaseのサインイン機能を利用する場合は、Firebase Authentication APIを使用

現状は使われていないのに、不要なフィールドのみが生成されているそうです。。
IS_ANALYTICS_ENABLEDIS_SIGNIN_ENABLEDについては、#10712でメソッド削除はされているようです。

これらのフィールドがいつ頃から使われなくなったのか、ご存知の方がいればぜひ教えてください!

公式情報かどうかはわかりませんが、Firebase Google Groupを見るとIS_ANALYTICS_ENABLEDについては2017年にはすでに古いとされていたようです。

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