Roman Garbar
Ngày 19 tháng 8 năm 2020
Một tháng trước khi Phát hành iOS 14Vẫn còn nhiều đồn đoán xoay quanh những gì sẽ xảy ra tiếp theo cho MMPs. Vai trò của họ sẽ thay đổi như thế nào? Liệu các nhà quảng cáo có còn chấp nhận trả 1-5 xu cho mỗi lượt cài đặt được theo dõi trên iOS, ngay cả khi nó không còn độ chi tiết cấp người dùng? Liệu Apple có cho phép các MMP xác minh Giá trị Chuyển đổi mặc dù điều này không được đề cập trong bất kỳ tài liệu nào của Apple? Mặc dù những câu hỏi này vẫn chưa rõ ràng, chúng tôi đã quyết định tập trung vào những việc mà các nhà phát triển có thể thực hiện ngay hôm nay, mà không cần sự tham gia của các MMP.
Chúng tôi đã có cuộc trò chuyện với đồng sáng lập của công ty chuyên về tăng trưởng di động. Thuốc thứ hai, Kevin BravoĐể thảo luận về những tính năng mà các nhà phát triển có thể sử dụng ngay lập tức và đã được Apple tài liệu hóa. Kevin đã tạo ra giải pháp nguồn mở đầu tiên tương tác với SKAdNetwork của Apple có tên là Thuốc tiênVì vậy, chúng ta biết anh ấy là người hoàn hảo cho loại cuộc trò chuyện này.
Dưới đây là những nội dung chúng ta sẽ thảo luận hôm nay cùng Kevin.
1) Dành cho các nhà phát triển và nhà thiết kế trò chơi, Cửa sổ pop-up trên iOS yêu cầu sự đồng ý của người dùng để chia sẻ mã IDFA của họ – Chính sách minh bạch theo dõi ứng dụng phương pháp.
2) Dành cho nhà phát triển, tổng quan về khung quy trách nhiệm mới của Apple – Mạng lưới SKAd.
2.1) Dành cho nhà phát triển, quy trình gán nguồn cài đặt – tích hợp Đăng ký ứng dụng cho mạng quảng cáo để theo dõi nguồn gốc (registerAppForAdNetworkAttribution())phương pháp
2.2) Dành cho nhà phát triểnGán các sự kiện sau khi cài đặt – tích hợp Cập nhật giá trị chuyển đổi (_:)phương pháp
2.3) Đối với các nhà quản lý UAHiểu cách Apple báo cáo số lượt cài đặt và các sự kiện sau khi cài đặt cho mạng quảng cáo – Postbacks và bộ đếm thời gian
3) Để toàn bộ đội ngũ cùng nhau brainstorm.Còn gì tuyệt vời hơn nữa? – Các phương pháp tốt nhất & Các vấn đề hiện tại
1) Yêu cầu người dùng chia sẻ IDFA – Tích hợp Theo dõi ứng dụng minh bạch
Kevin: AppTrackingTransparency là một khung làm việc có sẵn trên iOS 14 cho phép nhà phát triển ứng dụng yêu cầu quyền theo dõi người dùng. Quyền này là bắt buộc để truy cập mã định danh quảng cáo (IDFA) của người dùng cho mục đích theo dõi hiệu quả quảng cáo.
Để tích hợp và sử dụng tính năng này, bạn cần yêu cầu người dùng cấp quyền truy cập vào IDFA của họ thông qua cửa sổ popup sau:
Nếu người dùng đồng ý cho phép theo dõi, bạn có thể yêu cầu mã IDFA của họ. Nếu không, mã IDFA sẽ là 0000-0000-0000-0000.
Lưu ý rằng bạn sẽ không thể yêu cầu quyền truy cập nếu người dùng đã bật chế độ LAT (Limited Ad Tracking).
Q: Tôi có thể hiển thị cửa sổ popup gốc bao nhiêu lần?
Kevin: Bạn chỉ có thể hiển thị nó một lần trên mỗi thiết bị.
Q: Tôi có thể yêu cầu sự đồng ý của người dùng lần nữa nếu lần đầu tiên bị từ chối không?
Kevin: Nếu người dùng đã xem cửa sổ popup này, bạn sẽ không thể hiển thị nó lần nữa.
Q: Tôi có thể hiển thị cửa sổ popup tùy chỉnh của mình trước cửa sổ popup gốc không?
Kevin: Bạn có thể quyết định thời điểm hiển thị cửa sổ pop-up này, có nghĩa là bạn được phép đăng một cửa sổ pop-up khác trước đó.
Như vậy, bạn có thể quyết định chỉ hiển thị hộp thoại yêu cầu quyền nếu người dùng đồng ý với tùy chọn tùy chỉnh của bạn..
Chiến lược này đã được nhiều công ty áp dụng để gửi yêu cầu thông báo và sẽ giúp bạn có cơ hội thứ hai để yêu cầu quyền truy cập.
Câu hỏi: Nếu nhà phát triển ứng dụng không tích hợp AppTrackingTransparency thì sẽ xảy ra điều gì?
Kevin: Nếu bạn không muốn/cần yêu cầu IDFA, bạn có thể quyết định không hiển thị cửa sổ popup này.
Điều này có nghĩa là bạn sẽ không thể truy cập vào IDFA của họ (nó sẽ hiển thị là 0000-0000-0000-0000) và các mạng quảng cáo cũng sẽ không thể truy cập vào nó.
2) Tổng quan về khung quy trách nhiệm mới của Apple – Mạng lưới SKAd
Kevin: Apple cung cấp một giải pháp gán nguồn ẩn danh có tên là Mạng lưới SKADCho phép các ứng dụng tiếp tục theo dõi lượt cài đặt từ các mạng quảng cáo khác nhau mà không làm ảnh hưởng đến tính ẩn danh của người dùng.
Khi sử dụng SKADNetwork, mỗi lần nhấp vào quảng cáo sẽ được gắn một chữ ký. Khi người dùng mở ứng dụng của bạn lần đầu tiên, Apple có thể xác minh xem họ có đến từ một quảng cáo cụ thể nào đó hay không thông qua chữ ký này.
Sau đó, một yêu cầu postback được gửi trở lại mạng quảng cáo để ghi nhận một lượt cài đặt mới.
Chữ ký không chứa bất kỳ dữ liệu nhận dạng nào, giúp bảo vệ quyền riêng tư ở mức cao nhất bằng cách không cho phép liên kết một bản cài đặt với một người dùng cụ thể.
Để tích hợp SKADNetwork, bạn cần gọi hai phương thức:
- Đăng ký ứng dụng cho mạng quảng cáo để theo dõi nguồn gốc(): Phương pháp này nên được gọi khi ứng dụng khởi chạy lần đầu tiên và đăng ký người dùng cho mục đích theo dõi. Nếu người dùng đến từ một quảng cáo đã được ký kết, một sự kiện postback sẽ được kích hoạt trong vài giờ tiếp theo, thông báo cho mạng quảng cáo về việc cài đặt ứng dụng này.
- Cập nhật giá trị chuyển đổi (_:) Phương thức này nên được gọi mỗi khi bạn muốn cập nhật giá trị chuyển đổi được gắn với người dùng cụ thể này. Bạn có thể gọi phương thức này bao nhiêu lần tùy ý, nhưng giá trị chuyển đổi chỉ được cập nhật nếu nó cao hơn giá trị trước đó.
Để kiếm tiền từ quảng cáo, các nhà phát triển cần xác định trước các mạng quảng cáo mà họ sẽ sử dụng để kiếm tiền, và chỉ định chúng bên trong ứng dụng thông qua plist như đã được quy định trong Tài liệu này.
2.1) Cài đặt thuộc tính – Tích hợp Đăng ký ứng dụng cho mạng quảng cáo để theo dõi nguồn gốc
Kevin: Bằng cách gọi hàm registerAppForAdNetworkAttribution trong lần khởi chạy ứng dụng đầu tiên, bạn đã thực hiện tất cả các bước cần thiết để kích hoạt tính năng theo dõi cài đặt ứng dụng với SKADNetwork.
Tuy nhiên, việc gán nguồn cài đặt chỉ có thể thực hiện được nếu mạng quảng cáo ký tên vào quảng cáo của họ bằng SKADNetwork.
Đối với quảng cáo, các nhà phát triển cần đảm bảo rằng các mạng quảng cáo đã tích hợp SKADNetwork trên hệ thống của họ để cho phép theo dõi hiệu quả quảng cáo và gửi dữ liệu phản hồi.
Để thuận tiện hơn, danh sách tất cả các ID mạng quảng cáo có sẵn đã được cung cấp. ở đây.
2.2) Gán sự kiện sau khi cài đặt – Tích hợp Cập nhật giá trị chuyển đổi (_:)
Kevin: Bạn có thể gán một giá trị chuyển đổi cho một lần cài đặt cụ thể. Đây là một giá trị số nằm trong khoảng từ 0 đến 63.
Đây là một "dấu hiệu" giúp bạn hiểu được mức độ quan trọng của người dùng cụ thể này, mà không cung cấp cho bạn cách để xác định danh tính của họ.
Các mạng quảng cáo có thể sử dụng thông tin này để đánh giá mức độ quan trọng của mỗi lượt cài đặt đối với doanh nghiệp của bạn. Dữ liệu này giúp các mạng quảng cáo xác định đối tượng mục tiêu phù hợp hơn để hiển thị quảng cáo của bạn và nâng cao hiệu quả của các chiến dịch quảng cáo.
Q: Khi nào nên sử dụng phương thức updateConversionValue(_:)?
Kevin: Giá trị chuyển đổi có thể được cập nhật nhiều lần cho cùng một người dùng, nhưng có một số hạn chế:
- Bạn chỉ có thể cập nhật giá trị chuyển đổi với một giá trị cao hơn so với lần gọi trước đó (1 -> 2 nhưng không phải 3 -> 2).
- Giá trị giới hạn trong khoảng từ 0 đến 63.
Bạn muốn sử dụng giá trị chuyển đổi vì nó cung cấp các tín hiệu có giá trị cho mạng quảng cáo của bạn. Nó cũng sẽ cho phép bạn
- Phân tích hành vi quan trọng trong ứng dụng sau khi cài đặt từ một chiến dịch/kênh/quốc gia cụ thể.
- Cung cấp thêm các điểm dữ liệu cho mạng quảng cáo để bạn có thể xác định các nhóm đối tượng có giá trị cho trò chơi của mình và tối ưu hóa hiệu suất của các chiến dịch quảng cáo.
Bạn cần xem xét cách xác định giá trị chuyển đổi cho từng trường hợp để tận dụng tối đa SKADNetwork.
Có nhiều phương pháp khác nhau trong quản lý giá trị chuyển đổi:
- Theo dõi doanh thu
- Ví dụ: Giá trị chuyển đổi 1 là 0,1 EUR, 50 là 5,0 EUR
- Theo dõi sự kiện
- Ví dụ: level1_completed = giá trị chuyển đổi 1
- Theo dõi doanh thu và các sự kiện tiến độ
- Ví dụ: Giá trị chuyển đổi 10 = lvl5_completed và chi tiêu 1EUR
- v.v.
Đối với các sự kiện Doanh thu + Tiến độ, tôi đã tạo một bảng chuyển đổi cho phép bạn định nghĩa từng sự kiện mà bạn sẽ theo dõi và hiểu giá trị chuyển đổi mà bạn sẽ gửi.
Như bạn sẽ thấy trong bảng tính, chúng tôi đang sử dụng các giá trị nhị phân để chuyển đổi các sự kiện thành giá trị chuyển đổi:
- Mỗi giá trị chuyển đổi tương ứng với một tập hợp gồm 6 giá trị nhị phân.
- Ba giá trị nhị phân đầu tiên đại diện cho doanh thu của người dùng cụ thể này (ví dụ: mua hàng > 10$ = “101”)
- Ba giá trị nhị phân cuối cùng đại diện cho tiến độ (ví dụ: 10 cấp độ hoàn thành = “011”)
- Bằng cách kết hợp hai tập hợp giá trị nhị phân, chúng ta thu được giá trị chuyển đổi (ví dụ: “101001“chuyển đổi thành giá trị chuyển đổi” 43)
Bạn có thể tìm thấy bảng tính. ở đây:
Câu hỏi: Elixir là gì và nó giúp ích như thế nào?
KevinGiá trị chuyển đổi chỉ có thể được gửi từ ứng dụng, khiến việc điều chỉnh cách theo dõi giá trị chuyển đổi trở nên phức tạp mà không cần cập nhật ứng dụng.
Elixir là một Bộ công cụ phát triển phần mềm nguồn mở (SDK) Cho phép bạn định nghĩa và cập nhật các giá trị chuyển đổi mà không cần cập nhật ứng dụng sau mỗi lần thay đổi.
Cách thức hoạt động:
- Bạn định nghĩa bảng chuyển đổi của mình bằng một trong các phương pháp có sẵn (doanh thu / hỗn hợp / tiến độ).
- Bạn lưu trữ nó trên máy chủ của bạn dưới dạng JSON.
- Bạn tích hợp SDK Elixir, theo dõi tất cả các sự kiện có sẵn trong ứng dụng.
- Khi khởi chạy lần đầu tiên, Elixir SDK sẽ yêu cầu tệp JSON và khớp các giá trị chuyển đổi với các hành động mà người dùng thực hiện theo thời gian thực.
- Elixir SDK sẽ cập nhật giá trị chuyển đổi (conversionValue) dựa trên bảng mà bạn đã tạo.
Bạn có thể xem một ví dụ về Bảng chuyển đổi JSONĐây là tài liệu mà Elixir sử dụng để tạo giá trị chuyển đổi nhằm theo dõi sau mỗi hành động của người dùng.
Hiện tại, chỉ có một loại bàn duy nhất có sẵn. (liên kết đến bảng) Đối với Elixir. Khi các nhà phát triển hợp tác trong dự án, mọi mô hình sẽ được bao phủ một cách dễ dàng (doanh thu quảng cáo nhị phân, dấu thời gian, vị trí địa lý, v.v.).
2.3) Hiểu cách Apple báo cáo số lượt cài đặt và các sự kiện sau khi cài đặt cho mạng quảng cáo – Postbacks và bộ đếm thời gian
Q: Bạn có thể giải thích cách hoạt động của bộ đếm thời gian postbacks trong phương thức updateConversionValue(_:) không?
KevinCó thêm sự phức tạp trong cách các yêu cầu gửi lại (postbacks) được lên lịch.
Hai trường hợp xảy ra như sau:
- Đồng hồ hẹn giờ 24 giờ: có thể được đặt lại nhiều lần và có thời gian hoạt động cố định là 24 giờ.
- Đồng hồ đếm ngược ngẫu nhiên: Sau khi bắt đầu, nó không thể được đặt lại. Thời gian đếm ngược là ngẫu nhiên, trong khoảng từ 0 đến 24 giờ.
Khi bạn gọi hàm registerAppForAdNetworkAttribution(), đồng hồ đếm ngược 24 giờ sẽ bắt đầu. Nếu bạn quyết định gọi Cập nhật giá trị chuyển đổi (_:), bộ đếm thời gian 1 được đặt lại về 0 và bắt đầu lại.
Mỗi lần bạn bắn Cập nhật giá trị chuyển đổi (_:), Đồng hồ hẹn giờ 24 giờ sẽ được đặt lại.
Giả sử bạn không sa thải. Cập nhật giá trị chuyển đổi (_:) Trước khi đồng hồ đếm ngược 24 giờ hết hạn, một đồng hồ đếm ngược ngẫu nhiên sẽ bắt đầu. Một khi đồng hồ đếm ngược ngẫu nhiên bắt đầu, bạn không thể cập nhật giá trị chuyển đổi nữa.
Khi đồng hồ đếm ngược ngẫu nhiên kết thúc, yêu cầu postback sẽ được gửi đến mạng quảng cáo. Yêu cầu postback này có thể bao gồm (hoặc không) giá trị chuyển đổi (đây sẽ là giá trị mới nhất mà bạn đã thiết lập cho người dùng cụ thể này).
Tài liệu của Apple không quy định giới hạn về thời gian hoặc số lần sử dụng hàm updateConversionValue. Điều này có nghĩa là, miễn là người dùng truy cập mỗi 24 giờ, bạn có thể gửi giá trị conversionValue mới lên đến 63 lần (dựa trên các giới hạn được mô tả trong câu hỏi ‘Khi nào nên sử dụng updateConversionValue(_:)?’).
Câu hỏi: Dữ liệu nào mà các mạng quảng cáo nhận được từ SKADNetwork?
KevinCác mạng quảng cáo sẽ nhận được một thông báo phản hồi cho mỗi lần cài đặt có dạng như sau:
Một số giá trị là tùy chọn (ví dụ: giá trị chuyển đổi) và có thể không được bao gồm trong quá trình gửi lại dữ liệu.
Thông tin chi tiết về quá trình postback này và cách các mạng quảng cáo có thể xác minh tính xác thực của mỗi lần cài đặt là ở đây.
3) Các phương pháp tốt nhất và những vấn đề hiện tại
Câu hỏi: Bạn có những khuyến nghị nào khi sử dụng phương thức updateConversionValue(_:)?
Kevin: Bạn cần xác định những hành động có giá trị nhất mà người dùng có thể thực hiện trong lần truy cập đầu tiên và trong 1 đến 3 ngày tiếp theo.
Một sự kiện có giá trị sẽ cho bạn một cái nhìn rõ ràng về mức độ tương tác của người dùng trong ứng dụng của bạn. Việc mua hàng là tín hiệu quan trọng nhất mà bạn có thể nhận được.
Sau đó, bạn nên sắp xếp các sự kiện từ tín hiệu thấp nhất đến cao nhất. Danh sách các sự kiện này sẽ giúp bạn xác định bảng chuyển đổi.
Câu hỏi: Những vấn đề khó khăn khác mà các nhà phát triển có thể gặp phải khi làm việc với SKAdNetwork là gì?
Kevin: Khi làm việc với SKADNetwork, bạn sẽ gặp phải những thách thức khác nhau:
– Quản lý dấu thời gian cài đặt: SKADNetwork ngẫu nhiên hóa thời điểm gửi dữ liệu postback đến mạng quảng cáo và không bao gồm dấu thời gian cài đặt. Điều này khiến việc xác định thời điểm cài đặt diễn ra trở nên phức tạp. Việc này càng trở nên khó khăn hơn nếu bạn quyết định gửi giá trị chuyển đổi sau 24 giờ đầu tiên.
Càng chờ lâu trước khi dừng lại để cập nhật giá trị chuyển đổi, khoảng thời gian cài đặt càng mở rộng.
Một giải pháp có thể là sử dụng một số bit giá trị chuyển đổi để xác định ngày cài đặt và giới hạn số ngày mà bạn sẽ cập nhật giá trị chuyển đổi (ví dụ: ba ngày).
– Khôi phục dữ liệu / xác minh chữ ký: Hiện tại, chỉ các mạng quảng cáo mới có quyền truy cập để cài đặt postbacks. Vẫn chưa rõ mạng quảng cáo nào sẽ cho phép nhà quảng cáo truy cập dữ liệu SKADNetwork. Yêu cầu dữ liệu này sẽ rất quan trọng vì bạn sẽ có thể Xác minh tính xác thực của quá trình cài đặt bằng chữ ký..
– Quản lý gán IDFA + SKADNetwork: Làm thế nào để làm việc với SKADNetwork và tiếp tục đo lường phân bổ cấp người dùng đã đồng ý tham gia theo dõi IDFA? Mô hình kết hợp này sẽ phức tạp và yêu cầu quy trình làm việc xuất sắc để tránh trùng lặp trong nhật ký cài đặt.


