Thiết lập chế độ đồng ý cho ứng dụng

Trang này dành cho những nhà phát triển sử dụng SDK Google Analytics cho Firebase trong ứng dụng của họ và muốn tích hợp chế độ đồng ý. Để tìm hiểu giới thiệu về chế độ đồng ý, hãy đọc bài viết Tổng quan về chế độ đồng ý.

Google Analytics cung cấp chế độ đồng ý để điều chỉnh cách hoạt động của SDK dựa trên trạng thái đồng ý của người dùng. Bạn có thể triển khai chế độ đồng ý theo cách cơ bản hoặc nâng cao. Nếu bạn không chắc nên triển khai chế độ đồng ý cơ bản hay nâng cao, hãy tìm hiểu thêm về chế độ đồng ý cơ bản và nâng cao và kiểm tra các nguyên tắc của công ty.

Trước khi bắt đầu

Trước khi có thể quản lý sự đồng ý của người dùng, bạn cần triển khai:

  • SDK Google Analytics cho Firebase
  • Biểu ngữ chế độ cài đặt lấy sự đồng ý để ghi nhận sự đồng ý của người dùng

Để thiết lập chế độ đồng ý, bạn cần:

  1. Trước khi người dùng đồng ý: Tạm thời tắt tính năng thu thập sự đồng ý của Analytics.
  2. Đặt trạng thái đồng ý mặc định.
  3. Cập nhật trạng thái đồng ý dựa trên hoạt động tương tác của người dùng với chế độ cài đặt lấy sự đồng ý của bạn.
  4. Bật lại tính năng thu thập dữ liệu trong Analytics.

Tạm thời vô hiệu hoá tính năng thu thập dữ liệu Analytics

Cách triển khai cơ bản của chế độ đồng ý có nghĩa là chặn SDK Google Analytics cho Firebase tải cho đến khi người dùng đồng ý.

Để tạm thời tắt tính năng thu thập Analytics, hãy đặt giá trị firebase_analytics_collection_enabled thành false trong AndroidManifest.xml của ứng dụng trong thẻ ứng dụng. Ví dụ:

<meta-data android:name="firebase_analytics_collection_enabled" android:value="false" />

Theo mặc định, không có giá trị nào của chế độ đồng ý được đặt. Cách đặt trạng thái đồng ý mặc định cho ứng dụng của bạn:

  1. Mở tệp AndroidManifest.xml của ứng dụng.
  2. Thêm cặp khoá-giá trị của chế độ đồng ý. Khoá mô tả loại đồng ý và giá trị cho biết trạng thái đồng ý. Các giá trị có thể là true, nghĩa là người dùng đã đồng ý hoặc false (tức là người dùng đã từ chối đồng ý). Hãy thiết lập như sau:

    • google_analytics_default_allow_analytics_storage
    • google_analytics_default_allow_ad_storage
    • google_analytics_default_allow_ad_user_data
    • google_analytics_default_allow_ad_personalization_signals
  3. Lưu các thay đổi. Tiếp theo, hãy triển khai cơ chế cập nhật các giá trị đồng ý.

Ví dụ: để đặt tất cả trạng thái đồng ý cấp quyền cho tất cả thông số theo mặc định:

<meta-data android:name="google_analytics_default_allow_analytics_storage" android:value="true" />
<meta-data android:name="google_analytics_default_allow_ad_storage" android:value="true" />
<meta-data android:name="google_analytics_default_allow_ad_user_data" android:value="true" />
<meta-data android:name="google_analytics_default_allow_ad_personalization_signals" android:value="true" />

Bật lại tính năng thu thập dữ liệu Analytics

Sau khi người dùng đồng ý, hãy bật lại tính năng thu thập của Analytics bằng phương thức setAnalyticsCollectionEnabled().

Giá trị do phương thức setAnalyticsCollectionEnabled đặt sẽ vẫn tồn tại trong các quá trình thực thi ứng dụng và ghi đè giá trị cho FIREBASE_ANALYTICS_COLLECTION_ENABLED trong tệp AndroidManifest.xml của ứng dụng. Sau khi bạn đặt giá trị cho setAnalyticsCollectionEnabled, bộ sưu tập Analytics sẽ vẫn ở trạng thái đó cho đến khi setAnalyticsCollectionEnabled được gọi lại, ngay cả khi người dùng đóng và mở lại ứng dụng.

Cách cập nhật tập hợp báo cáo trong Analytics:

setAnalyticsCollectionEnabled(true);

Để cập nhật các giá trị về sự đồng ý sau khi một ứng dụng chạy, hãy gọi phương thức setConsent.

Giá trị do phương thức setConsent đặt sẽ ghi đè chế độ cài đặt mặc định và vẫn tồn tại trong quá trình thực thi ứng dụng. Giá trị vẫn ở trạng thái đó cho đến khi setConsent được gọi lại, ngay cả khi người dùng đóng và mở lại ứng dụng. setConsent chỉ cập nhật các tham số mà bạn chỉ định.

Nếu người dùng rút lại sự đồng ý đã cho trước đó đối với Analytics hoặc Bộ nhớ quảng cáo, thì Google Analytics sẽ xoá tất cả các thuộc tính người dùng, bao gồm cả sự đồng ý đối với ad_personalization. Để giữ lại lựa chọn đồng ý của người dùng cho hoạt động cá nhân hoá quảng cáo, hãy khôi phục giá trị trước đó cho hoạt động cá nhân hoá quảng cáo bằng cách sử dụng setConsent (Kotlin+KTX | Java) .

Ví dụ sau đây cho thấy phương thức setConsent cập nhật các giá trị đồng ý khác nhau thành granted:

Java

// Set consent types.
Map<ConsentType, ConsentStatus> consentMap = new EnumMap<>(ConsentType.class);
consentMap.put(ConsentType.ANALYTICS_STORAGE, ConsentStatus.GRANTED);
consentMap.put(ConsentType.AD_STORAGE, ConsentStatus.GRANTED);
consentMap.put(ConsentType.AD_USER_DATA, ConsentStatus.GRANTED);
consentMap.put(ConsentType.AD_PERSONALIZATION, ConsentStatus.GRANTED);

mFirebaseAnalytics.setConsent(consentMap);

Kotlin

Firebase.analytics.setConsent {
  analyticsStorage(ConsentStatus.GRANTED)
  adStorage(ConsentStatus.GRANTED)
  adUserData(ConsentStatus.GRANTED)
  adPersonalization(ConsentStatus.GRANTED)
}