Tìm hiểu về tính năng APP TRACKING TRANSPARENCY của iOS và ứng dụng vào Unity

Xin chào các bạn, mình là Nguyễn Bảo Khánh, hiện đang là XR Developer tại Công ty OneTech Asia. Chắc hẳn ai trong số chúng ta cũng đã và đang xài dòng điện thoại iPhone của Apple. 

Cách đây không lâu, Apple đã cho ra mắt tính năng App Tracking Transparency (mình sẽ gọi tắt là ATT) ở phiên bản iOS 14.5, thực ra tính năng này đã bắt đầu được các ứng dụng triển khai dần dần trong các phiên bản iOS 14 cũ vào ngày 26/04/2021 (Theo AppleInsider).

Sau đây, chúng ta sẽ cùng tìm hiểu tổng quan về tính năng App Tracking Transparency (ATT) là gì và ứng dụng tính năng này vào trong dự án.

GIỚI THIỆU VỀ TÍNH NĂNG APP TRACKING TRANSPARENCY

App Tracking Transparency (ATT)

Như mình cũng đã giới thiệu phần mở đầu, ATT là tính năng mới vừa được Apple trang bị trên iOS 14.5. Tính năng này sẽ giới hạn lượng dữ liệu người dùng mà nhà phát triển ứng dụng có thể chia sẻ với các công ty khác. Giải thích một cách dễ hiểu hơn là chúng ta có cho phép nhà phát triển thu thập và chia sẽ dữ liệu của mình (địa điểm, địa chỉ email, số điện thoại, …) với bên thứ ba hay không.

Trong thời buổi mà vấn đề bảo mật thông tin vẫn đang rất nhạy cảm, đây có thể xem là một nước đi quan trọng giúp Apple chiếm được lòng tin của người dùng.

Identifier for Advertisers (IDFA) là gì?

Chúng ta cùng tìm hiểu thêm về IDFA là gì trước khi qua phần kế tiếp nhé. Đây là một chuỗi ký tự và số ngẫu nhiên, vô danh được gán cố định cho người dùng và thiết bị của người dùng.

Ví dụ: EA7583CD-A667-48BC-B806-42ECB2B48606 (tất cả đều ở dạng chữ hoa).

Khi mã IDFA được sinh ra, mục đích là để các bên bán được quảng cáo, hiển thị quảng cáo hướng đến từng người dùng khác nhau. Ngoài ra, IDFA còn được sử dụng bên các công ty thứ ba, các công ty sẽ thu thập dữ liệu của chúng ta qua nhiều app khác nhau và tổng hợp lại những hoạt động, hành vi của chúng ta trên những app đó.

Ví dụ: App đặt xe, app nghe nhạc, app ăn uống, app mua sắm, … Khi họ có một mã IDFA xuyên suốt các app mà mình đã ví dụ trên thì họ sẽ biết được các hành vi, hoạt động của chúng ta như thế nào, ra làm sao để nhằm mục đích đưa ra quảng cáo hoặc bán dữ liệu cho các bên thứ ba như các nhà quảng cáo, nhà mô giới dữ liệu. Điều này đã và đang xảy ra mà không có sự cho phép của người dùng.

App Tracking Transparency (ATT) hoạt động như thế nào?

Khi chúng ra mở app bất kỳ lên từ iOS 14.5 trở lên thì sẽ có thông báo như hình 1.0. Tuy nhiên, không phải app nào khi mở lên cũng sẽ có thông báo này, chỉ những app nào cần thiết thì mới có hiện thông báo.

App Tracking Transparency (ATT) hoạt động như thế nào?

Điều quan trọng nhất của tính năng ATT là iOS tự động ngắt tính năng mà app tự động lấy mã IDFA (như mình đã giới thiệu trước) xuất hiện từ thời iOS 6. Vậy nên, ATT sinh ra là để chúng ta quyết định có cho phép các app thu thập và chia sẻ dữ liệu của bạn với bên thứ ba hay không. Đây là bằng chứng mạnh mẽ nhất cho cam kết đảm bảo quyền riêng tư của người dùng mà Apple nói chung hay iPhone nói riêng đang theo đuổi.

Trước đây, mặc định mỗi app đều có thể lấy được IDFA, trừ khi chúng ta tắt đi trong Settings của iPhone. Còn bây giờ app sẽ hỏi chúng ta ngay từ đầu.

