Hướng dẫn về SKAdNetwork 4.0: Ba cửa sổ postback hoạt động như thế nào

opoinstall
2026-08-19
5 min read

Phân bổ đa cửa sổ của SKAdNetwork 4.0 hoạt động như thế nào? SKAdNetwork 4.0 chia việc đo lường chuyển đổi thành ba cửa sổ tuần tự kéo dài từ ngày 0–2, 3–7 và 8–35 sau lần khởi chạy ứng dụng đầu tiên. Apple gán một tầng dữ liệu postback cho mỗi lượt tải xuống ứng dụng, tầng này quyết định xem các postback đủ điều kiện sẽ cung cấp dữ liệu phân bổ chi tiết (fine-grained), thô (coarse-grained) hay dữ liệu đã được thu gọn.

SKAdNetwork 4.0 là framework phân bổ quảng cáo di động bảo vệ quyền riêng tư của Apple, cho phép đo lường chiến dịch an toàn với quyền riêng tư trên iOS. Nó giới thiệu ba cửa sổ chuyển đổi tuần tự kéo dài tới 35 ngày kể từ lần khởi chạy đầu tiên, mã định danh nguồn phân cấp, giá trị chuyển đổi thô và cơ chế khóa cửa sổ nhằm đánh giá giá trị vòng đời người dùng ở giai đoạn giữa phễu mà không thu thập định danh thiết bị cố định.

Thuật ngữ Định nghĩa
SKAdNetwork Framework cấp nền tảng của Apple dành cho việc phân bổ chiến dịch quảng cáo bảo vệ quyền riêng tư.
Cửa sổ chuyển đổi (Conversion Window) Một trong ba khoảng thời gian đo lường được chỉ định bắt đầu từ lần khởi chạy ứng dụng đầu tiên, trong đó ứng dụng được quảng cáo có thể cập nhật các giá trị chuyển đổi.
Tầng dữ liệu Postback (Postback Data Tier) Một tầng do nền tảng chỉ định (từ Tầng 0 đến Tầng 3) chi phối độ chi tiết của siêu dữ liệu được trả về trong các postback.
Giá trị chuyển đổi thô (Coarse Conversion Value) Tín hiệu chuyển đổi ba cấp độ (low, medium, high) có thể được hiển thị khi dữ liệu chuyển đổi chi tiết không khả dụng hoặc trong các cửa sổ chuyển đổi sau đó.

Tổng quan nhanh: Các mốc thời gian Postback và quy tắc hiển thị chính

  • Cửa sổ 1 (Ngày 0–2 sau lần khởi chạy đầu tiên): Có thể hiển thị các giá trị chi tiết (0–63) hoặc thô (low, medium, high); gửi đi sau một khoảng thời gian chờ ngẫu nhiên bổ sung từ 24–48 giờ.
  • Cửa sổ 2 (Ngày 3–7 sau lần khởi chạy đầu tiên): Có thể hiển thị coarse-conversion-value khi được cung cấp và cho phép bởi tầng dữ liệu postback; nếu không, trường đó sẽ vắng mặt. Gửi đi sau một khoảng thời gian chờ ngẫu nhiên bổ sung từ 24–144 giờ.
  • Cửa sổ 3 (Ngày 8–35 sau lần khởi chạy đầu tiên): Có thể hiển thị coarse-conversion-value khi được cung cấp và cho phép bởi tầng dữ liệu postback; nếu không, trường đó sẽ vắng mặt. Gửi đi sau một khoảng thời gian chờ ngẫu nhiên bổ sung từ 24–144 giờ.
  • Giới hạn dữ liệu Tầng 0: Các lượt tải xuống thuộc Tầng 0 nhận được một postback duy nhất chứa ID nguồn 2 chữ số và không có giá trị chuyển đổi; postback thứ hai và thứ ba bị bỏ qua.
  • Yêu cầu đa Postback: Để đủ điều kiện nhận nhiều postback chiến thắng, quảng cáo phải được ký bằng SKAdNetwork 4 trở lên và ứng dụng được quảng cáo phải cập nhật giá trị chuyển đổi trong các cửa sổ chuyển đổi áp dụng.

