Hỗ trợ iOS 14

Với iOS 14.5, Apple yêu cầu nhà phát triển phải có được sự cho phép của người dùng thông qua khung Minh bạch về việc theo dõi ứng dụng để theo dõi hoặc truy cập vào mã nhận dạng cho quảng cáo của thiết bị (IDFA). Xem Quyền riêng tư của người dùng và việc sử dụng dữ liệu của AppleChương trình minh bạch về việc theo dõi ứng dụng (App Tracking Transparency) của Apple để biết thêm chi tiết.

Các sản phẩm Firebase chịu ảnh hưởng

SDK Firebase không truy cập vào IDFA, mặc dù một số SDK có tích hợp với Google Analytics có thể liên quan đến quyền truy cập vào IDFA.

Bảng dưới đây liệt kê các sản phẩm của Firebase có sẵn trên các nền tảng của Apple và mô tả mức độ ảnh hưởng đến chức năng của từng sản phẩm nếu IDFA không phải là dễ sử dụng.

Product Tác động nếu không thể truy cập vào IDFA
A/B Testing Một số dữ liệu nhắm mục tiêu (như nhân khẩu học) trong nội dung tích hợp A/B Testing với Google Analytics được bắt nguồn từ IDFA. Trong ứng dụng không có quyền truy cập vào IDFA, nhắm mục tiêu này không khả dụng.
App Check Không ảnh hưởng gì
App Distribution Không ảnh hưởng gì
Authentication Không ảnh hưởng đến Authentication và các nhà cung cấp Authentication bên thứ nhất, như Đăng nhập bằng Google và Xác thực điện thoại.
Crashlytics Không ảnh hưởng gì. Tích hợp Crashlytics với Google Analytics cung cấp breadcrumb (tập hợp liên kết phân cấp) và dữ liệu sự cố theo thời gian thực không phụ thuộc vào IDFA.
Dynamic Links Không ảnh hưởng đến chức năng mở đường liên kết. Khi dùng với Google Analytics, mô hình phân bổ cho các sự kiện chuyển đổi đường liên kết mới là không có sẵn.
Cloud Firestore Không ảnh hưởng gì
Cloud Functions Không ảnh hưởng gì
In-App Messaging Không ảnh hưởng gì
Firebase lần cài đặt Không ảnh hưởng gì
InstanceID Không ảnh hưởng gì
Cloud Messaging Khi được sử dụng với Google Analytics, Google Analytics sẽ tự động ghi lại một số sự kiện chuyển đổi liên quan đến FCM. Ghi công cho những sự kiện này yêu cầu quyền truy cập IDFA.
Firebase ML Không ảnh hưởng gì
Performance Monitoring Không ảnh hưởng
Remote Config Khi sử dụng với Google Analytics, Remote Config không cho phép các thuộc tính người dùng được tạo tự động để nhắm mục tiêu mà không cần quyền truy cập vào IDFA.
Realtime Database Không ảnh hưởng gì
Cloud Storage Không ảnh hưởng gì
Vertex AI in Firebase Không ảnh hưởng gì

Các hoạt động tích hợp Firebase chịu ảnh hưởng

Bảng bên dưới liệt kê các sản phẩm tích hợp Firebase sẽ bị ảnh hưởng nếu IDFA là không thể truy cập.

Product Tác động nếu không truy cập được IDFA
Google Analytics Ghi nhật ký sự kiện, báo cáo sự kiện và đo lường lượt chuyển đổi của Analytics không bị ảnh hưởng, nhưng hoạt động phân bổ sẽ bị ảnh hưởng nếu không thể truy cập vào IDFA. Để tìm hiểu thêm về phản hồi của Google đối với iOS 14, hãy xem bài đăng trên blog của chúng tôi.

Yêu cầu quyền theo dõi ứng dụng trên iOS 14

Nếu muốn ứng dụng của Apple có thể truy cập vào IDFA, bạn có thể thêm Khung Minh bạch về việc theo dõi ứng dụng của Apple đối với ứng dụng của bạn và yêu cầu quyền để theo dõi hoặc truy cập IDFA.

Nhiều ứng dụng chọn hiển thị màn hình chào mừng (hoặc giải thích) trước khi yêu cầu quyền. Màn hình hiển thị thông báo giải thích cung cấp cho người dùng thêm bối cảnh về cách ứng dụng của bạn sử dụng IDFA trước khi yêu cầu quyền truy cập.

Nếu bạn là nhà xuất bản ứng dụng AdMob hoặc Ad Manager, hãy cân nhắc sử dụng Lựa chọn tài trợ, giúp xử lý quá trình thu thập sự đồng ý để phân phát quảng cáo được cá nhân hoá làm sự đồng ý để tự động theo dõi người dùng theo các nguyên tắc của Apple. Xem AdMob Trang Chế độ đồng ý trên Thông báo cho người dùng để biết thêm chi tiết.