mặc định mỗi app đều có thể lấy được IDFA, trừ khi chúng ta tắt đi trong Settings của iPhone

Chắc hẳn chúng ta ai cũng đã sử dụng app Facebook và khi tính năng ATT ra đời, Facebook sẽ là nền tảng chịu thiệt hại nhiều nhất từ quyết định mới của Apple. Một nhân viên Facebook tiết lộ: “Chính sách của Apple đang làm tổn hại đến khả năng sử dụng ngân sách quảng cáo của các doanh nghiệp một cách hiệu quả, và những hạn chế được tạo ra là vì Apple tính đến lợi ích của chính họ. Chúng tôi tin rằng quảng cáo được cá nhân hóa và quyền riêng tư của người dùng có thể cùng tồn tại”.

Quay lại về định nghĩa ở mục số 1. Mình có in đậm chữ “giới hạn” nghĩa là khi chúng ta tắt tính năng ATT đi thì sẽ cấm không cho app truy cập mã IDFA và chia sẻ chúng với bên thứ ba chứ không tắt hoàn toàn nhé. Vì sẽ có những app tự thu thập dữ liệu riêng của họ, không bán ra bên ngoài, không chia sẻ với các bên quảng cáo thì không ảnh hưởng bởi ATT.

Ví dụ như app Tiktok, app sẽ thu thập những hành vi scroll từng video mà chúng ta xem hoặc những comment của chúng ta, … đó là những dữ liệu mà Tiktok tự thu thập, không bán ra bên ngoài nên không ảnh hưởng. Những dữ liệu đó có thể sẽ phục vụ riêng cho việc phân tích họ hoặc phục vụ cho tính năng riêng nào đó của app chẳng hạn như gợi ý video có liên quan đến chúng ta, không liên quan gì đến ATT cả.

Lợi ích của App Tracking Transparency (ATT)

Như mình có đề cập bất lợi của ATT là tác động đến các công ty dựa vào doanh thu quảng cáo. Đến tháng 7, ước tính ATT gây giảm doanh thu từ 15% đến 20% cho các nhà quảng cáo. Tuy nhiên, đối với người khá khắt khe về mặt bảo mật quyền riêng tư thì điều này có thể giúp chúng ta:

  • Đảm bảo quyền riêng tư về thông tin của người dùng.
  • Giúp chúng ta quyết định có cho phép các app thu thập và chia sẻ dữ liệu của mình với bên thứ ba hay không.
  • Ngăn ứng dụng theo dõi hoạt động trái phép trên iPhone.
  • Đảm bảo giảm thiểu tối đa nguy cơ bị hacker truy cập trái phép các thông tin quan trọng như thẻ ngân hàng, …

HƯỚNG DẪN THỰC HIỆN ATT VÀO TRONG UNITY

Tại sao phải thực hiện ATT?

iOS 14 trở lên yêu cầu publishers phải có quyền theo dõi thiết bị của người dùng trên các ứng dụng. Cài đặt thiết bị này được gọi là App Tracking Transparency (ATT). Unity khuyên chúng ta nên triển khai luồng quyền tùy chỉnh. Nếu không, khi review, apple họ sẽ Reject chúng ta đấy.

Cụ thể sẽ báo lỗi như sau: App Reject Guideline 5.1.2 – Legal – Privacy – Data Use and Sharing

App Reject Guideline 5.1.2 - Legal - Privacy - Data Use and Sharing

Hướng dẫn thực hiện

Mình sẽ hướng dẫn chi tiết bên dưới. Tuy nhiên, chúng ta có thể tham khảo qua trang doc Unity trước nhé: https://docs.unity.com/ads/en-us/manual/ATTCompliance

Ở đây, khuyến khích chúng ta sử dụng phiên bản Unity 2019.1 trở lên nhé.

Đầu tiên, chúng ta tải iOS 14 Support Advertising Support package về từ Window > Package Manager.

Support Advertising Support


Tiếp theo, chúng ta Import thêm Samples để xem scene mẫu nhé.

Import thêm Samples

Sau khi Import, chúng ta sẽ có cấu trúc Folder như hình dưới.

cấu trúc Folder sau khi import

Bây giờ, chúng ta sẽ mở scene “Context Screen Sample” và Run xem thử nhé.

Context Screen Sample

Khi chúng ta nhấn vào Button “Next” trong hình 1.6 thì sẽ không hiện gì cả. Chúng ta phải test trên thiết bị iPhone thực tế nhé. Chúng ta tiến hành build ra file Xcode: Vào File -> Build Settings…