SKAdNetwork 4.0 là gì và Phân bổ đa cửa sổ hoạt động như thế nào

Sự tiến hóa cấu trúc từ giới hạn bộ đếm đơn sang theo dõi vòng đời đa cửa sổ

Các phiên bản đầu của StoreKit Ad Network của Apple (SKAdNetwork 2.0 và 3.0) hoạt động dựa trên bộ đếm cuộn 24 giờ đơn lẻ. Theo SKAdNetwork 3 trở về trước, các cập nhật giá trị chuyển đổi tăng dần hợp lệ có thể kéo dài thời gian chuyển đổi bằng cách khởi động lại bộ đếm 24 giờ. Khi qua 24 giờ mà không có bản cập nhật nào, cửa sổ sẽ đóng lại và Apple gửi một postback duy nhất sau một khoảng thời gian trễ ngẫu nhiên.

Kiến trúc một bộ đếm này tạo ra sự ma sát trong vận hành:

  • Tầm quan sát bị hạn chế: Nhà quảng cáo chỉ có thể đo lường mức độ tương tác sớm diễn ra trong những ngày đầu tiên sau khi cài đặt.
  • Độ trễ báo cáo: Các bản cập nhật chuyển đổi đủ điều kiện lặp đi lặp lại có thể kéo dài thời gian đo lường hiệu quả và làm chậm postback cuối cùng, làm giảm tốc độ của các thuật toán đặt giá thầu quảng cáo tự động.
  • Khả năng hiển thị dài hạn bị hạn chế: SKAdNetwork 3 không có cửa sổ chuyển đổi sau chuyên dụng nào cho việc đo lường từ Ngày 7 đến Ngày 30 có cấu trúc.

SKAdNetwork 4.0 cấu trúc lại mô hình này bằng cách thiết lập ba cửa sổ đo lường cố định, tuần tự gắn liền với lần khởi chạy ứng dụng đầu tiên của người dùng.

Tách biệt bộ đếm phân bổ khỏi các phiên người dùng hoạt động

Trong SKAdNetwork 4.0, các cửa sổ chuyển đổi tiến triển dựa trên thời gian lịch cố định chứ không phải hoạt động liên tục của người dùng. Khi một ứng dụng được mở lần đầu tiên sau một lần hiển thị quảng cáo được phân bổ, hệ điều hành sẽ khởi động Cửa sổ 1.

Dù người dùng mở ứng dụng một lần hay năm mươi lần trong 48 giờ đầu tiên, Cửa sổ 1 vẫn đóng lại ở mốc 48 giờ (trừ khi được hoàn tất sớm một cách rõ ràng thông qua việc khóa cửa sổ). Hệ thống sau đó sẽ tự động chuyển sang Cửa sổ 2 (từ Ngày 3 đến Ngày 7), tiếp theo là Cửa sổ 3 (từ Ngày 8 đến Ngày 35). Việc tách biệt này đảm bảo các khoảng thời gian gửi postback có cấu trúc cho các luồng dữ liệu hạ nguồn.

Chuỗi chữ ký mã hóa hai chiều

SKAdNetwork duy trì tính toàn vẹn dữ liệu bằng cách sử dụng mật mã khóa công khai qua hai giai đoạn riêng biệt:

  • Giai đoạn hiển thị quảng cáo (Mạng quảng cáo đến Apple): Khi mạng quảng cáo phục vụ một lượt hiển thị, họ ký vào payload quảng cáo bằng khóa riêng của mình. Khi cài đặt và khởi chạy ứng dụng, hệ điều hành xác thực chữ ký này dựa trên khóa công khai của mạng quảng cáo đã đăng ký với Apple để xác minh tính đủ điều kiện phân bổ.
  • Giai đoạn xác thực cài đặt (Apple đến Mạng quảng cáo/Lập trình viên): Khi cửa sổ chuyển đổi đóng lại, Apple ký vào payload postback xác thực cài đặt. Mạng quảng cáo nhận và điểm cuối của lập trình viên sẽ xác minh chữ ký này bằng khóa công khai của Apple để xác thực tính chân thực và toàn vẹn của postback.

Xem thêm: SKAdNetwork ──> Mô hình phân bổ di động

