App Tracking Transparency (ATT) framework
Theo quy định của Apple, bắt đầu từ hệ điều hành iOS 14.5, iPadOS 14.5, và tvOS 14.5, bất kỳ ứng dụng nào muốn thu thập dữ liệu của người dùng cuối, và chia sẻ dữ liệu đó với bên thứ ba cho mục đích theo dõi hoặc chạy quảng cáo, thì phải sử dụng AppTrackingTransparency (ATT) framework. Như vậy, để xem được iOS advertising ID (IDFA) của người dùng, nhà phát hành ứng dụng (app publisher) phải được người dùng cho phép.
Nếu bạn không triển khai ATT framework, thì:
❌ Bạn sẽ không thể truy cập IDFA của các thiết bị chạy hệ điều hành iOS 14.5 trở lên.
❌ Adjust sẽ khó phân bổ những người dùng này cho mạng tự phân bổ (SAN), chỉ trừ Apple Search Ads.
ATT framework cho phép bạn gửi yêu cầu cấp quyền đến người dùng qua một dạng thông báo pop-up đơn giản.
Cơ chế hoạt động
Theo thiết lập mặc định, ngay từ lúc khởi chạy ứng dụng, người dùng đã opt-out (không cho phép ứng dụng truy cập thông tin). ATT framework sẽ hiển thị một yêu cầu đến người dùng, để hỏi ý kiến về việc cấp quyền truy cập thông tin. Yêu cầu ATT sẽ hiển thị theo từng ứng dụng một, nghĩa là người dùng có thể opt-in với một số lượng ứng dụng nhất định.
Nếu người dùng opt-out, thì IDFA trả về sẽ là một chuỗi số 0. Nếu người dùng opt-in, thì IDFA sẽ khả dụng và có thể được dùng cho mục đích phân bổ.
Người dùng có thể kiểm soát quyền riêng tư trên từng ứng dụng một, hoặc đặt Allow Apps to Request to Track là Off để chặn tất cả ứng dụng, không cho phép bất kỳ ứng dụng nào thu thập thông tin. Yêu cầu cấp quyền ATT chỉ hiện lên khi người dùng đặt Allow Apps to Request to Track là On.
Nếu người dùng thay đổi quyết định và đặt lại Allow Apps to Request to Track trong thời gian sử dụng ứng dụng, thì đây là các trường hợp sẽ xảy ra:
Phương pháp đo lường lượt cài đặt (install) và sự kiện in-app (in-app event) của Adjust
Adjust luôn sử dụng ADID (Adjust Device ID) để đo lường hoạt động in-app. ADID là ID đã được mã hóa bằng hàm băm (hash), ID này có thể là IDFV của thiết bị (ID này luôn có) và/hoặc IDFA (nếu có).
Nếu người dùng cho phép ứng dụng thu thập thông tin (opt-in), thì Adjust sẽ nhận được IDFA để phân bổ. Nếu người dùng không cho phép (đồng nghĩa không có IDFA), thì Adjust sẽ chuyển qua sử dụng probabilistic modeling hoặc phân bổ SKAN.
Deep link trên ATT
Deep link góp phần quan trọng trong việc cải thiện trải nghiệm của người dùng, vì deep link đưa người dùng đến thẳng nội dung họ cần trong ứng dụng. Sau khi ATT framework được triển khai xong, hoạt động của deep link vẫn được giữ nguyên như cũ, trừ trường hợp bạn sử dụng deep link này để tránh né các quy định của ATT.
Deferred deep link sẽ đưa người dùng đến một trang cụ thể trong ứng dụng, sau khi đã đưa họ (route) đến app store để cài ứng dụng. Deferred deep linking có thể bị hạn chế nếu người dùng chọn opt-out.
Bắt đầu sử dụng ATT
Adjust cung cấp giải pháp hỗ trợ ATT, giúp bạn dễ dàng hiển thị yêu cầu cấp quyền đến người dùng. Bạn cũng có thể triển khai mà không qua Adjust, nhưng đồng nghĩa bạn cần tự thêm code vào ứng dụng.
Dưới đây là các bước cần thực hiện trước khi sử dụng AppTrackingTransparency (ATT) framework:
- Cài đặt ATT trong Adjust SDK - Adjust SDK đã được tích hợp giải pháp hỗ trợ dành cho ATT và yêu cầu cấp quyền ATT. Bạn cần yêu cầu nhà phát triển cài đặt ATT trong Adjust SDK.
- Gửi đến Apple thông tin liên quan đến quyền riêng tư - Kể từ hệ điều hành iOS 14.5 trở đi, bạn cần cho Apple biết bạn định sử dụng dữ liệu của người dùng vào mục đích gì. Mỗi lần cập nhật hoặc đưa (submit) ứng dụng lên App Store, nhà phát triển cần làm rõ, họ thu thập điểm dữ liệu nào và sử dụng điểm dữ liệu đó để làm gì. Các thông tin này cũng phải được liệt kê trên trang sản phẩm của ứng dụng tại App Store.
- Khởi chạy yêu cầu cấp quyền ATT - Để truy cập dữ liệu của người dùng, bạn cần được họ cho phép. Nhà phát triển cần khởi chạy yêu cầu cấp quyền ATT (ATT consent prompt) để hỏi ý kiến của người dùng.
- Nhận thông tin về trạng thái đồng ý trong raw data export - Để biết trạng thái đồng ý (consent status) của người dùng, bạn có thể sử dụng trường dữ liệu
{att_status}
trong raw data export. Nếu người dùng thay đổi quyết định, thì Adjust sẽ kích hoạtatt_update
trong global callback. - Kiểm tra lại cài đặt ATT trên dashboard - Bạn cần kiểm tra lại cài đặt ATT trên Adjust dashboard để đảm bảo mọi bước cài đặt đã được thực hiện chính xác.