はじめに
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
から削除する提案をしています(2024/8/19時点)。これらはすべて、現在の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_ENABLED
とIS_SIGNIN_ENABLED
については、#10712でメソッド削除はされているようです。
これらのフィールドがいつ頃から使われなくなったのか、ご存知の方がいればぜひ教えてください!
公式情報かどうかはわかりませんが、Firebase Google Groupを見るとIS_ANALYTICS_ENABLED
については2017年にはすでに古いとされていたようです。