Cơ chế của ba cửa sổ Postback và mốc thời gian đo lường

Cửa sổ 1: Ghi nhận mức độ tương tác sớm và tín hiệu chuyển đổi độ chính xác cao

  • Khoảng thời gian đo lường: Ngày 0 đến Ngày 2 (48 giờ đầu tiên sau lần khởi chạy đầu tiên).
  • Dữ liệu hiển thị khả dụng: Giá trị chuyển đổi chi tiết (số nguyên 6-bit từ 0 đến 63) hoặc giá trị thô (low, medium, high), được xác định bởi tầng dữ liệu postback được chỉ định.
  • Độ trễ postback ngẫu nhiên: 24 đến 48 giờ sau khi cửa sổ đóng hoặc khóa.
  • Mục tiêu phân tích: Đo lường việc hoàn tất quá trình làm quen ban đầu, các mốc hướng dẫn, chuyển đổi mua hàng ban đầu và rủi ro rời bỏ sớm.

Cửa sổ 2: Đánh giá tỷ lệ giữ chân người dùng sớm và các mốc giữa phễu

  • Khoảng thời gian đo lường: Ngày 3 đến Ngày 7 sau lần khởi chạy đầu tiên (giờ thứ 48 đến 168).
  • Dữ liệu hiển thị khả dụng: Có thể hiển thị coarse-conversion-value (low, medium, high) khi được cung cấp và cho phép bởi tầng dữ liệu postback; nếu không, trường đó sẽ vắng mặt. Các giá trị chi tiết (0 đến 63) không được hỗ trợ trong Cửa sổ 2.
  • Độ trễ postback ngẫu nhiên: 24 đến 144 giờ (1 đến 6 ngày) sau khi cửa sổ đóng hoặc khóa.
  • Mục tiêu phân tích: Đánh giá tỷ lệ giữ chân từ Ngày 3 đến Ngày 7, các vòng lặp tương tác nhiều ngày, dùng thử đăng ký ban đầu và hành vi mua hàng lặp lại.

Cửa sổ 3: Đo lường tỷ lệ giữ chân dài hạn và giá trị vòng đời tích lũy

  • Khoảng thời gian đo lường: Ngày 8 đến Ngày 35 sau lần khởi chạy đầu tiên (giờ thứ 168 đến 840).
  • Dữ liệu hiển thị khả dụng: Có thể hiển thị coarse-conversion-value (low, medium, high) khi được cung cấp và cho phép bởi tầng dữ liệu postback; nếu không, trường đó sẽ vắng mặt.
  • Độ trễ postback ngẫu nhiên: 24 đến 144 giờ (1 đến 6 ngày) sau khi cửa sổ đóng hoặc khóa.
  • Mục tiêu phân tích: Ghi nhận các chuẩn mực giữ chân Tháng 1, chuyển đổi từ dùng thử sang đăng ký trả phí và các mốc kiếm tiền dài hạn.

Biểu đồ mốc thời gian kỹ thuật minh họa ba cửa sổ chuyển đổi tuần tự của SKAdNetwork 4.0, các khoảng độ trễ postback và các quy tắc giá trị tinh vi so với thô trên nền lưới màu kem ấm áp.

Ad Impression
      │
      ▼
App Install
      │
      ▼
First App Launch  ← conversion measurement t = 0
      │
      ├── Window 1: Day 0–2 after first launch
      │      Fine or coarse disclosure
      │      24–48h randomized delay after close/lock
      │
      ├── Window 2: Day 3–7 after first launch
      │      Coarse disclosure only (or absent)
      │      24–144h randomized delay after close/lock
      │
      └── Window 3: Day 8–35 after first launch
             Coarse disclosure only (or absent)
             24–144h randomized delay after close/lock

Cơ chế độ trễ ngẫu nhiên: Cửa sổ 1 so với Cửa sổ 2 và 3