File -> Build Settings

Sau khi build xong, chúng ta mở file .xcodeproj lên nhé.

xcodeproj

Apple yêu cầu mô tả cho yêu cầu cấp phép ATT. Chúng ta sẽ them key tên là NSUserTrackingUsageDescription trong tệp Info.plist, điều này sẽ cung cấp thông báo cho người dùng biết lý do bạn yêu cầu quyền sử dụng dữ liệu theo dõi thiết bị. Sau khi mở file .xcodeproj, chúng ta vào Tab Info trong Xcode để thêm key NSUserTrackingUsageDescription nhé.

Chúng ta nhấn vào dấu “+” bất kỳ key nào để tạo key mới.

NSUserTrackingUsageDescription

Thêm key NSUserTrackingUsageDescription. Ở cột Value, chúng ta có thể thêm 1 trong các message như dưới:

  • “We will use your data to provide a better and personalized ad experience.”
  • “We try to show ads for apps and products that will be most interesting to you based on the apps you use, the device you are on, and the country you are in.”
  • “We try to show ads for apps and products that will be most interesting to you based on the apps you use.”
NSUserTrackingUsageDescription

Sau khi thêm xong, chúng ta nhấn Run để build và chạy thử nhé.

Run để build

Và đây là kết quả:

Video kết quả

KẾT LUẬN

Trên đây là những chia sẻ của mình đã tìm hiểu về tính năng App Tracking Transparency (ATT) của Apple và hướng dẫn ứng dụng tính năng trong Unity như thế nào. Những chia sẻ trên chỉ là cơ bản để các bạn có thể hiểu, qua đó các bạn có thể tùy biến và nâng cấp nhiều hơn để có thể hiểu thêm.

Rất hy vọng bài viết này sẽ hữu ích cho các bạn.

Đội ngũ nhân viên trẻ và năng động tại OneTech Asia
Đội ngũ nhân viên trẻ và năng động tại OneTech Asia

OneTech Asia nhận phát triển ứng dụng điện thoại thông minh theo yêu cầu. Chúng tôi đã thực hiện dự án cho hơn 80 khách hàng bao gồm các ứng dụng tích hợp hệ thống, ứng dụng hỗ trợ kinh doanh, quảng cáo, hay công ty thiết kế. Chúng tôi cung cấp nhiều ứng dụng cho các ngành xuất bản, phân phối, y tế, giải trí, trò chơi, vận tải, hậu cần, sản xuất, xây dựng và truyền thông, v.v. 

Nếu bạn có nhu cầu phát triển các ứng dụng cho điện thoại thông minh (Android/iOS) xin đừng ngần ngại liên hệ ngay với chúng tôi để nhận được sự tư vấn và hỗ trợ miễn phí nhé.

Tư vấn - Báo giá
Mở rộng quy mô doanh nghiệp của bạn với ONETECH!
Hãy liên hệ với chúng tôi để được cung cấp các dịch vụ phát triển phần mềm chất lượng cao với chi phí hợp lý nhất. Các kỹ sư của chúng tôi sẽ giúp bạn phát triển một giải pháp phù hợp để vượt lên đối thủ cạnh tranh của mình.
Mọi thông tin tư vấn và báo giá đều miễn phí.

    「Chính sách bảo mật」Nếu bạn đồng ý với những điều trên, vui lòng nhấp vào nút "Gửi"
    Một email trả lời tự động sẽ được gửi đến địa chỉ email bạn đã nhập, vì vậy hãy kiểm tra điều đó.
    Tư vấn - Báo giá
    Mở rộng quy mô doanh nghiệp của bạn với ONETECH!
    Hãy liên hệ với chúng tôi để được cung cấp các dịch vụ phát triển phần mềm chất lượng cao với chi phí hợp lý nhất. Các kỹ sư của chúng tôi sẽ giúp bạn phát triển một giải pháp phù hợp để vượt lên đối thủ cạnh tranh của mình.
    Mọi thông tin tư vấn và báo giá đều miễn phí.

      「Chính sách bảo mật」Nếu bạn đồng ý với những điều trên, vui lòng nhấp vào nút "Gửi"
      Một email trả lời tự động sẽ được gửi đến địa chỉ email bạn đã nhập, vì vậy hãy kiểm tra điều đó.
      liên hệ