設定 Analytics (分析) 資料收集和使用設定



本頁面說明 Google Analytics 提供的功能,可讓您控管 Analytics 資料的收集和使用方式。

停用 Analytics 資料收集功能

在某些情況下,您可能會想要暫時或永久停用 Analytics 資料的收集功能,例如收集使用者同意聲明或履行法律義務。Google Analytics 提供多種選項,可用來停用和停用 Analytics 收集功能。兩者搭配使用可支援許多常見用途。

暫時停用收集功能

如果您想暫時停用 Analytics 收集功能,例如在收集資料前取得使用者同意,可以在應用程式的 Info.plist 檔案中將 FIREBASE_ANALYTICS_COLLECTION_ENABLED 的值設為 NO (布林值)。例如,在來源 XML 中查看:

<key>FIREBASE_ANALYTICS_COLLECTION_ENABLED</key><false/>

如要重新啟用收集功能 (例如在使用者提供同意聲明後),請呼叫 AnalyticssetAnalyticsCollectionEnabled 例項方法。例如:

Swift

注意:這項 Firebase 產品不適用於 macOS 目標。
Analytics.setAnalyticsCollectionEnabled(true)

Objective-C

注意:這項 Firebase 產品不適用於 macOS 目標。
[FIRAnalytics setAnalyticsCollectionEnabled:YES];

Unity

Firebase.Analytics.FirebaseAnalytics.SetAnalyticsCollectionEnabled(true);

如果您因故需要再次暫停收集,可以呼叫下列方法,收集作業就會暫停,直到您重新啟用為止。

Swift

注意:這項 Firebase 產品不適用於 macOS 目標。
Analytics.setAnalyticsCollectionEnabled(false)

Objective-C

[FIRAnalytics setAnalyticsCollectionEnabled:NO];

Unity

Firebase.Analytics.FirebaseAnalytics.SetAnalyticsCollectionEnabled(false);

setAnalyticsCollectionEnabled 方法設定的值會在應用程式執行期間保留,並覆寫應用程式 Info.plist 檔案中 FIREBASE_ANALYTICS_COLLECTION_ENABLED 的值。設定 setAnalyticsCollectionEnabled 的值後,Analytics 收集作業會維持在該狀態,直到再次呼叫 setAnalyticsCollectionEnabled 為止,即使使用者關閉應用程式並重新開啟,也是如此。

永久停用收藏

如果您需要在應用程式某個版本中永久停用 Analytics 收集功能,請在應用程式的 Info.plist 檔案中將 FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED 設為 YES (布林值)。將 FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED 設為 YES (布林值) 的優先順序,高於應用程式 Info.plistFIREBASE_ANALYTICS_COLLECTION_ENABLED 的任何值,以及使用 setAnalyticsCollectionEnabled 設定的任何值。

如要重新啟用收集功能,請從 Info.plist 中移除 FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED。將 FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED 設為 NO (布林值) 不會產生任何影響,且會導致與未在 Info.plist 檔案中設定 FIREBASE_ANALYTICS_COLLECTION_DEACTIVATED 相同的行為。

停用 IDFA 收集功能

如果您透過 CocoaPods 安裝 Firebase,並在應用程式的 Podfile 中加入 pod 'Firebase/Analytics',且希望停用 Apple 應用程式中的 IDFA (裝置廣告 ID) 收集功能,請確認應用程式中未納入 AdSupport 架構。

如要安裝不含任何廣告識別碼收集功能的 Firebase,請使用下列子項取代 pod 'Firebase/Analytics'

pod 'Firebase/AnalyticsWithoutAdIdSupport'

如要進一步瞭解廣告識別碼,請參閱 Apple 的說明文件:

停用 IDFV 收集

如果您想停用 Apple 應用程式中的 IDFV (供應商 ID) 收集功能,請在應用程式的 Info.plist 檔案中將 GOOGLE_ANALYTICS_IDFV_COLLECTION_ENABLED 的值設為 NO (布林值)。

控管個人化廣告的資料收集作業

如果您已將 Google Analytics 專案連結至廣告帳戶,或以其他方式啟用廣告整合功能,或是選擇共用資料,您的 Analytics 資料可能符合個人化廣告的使用資格。舉例來說,您可以使用收集到的事件 (例如 first_open) 建立及部署再行銷目標對象名單,除非您表示這類資料無法用於個人化廣告。

您可以透過程式設計,控制是否要使用下列任一選項,將使用者的 Analytics 資料用於個人化廣告:

透過使用者屬性停用個人化廣告功能

Google 同意聲明模式 API 是建議啟用及停用個人化廣告的做法。

不過,如果您的應用程式尚未使用同意模式,您可以使用下列選項控管個人化功能。

如要預設停用個人化廣告行為,請在應用程式的 Info.plist 檔案中,將 GOOGLE_ANALYTICS_DEFAULT_ALLOW_AD_PERSONALIZATION_SIGNALS 的值設為 NO (布林值)。

透過使用者屬性重新啟用個人化廣告功能

如果您使用 AnalyticsUserPropertyAllowAdPersonalizationSignals 參數來控制廣告個人化功能,可以使用 setUserProperty 方法重新啟用廣告個人化功能,如下所示:

Swift

注意:這項 Firebase 產品不適用於 macOS 目標。
Analytics.setUserProperty("true", forName: AnalyticsUserPropertyAllowAdPersonalizationSignals)

Objective-C

注意:這項 Firebase 產品不適用於 macOS 目標。
[FIRAnalytics setUserPropertyString:@"YES" forName:kFIRUserPropertyAllowAdPersonalizationSignals];

Unity

Firebase.Analytics.FirebaseAnalytics.SetUserProperty(FirebaseAnalytics.UserPropertyAllowAdPersonalizationSignals, true);

如果您選擇暫時停用數據分析資料收集 (例如,在使用者提供同意聲明之前),並且想在重新啟用使用者數據分析資料收集時控制個人化廣告功能,請務必先呼叫指定這項設定,再呼叫重新啟用數據分析資料收集。例如:

Swift

注意:這項 Firebase 產品不適用於 macOS 目標。
Analytics.setUserProperty(..., forName: AnalyticsUserPropertyAllowAdPersonalizationSignals)
Analytics.setAnalyticsCollectionEnabled(true)

Objective-C

注意:這項 Firebase 產品不適用於 macOS 目標。
[FIRAnalytics setUserPropertyString:... forName:kFIRUserPropertyAllowAdPersonalizationSignals];
[FIRAnalytics setAnalyticsCollectionEnabled:YES];

Unity

Firebase.Analytics.FirebaseAnalytics.SetUserProperty(FirebaseAnalytics.UserPropertyAllowAdPersonalizationSignals, ...);
Firebase.Analytics.FirebaseAnalytics.SetAnalyticsCollectionEnabled(true);

確認設定

如果您透過上述任一機制為使用者停用廣告個人化信號,從該使用者裝置記錄的後續事件組合就會包含名為 non_personalized_ads 的使用者屬性,其值為 1,表示該組合中的事件無法用於個人化廣告。停用個人化廣告功能,不會影響您將資料用於成效評估,包括報表和歸因。

查看設定變更

變更 Google Analytics 設定後,SDK 會下載變更內容。這個程序快速且流暢,因此您可以快速測試變更。在 Analytics 中進行變更時,可能需要幾分鐘才能部署至應用程式。如果應用程式已上線,完整部署程序可能需要最多一小時才能完成。