Để ngăn chặn cácheuristics tấn công thời gian nơi người quan sát tương quan chính xác mili-giây của một giao dịch trong ứng dụng với việc nhận postback phân bổ, Apple áp dụng độ trễ gửi ngẫu nhiên:

  • Bộ đếm Cửa sổ 1: Nếu Cửa sổ 1 đóng tự nhiên mà không bị khóa sớm, postback đầu tiên sẽ được gửi sau thời gian trễ ngẫu nhiên bổ sung từ 24 đến 48 giờ.
  • Bộ đếm Cửa sổ 2 và 3: Apple mở rộng cửa sổ độ trễ ngẫu nhiên thành từ 24 đến 144 giờ (lên đến 6 ngày đầy đủ) để tính đến thời gian kéo dài của các giai đoạn đo lường.

Cách các tầng dữ liệu Postback kiểm soát việc hiển thị

Ma trận tầng dữ liệu Postback chính thức

Apple gán tầng dữ liệu postback (từ Tầng 0 đến Tầng 3) cho các lượt tải xuống ứng dụng dựa trên nhóm người dùng liên quan đến ứng dụng hoặc tên miền nguồn, ứng dụng được quảng cáo, quốc gia cài đặt và mã định danh nguồn phân cấp. Apple không công bố các ngưỡng số lượt cài đặt phổ quát cho Tầng 0 đến Tầng 3.

Tầng dữ liệu Postback Postback đầu tiên (Cửa sổ 1) Postback thứ hai & thứ ba (Cửa sổ 2 & 3)
Tầng 3 ID nguồn 2, 3 hoặc 4 chữ số + giá trị chi tiết (nếu được cung cấp) + siêu dữ liệu nguồn/quốc gia đủ điều kiện ID nguồn 2 chữ số + giá trị thô (nếu được cung cấp)
Tầng 2 ID nguồn 2, 3 hoặc 4 chữ số + giá trị chi tiết (nếu được cung cấp) ID nguồn 2 chữ số + giá trị thô (nếu được cung cấp)
Tầng 1 ID nguồn 2 chữ số + giá trị thô (nếu được cung cấp) ID nguồn 2 chữ số + giá trị thô (nếu được cung cấp)
Tầng 0 Chỉ có ID nguồn 2 chữ số (không có giá trị chuyển đổi) Không gửi postback thứ hai hoặc thứ ba

Biểu đồ ma trận so sánh doanh nghiệp minh họa các quy tắc hiển thị tầng dữ liệu postback SKAdNetwork 4.0 từ Tầng 0 đến Tầng 3 với các huy hiệu trạng thái rõ ràng trên phông nền lưới màu kem ấm áp.

Mã định danh nguồn phân cấp hoạt động như thế nào

Cấu trúc và độ chi tiết của Mã định danh nguồn

SKAdNetwork 4.0 thay thế ID chiến dịch 2 chữ số cũ bằng một số nguyên phân cấp 4 chữ số gọi là Mã định danh nguồn (Source Identifier):

Source Identifier=d4d3d2d1(0000 to 9999)\text{Source Identifier} = d_4 d_3 d_2 d_1 \quad (0000 \text{ to } 9999)

Các mạng quảng cáo và nhà phát triển định nghĩa ý nghĩa của mã định danh nguồn phân cấp dựa trên các yêu cầu báo cáo nội bộ:

  • Hai chữ số thấp (d2d1d_2 d_1): Tạo thành phần tối thiểu gồm hai chữ số của mã định danh nguồn phân cấp có thể được hiển thị. Các mạng quảng cáo có thể sử dụng phần này để gom nhóm chiến dịch rộng rãi, nhưng Apple không quy định một ý nghĩa kinh doanh cố định.
  • Các chữ số bậc cao hơn (d4d3d_4 d_3): Có thể mã hóa các chiều nội bộ như vị trí đặt quảng cáo, ID creative hoặc mục tiêu địa lý. Apple không gán ngữ nghĩa kinh doanh cố định cho từng chữ số riêng lẻ.

Sơ đồ kiến trúc kỹ thuật phân tích mã định danh nguồn phân cấp SKAdNetwork 4.0 4 chữ số thành các trạng thái hiển thị 2 chữ số so với 4 chữ số trên phông nền lưới màu kem ấm áp mềm mại.

Original Source Identifier: [ d4 ] [ d3 ] [ d2 ] [ d1 ]