Hướng dẫn sau đây cung cấp giải pháp sử dụng Firebase In-App Messaging để tạo và hiển thị một màn hình thông báo giải thích trước khi yêu cầu quyền theo dõi thông qua Minh bạch về việc theo dõi ứng dụng.

Thêm In-App Messaging vào ứng dụng

Làm theo hướng dẫn để thêm In-App Messaging vào ứng dụng Apple của bạn.

Xử lý thao tác đóng thông báo trong ứng dụng

Trước tiên, hãy tránh hiển thị màn hình thông báo giải thích trên các thiết bị không thể trình chiếu hộp thoại đồng ý, chẳng hạn như thiết bị chạy iOS 13. Đảm bảo mã này thực thi ngay sau FirebaseApp.configure().

Swift

if NSClassFromString("ATTrackingManager") == nil {
  // Avoid showing the App Tracking Transparency explainer if the
  // framework is not linked.
  InAppMessaging.inAppMessaging().messageDisplaySuppressed = true
}

Triển khai InAppMessagingDisplayDelegate để xử lý các sự kiện khi người dùng đóng màn hình thông báo giải thích. Nếu người dùng nhấn vào OK, hiển thị lời nhắc của hệ thống qua App Tracking Transparency (Minh bạch về việc theo dõi ứng dụng) khung.

Swift

// The InAppMessaging delegate must be assigned before events can be handled.
InAppMessaging.inAppMessaging().delegate = self

func messageClicked(_ inAppMessage: InAppMessagingDisplayMessage,
                    with action: InAppMessagingAction) {
  switch action.actionText {
  case "OK":
    ATTrackingManager.requestTrackingAuthorization { status in
      switch status {
      case .authorized:
        // Optionally, log an event when the user accepts.
        Analytics.logEvent("tracking_authorized", parameters: nil)
      case _:
        // Optionally, log an event here with the rejected value.
      }
    }
  case _:
    // do nothing
  }
}

Tạo một chiến dịch In-App Messaging

Sau khi mã đã được đặt vào ứng dụng, hãy tạo một thông báo trong ứng dụng ở Bảng điều khiển Firebase.

  1. Trong bảng điều khiển Firebase, hãy tạo một chiến dịch In-App Messaging mới.
  2. Điền nội dung bạn muốn vào các thông báo trong ứng dụng rồi thiết lập thông báo để kích hoạt trên sự kiện app_launch.
  3. Trong phần Nhắm mục tiêu, hãy đảm bảo chiến dịch chỉ nhắm mục tiêu nhiều nhất phiên bản gần đây của ứng dụng trở lên.

Bạn có thể tuỳ chỉnh giao diện của màn hình giải thích bằng cách làm theo hướng dẫn trong tài liệu về In-App Messaging.

Không bắt buộc: Tiến hành thử nghiệm A/B trên nhiều màn hình giải thích

In-App Messaging có tích hợp sẵn với Firebase A/B Testing mà bạn có thể dùng để thử nghiệm trên nhiều màn hình giải thích.

Firebase A/B Testing tự động tạo các nhóm thử nghiệm và giúp bạn trực quan hoá cách người dùng tương tác với các biến thể của ứng dụng.

Ghi lại quyền theo dõi ứng dụng

Nếu bạn không ghi lại sự kiện Google Analytics khi xử lý tính năng theo dõi ứng dụng bạn sẽ cần phải thực hiện để đo lường các thay đổi trong khi chạy thử nghiệm A/B.

Swift

ATTrackingManager.requestTrackingAuthorization { status in
  switch status {
  case .authorized:
    // Optionally, log an event when the user accepts.
    Analytics.logEvent("tracking_authorized", parameters: nil)
  case _:
    // Optionally, log an event here with the rejected value.
  }
}

Tạo sự kiện chuyển đổi mới

Trong Phần Analytics của bảng điều khiển Firebase, hãy chuyển đến trình đơn Lượt chuyển đổi, rồi thêm sự kiện chuyển đổi có cùng tên với sự kiện được ghi lại bằng mã mẫu ở trên.

Tạo thử nghiệm mới

Trong bảng điều khiển Trình đơn In-App Messaging, nhấp vào Thử nghiệm mới, sau đó làm theo hướng dẫn về kết quả màn hình.

  • Trong phần Nhắm mục tiêu, hãy đảm bảo chiến dịch chỉ nhắm mục tiêu nhiều nhất phiên bản gần đây của ứng dụng trở lên.
  • Trong mục Mục tiêu, hãy chọn sự kiện chuyển đổi mà bạn đã tạo bằng phương thức mã mẫu ở trên cũng như bất kỳ chỉ số nào khác mà bạn muốn theo dõi.

Sau khi bạn phát hành thử nghiệm, thử nghiệm đó sẽ cần thu thập dữ liệu trong một khoảng thời gian trước khi có thể đưa ra kết quả chính xác.

Hãy đọc Tài liệu Firebase A/B Testing để biết thông tin về cách theo dõi một thử nghiệm và triển khai một thử nghiệm thành công biến thể.