Possible disclosed forms in first winning postback:
2-digit disclosure:          [ d2 ] [ d1 ]
3-digit disclosure:    [ d3 ][ d2 ] [ d1 ]
4-digit disclosure: [ d4 ][ d3 ][ d2 ] [ d1 ]

The exact number of digits disclosed depends on Apple's postback data tier.

Việc hợp nhất chiến dịch có thể làm tăng nhóm người dùng liên quan đến các mã định danh nguồn cụ thể, nhưng Apple không công bố các ngưỡng cài đặt chung và việc hợp nhất không đảm bảo một tầng dữ liệu postback cụ thể.

Giá trị chuyển đổi chi tiết (Fine-Grained) so với Giá trị chuyển đổi thô (Coarse-Grained)

Giá trị chuyển đổi chi tiết

Các giá trị chuyển đổi chi tiết hoạt động dưới dạng số nhị phân 6-bit đại diện cho các số nguyên từ 0 đến 63 (26=642^6 = 64 giá trị rời rạc). Chỉ có sẵn trong Cửa sổ 1 theo tầng dữ liệu postback Tầng 2 hoặc Tầng 3, các giá trị chi tiết cho phép nhà phát triển mã hóa các khoảng doanh thu chi tiết, các giai đoạn phễu hoặc kết hợp sự kiện theo bit.

Giá trị chuyển đổi thô

Các giá trị chuyển đổi thô cung cấp một giải pháp thay thế độ chi tiết thấp hơn khi tầng dữ liệu postback áp dụng không cho phép hiển thị chi tiết và đóng vai trò là định dạng giá trị chuyển đổi cho postback thứ hai và thứ ba. Apple không gán ngữ nghĩa kinh doanh được định nghĩa trước cho low, medium hoặc high; các ví dụ dưới đây là các ánh xạ do ứng dụng định nghĩa mang tính minh họa:

  • low: Ánh xạ minh họa cho mức độ tương tác cơ bản (ví dụ: mở ứng dụng ban đầu hoặc đăng ký).
  • medium: Ánh xạ minh họa cho mức độ tương tác trung gian (ví dụ: hoàn thành hướng dẫn hoặc phiên hoạt động nhiều ngày).
  • high: Ánh xạ minh họa cho các mốc chuyển đổi giá trị cao (ví dụ: mua hàng trong ứng dụng hoặc kích hoạt dùng thử).

Để thiết kế lược đồ chuyển đổi cụ thể theo việc triển khai, hãy xem tài liệu ánh xạ chuyển đổi SKAN.

Ánh xạ chỉ mục chuỗi Postback

Trong các postback SKAdNetwork 4, trường postback-sequence-index xác định cửa sổ chuyển đổi tương ứng:

postback-sequence-index Cửa sổ chuyển đổi tương ứng Định dạng giá trị chuyển đổi được phép
0 Cửa sổ 1 (Ngày 0–2 sau lần khởi chạy đầu tiên) Chi tiết (0–63) HOẶC Thô (low, medium, high)
1 Cửa sổ 2 (Ngày 3–7 sau lần khởi chạy đầu tiên) Chỉ thô (low, medium, high) (hoặc không có)
2 Cửa sổ 3 (Ngày 8–35 sau lần khởi chạy đầu tiên) Chỉ thô (low, medium, high) (hoặc không có)

Apple quy định rằng một postback xác thực cài đặt có thể chứa hoặc conversion-value (chi tiết) hoặc coarse-conversion-value (thô), nhưng không bao giờ chứa cả hai cùng lúc.

Các payload sau đây là các ví dụ SKAdNetwork 4 mang tính minh họa. Các trường postback thực tế thay đổi theo trình tự postback, tầng dữ liệu postback, loại quảng cáo và điều kiện hiển thị quyền riêng tư. Các giá trị mẫu attribution-signature là trình giữ chỗ và không hợp lệ về mặt mật mã.

Ví dụ 1 dưới đây minh họa payload postback chi tiết của Cửa sổ 1 và Ví dụ 2 minh họa payload postback thô của Cửa sổ 2:

{
  "version": "4.0",
  "ad-network-id": "example123.skadnetwork",
  "source-identifier": "4821",
  "app-id": 1234567890,
  "transaction-id": "6a8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
  "postback-sequence-index": 0,
  "conversion-value": 47,
  "fidelity-type": 1,
  "did-win": true,
  "attribution-signature": "MEQCIFz8...SAMPLE_CRYPTOGRAPHIC_SIGNATURE...=="
}
{
  "version": "4.0",
  "ad-network-id": "example123.skadnetwork",
  "source-identifier": "48",
  "app-id": 1234567890,
  "transaction-id": "6a8b1c2d-3e4f-5a6b-7c8d-9e0f1a2b3c4d",
  "postback-sequence-index": 1,
  "coarse-conversion-value": "high",
  "fidelity-type": 1,
  "did-win": true,
  "attribution-signature": "MEQCIFz8...SAMPLE_CRYPTOGRAPHIC_SIGNATURE...=="
}

Đánh đổi khi khóa cửa sổ chuyển đổi sớm

Tăng tốc đo lường với tham số lockWindow

Theo mặc định, mỗi cửa sổ đo lường vẫn mở trong toàn bộ thời gian theo lịch của nó (48 giờ cho Cửa sổ 1, 5 ngày cho Cửa sổ 2, 28 ngày cho Cửa sổ 3). Khi lockWindowtrue, bản cập nhật sẽ trở thành bản cập nhật giá trị chuyển đổi cuối cùng cho cửa sổ hoạt động. Hệ thống chuẩn bị postback và bỏ qua các bản cập nhật giá trị chuyển đổi bổ sung trong phần còn lại của cửa sổ đó.

Sơ đồ kỹ thuật so sánh cửa sổ đo lường mặc định 48 giờ với tốc độ khóa cửa sổ sớm trong SKAdNetwork 4.0 trên phông nền lưới màu kem ấm áp mềm mại.

Default Window 1 (No Lock):
[First Launch] ─────────────── 48 Hours Open ───────────────► [Closes] ──► Delay (24-48h) ──► Postback 1

Locked Window 1 (Purchase at Hour 6):
[First Launch] ── 6h (Lock: true) ──► [Conversion Value Locked / Postback Prepared] ──► Delay (24-48h) ──► Postback 1 Sent Sooner

Các cân nhắc vận hành khi gọi khóa cửa sổ

  • Gửi Postback được tăng tốc: Khi một chuyển đổi được hoàn tất sớm, độ trễ postback bắt đầu ngay khi chuyển đổi bị khóa được hoàn tất, thay vì chờ đợi toàn bộ cửa sổ lịch trôi qua.
  • Tính độc lập của cửa sổ: Việc khóa cửa sổ hiện tại không làm dịch chuyển thời điểm bắt đầu của cửa sổ tiếp theo về phía trước. Cửa sổ chuyển đổi tiếp theo vẫn bắt đầu theo ranh giới thời gian được xác định trước của nó (ví dụ: Cửa sổ 2 bắt đầu vào Ngày 3 bất kể Cửa sổ 1 bị khóa lúc nào).
  • Khóa sự kiện tiếp theo: Một khi lockWindow: true được thực thi, hệ điều hành sẽ bỏ qua tất cả các lệnh gọi cập nhật giá trị chuyển đổi tiếp theo trong phần còn lại của cửa sổ cụ thể đó.

Mã nguồn Swift dưới đây minh họa cách cập nhật các giá trị chuyển đổi chi tiết và thô cũng như gọi khóa cửa sổ bằng cách sử dụng StoreKit:

import Foundation
import StoreKit

enum SKANError: Error {
    case invalidFineValue
    case unsupportedOSVersion
}

final class SKAN4Manager {

    static let shared = SKAN4Manager()
    private init() {}

    /// Updates conversion values and optionally locks the active SKAN 4.0 window
    /// - Parameters:
    ///   - fineValue: 6-bit integer (0 to 63) for Window 1. Note: In Windows 2 and 3, SKAdNetwork ignores the fineValue parameter.
    ///   - coarseValue: Coarse value string ("low", "medium", "high") for all windows
    ///   - shouldLock: Boolean flag to immediately finalize the active window
    func updateConversionState(
        fineValue: Int,
        coarseValue: SKAdNetwork.CoarseConversionValue,
        shouldLock: Bool,
        completion: ((Error?) -> Void)? = nil
    ) {
        guard #available(iOS 16.1, *) else {
            completion?(SKANError.unsupportedOSVersion)
            return
        }

        // Validate fine-grained value bounds (0 to 63)
        guard (0...63).contains(fineValue) else {
            completion?(SKANError.invalidFineValue)
            return
        }

        // Execute asynchronous SKAN 4.0 conversion update
        SKAdNetwork.updatePostbackConversionValue(
            fineValue,
            coarseValue: coarseValue,
            lockWindow: shouldLock
        ) { error in
            if let error = error {
                print("SKAN 4.0 update failed: \(error.localizedDescription)")
            } else {
                print("SKAN 4.0 update succeeded - Fine: \(fineValue), Coarse: \(coarseValue.rawValue), Locked: \(shouldLock)")
            }
            completion?(error)
        }
    }

    /// Illustrative revenue mapping workflow (Do not copy specific thresholds directly to production)
    /// Note: In production, determine the active conversion window and define window-specific coarse-value logic.
    func handleInAppPurchase(amountUSD: Double) {
        let fineVal: Int
        let coarseVal: SKAdNetwork.CoarseConversionValue
        let lock: Bool

        switch amountUSD {
        case 0.0..<5.0:
            fineVal = 10
            coarseVal = .low
            lock = false
        case 5.0..<25.0:
            fineVal = 25
            coarseVal = .medium
            lock = false
        case 25.0...:
            fineVal = 60
            coarseVal = .high
            // Lock window immediately to expedite postback preparation for high-value conversion
            lock = true
        default:
            fineVal = 0
            coarseVal = .low
            lock = false
        }

        updateConversionState(fineValue: fineVal, coarseValue: coarseVal, shouldLock: lock)
    }
}

Khả năng tương thích giữa SKAdNetwork 4.0 và AdAttributionKit

Mối quan hệ giữa SKAdNetwork và Apple AdAttributionKit

Apple giới thiệu AdAttributionKit như một framework phân bổ mở rộng cho iOS 17.4 trở lên. AdAttributionKit và SKAdNetwork có thể cùng tồn tại, nhưng chúng vẫn là các API phân bổ riêng biệt:

  • Các lệnh gọi API cụ thể theo Framework: Các ứng dụng nên gọi API cập nhật chuyển đổi tương ứng với framework được sử dụng bởi mạng quảng cáo. Nếu mạng quảng cáo phục vụ quảng cáo thông qua AdAttributionKit, ứng dụng sẽ gọi các phương thức chuyển đổi của AdAttributionKit; nếu sử dụng SKAdNetwork, ứng dụng sẽ gọi các API StoreKit.
  • Lựa chọn người chiến thắng trên nhiều Framework: Khi cả hai framework ghi lại các lượt hiển thị đủ điều kiện cho một lần cài đặt duy nhất, hệ điều hành sẽ đánh giá chúng cùng nhau và chọn một lượt hiển thị chiến thắng duy nhất để phân bổ.
  • Hành vi bắc cầu: Apple cung cấp hành vi bắc cầu giá trị chuyển đổi cho các lệnh gọi cập nhật SKAdNetwork nhất định nhằm đảm bảo tính tương thích giữa các lớp đo lường.

SKAdNetwork 4 vẫn quan trọng đối với việc vận hành các tích hợp phân bổ App Store hiện có, trong khi Apple hướng dẫn các triển khai quảng cáo ứng dụng mới sang AdAttributionKit và tài liệu hóa tính tương thích giữa hai framework.

Ma trận so sánh: SKAN 3.0 cũ so với Mô hình đa cửa sổ SKAN 4.0

Chiều chức năng SKAdNetwork 3.0 cũ SKAdNetwork 4.0
Số lượng Postback chiến thắng Một Postback Lên đến ba Postback chiến thắng
Mốc thời gian đo lường Bộ đếm cuộn 24 giờ sau bản cập nhật tăng dần đủ điều kiện gần nhất Lên đến 35 ngày (Ba cửa sổ từ lần khởi chạy đầu tiên)
Cấu trúc ID nguồn Số nguyên 2 chữ số (00 đến 99) ID nguồn phân cấp 4 chữ số (2, 3 hoặc 4 chữ số)
Độ chi tiết giá trị chuyển đổi Chỉ số nguyên 6-bit (0 đến 63) Chi tiết (0 đến 63) + Thô (low, medium, high)
Hoàn tất sớm Không hỗ trợ Được hỗ trợ thông qua API Khóa cửa sổ (lockWindow: true)
Phân bổ từ Web sang App Không hỗ trợ Được hỗ trợ cho quảng cáo web có thể phân bổ trong Safari

Các câu hỏi thường gặp (FAQ)

Ứng dụng có thể nhận được giá trị chuyển đổi chi tiết trong Cửa sổ 2 hoặc Cửa sổ 3 không?
Không. Theo thông số kỹ thuật của SKAdNetwork 4.0, các giá trị chuyển đổi chi tiết (số nguyên 6-bit từ 0 đến 63) chỉ có sẵn độc quyền trong cửa sổ postback đầu tiên (0–2 ngày), với điều kiện tầng dữ liệu postback áp dụng là Tầng 2 hoặc Tầng 3. Cửa sổ 2 và 3 trả về các giá trị thô (`low`, `medium`, `high`) hoặc bỏ qua trường này.
Điều gì xảy ra nếu một ứng dụng không khóa cửa sổ postback sớm?
Nếu ứng dụng không gọi `lockWindow: true`, cửa sổ sẽ vẫn mở trong toàn bộ thời gian được chỉ định của nó (48 giờ cho Cửa sổ 1, 5 ngày cho Cửa sổ 2 hoặc 28 ngày cho Cửa sổ 3). Khi cửa sổ đóng lại một cách tự nhiên, Apple áp dụng độ trễ ngẫu nhiên được chỉ định trước khi gửi postback đến mạng quảng cáo và, nếu ứng dụng được quảng cáo đã cấu hình một điểm cuối postback của nhà phát triển (`NSAdvertisingAttributionReportEndpoint`), sẽ gửi bản sao cho nhà phát triển.
SKAdNetwork 4.0 có yêu cầu lời nhắc cấp quyền Minh bạch theo dõi ứng dụng (ATT) không?
Không. Bản thân việc sử dụng SKAdNetwork không yêu cầu quyền ATT vì SKAdNetwork cung cấp phân bổ bảo vệ quyền riêng tư mà không làm lộ định danh quảng cáo xuyên ứng dụng cố định.

Tóm tắt và Khung quyết định

SKAdNetwork 4.0 mở rộng khả năng hiển thị phân bổ lên đến 35 ngày kể từ lần khởi chạy ứng dụng đầu tiên, giới thiệu các giá trị chuyển đổi thô để cung cấp khả năng đo lường độ chi tiết thấp hơn khi việc hiển thị chi tiết không khả dụng, đồng thời cho phép các nhà phát triển khóa các cửa sổ đo lường nhằm giảm độ trễ postback khi một cửa sổ chuyển đổi được hoàn tất sớm. Việc triển khai thành công đòi hỏi phải lập bản đồ lược đồ chuyển đổi cẩn thận trên cả ba cửa sổ và đồng bộ hóa các lệnh gọi cập nhật phía máy khách với các mốc kinh doanh thực tế.

Định tuyến deep-link cấp ứng dụng có thể hoạt động song song với các framework phân bổ bảo vệ quyền riêng tư của Apple như một lớp đo lường và làm quen riêng biệt. Để biết các quy trình định tuyến deep-link và phân bổ cụ thể theo việc triển khai, hãy xem tài liệu OpoInstall.

Tài liệu liên quan

  • Khái niệm: Phân bổ đa cửa sổ, Tầng dữ liệu Postback, Mã định danh nguồn phân cấp, Khóa cửa sổ, Giá trị thô

  • Công nghệ: Apple SKAdNetwork, Apple AdAttributionKit, StoreKit Framework, OpoInstall Mobile SDK

  • Tiêu chuẩn: Thông số kỹ thuật JSON IETF RFC 8259

  • API: StoreKit updatePostbackConversionValue API, các postback xác thực cài đặt SKAdNetwork

Tài liệu chính thức

Share this article