Dàn xếp là một cách phổ biến để các nền tảng quảng cáo bên bán cung cấp tính năng quản lý lợi nhuận. Trong quy trình dàn xếp, SDK dàn xếp ("trình dàn xếp") sẽ gọi nhiều mạng quảng cáo ("bên được dàn xếp") để nhận được quảng cáo phù hợp nhất cho một vị trí nhất định. Trong một số trường hợp, cả đơn vị trung gian và mạng quảng cáo mà đơn vị này gọi đều cần SDK của chúng trên thiết bị và tương tác.
Tài liệu này trình bày những thay đổi chính đối với quy trình làm việc dàn xếp trong Thời gian chạy SDK. Nội dung như sau:
- Sự khác biệt giữa quy trình dàn xếp trước đây và tính năng hỗ trợ dàn xếp SDK Runtime hiện tại
- Thiết lập các thao tác cho quy trình làm việc dàn xếp trong Thời gian chạy SDK và các giai đoạn chuyển đổi khác nhau
- Hướng dẫn về cách xử lý các trường hợp không phải tất cả SDK đều đã di chuyển sang Thời gian chạy
Bạn có thể hỗ trợ Quảng cáo được dàn xếp trong Thời gian chạy SDK từ AGP 8.5 và từ các phiên bản sau của thư viện Jetpack Thời gian chạy SDK:
| Thư viện Androidx | Phiên bản |
|---|---|
| androidx.privacysandbox.activity | 1.0.0-alpha01 |
| androidx.privacysandbox.sdkruntime | 1.0.0-alpha13 |
| androidx.privacysandbox.tools | 1.0.0-alpha08 |
| androidx.privacysandbox.ui | 1.0.0-alpha09 |
Bảng thuật ngữ
Các thuật ngữ sau đây là chìa khoá để hiểu hoạt động dàn xếp trong Thời gian chạy SDK:
- SDK hỗ trợ thời gian chạy (RE SDK): Một SDK được tạo để chạy trong môi trường Thời gian chạy SDK và giao tiếp với ứng dụng qua giao tiếp giữa các quy trình (IPC).
- SDK nhận biết thời gian chạy (RA SDK): Một SDK không hỗ trợ thời gian chạy, được liên kết với ứng dụng một cách tĩnh, có thể chứa mã SDK hiện có cũng như mã mới để gọi vào SDK hỗ trợ thời gian chạy.
- SDK trong ứng dụng: Một SDK chạy được liên kết tĩnh với ứng dụng và không nhận biết được Thời gian chạy SDK. Đây có thể là một mạng quảng cáo chưa chuyển sang Thời gian chạy SDK hoặc bộ chuyển đổi tuỳ chỉnh của nhà xuất bản.
- Bên dàn xếp: SDK dàn xếp quảng cáo cung cấp dịch vụ dàn xếp trên thiết bị bằng cách tương tác với các SDK mạng quảng cáo khác.
- Bên được dàn xếp: SDK mạng quảng cáo được Bên dàn xếp gọi để cung cấp và hiển thị quảng cáo.
- Bộ tiếp hợp dàn xếp: SDK do Mediator SDK sử dụng để cung cấp bản dịch giao diện API nhằm tương tác với nhiều SDK được dàn xếp, thường do bên dàn xếp cung cấp. Các thành phần này có thể nhận biết hoặc không nhận biết thời gian chạy.
Quy trình dàn xếp thông thường
Nếu SDK của bạn cần hỗ trợ các trường hợp sử dụng dàn xếp trong Thời gian chạy SDK, thì bạn sẽ cần triển khai một số thay đổi. Phần này xem xét các thành phần chính của luồng dàn xếp để chúng ta có thể giải quyết những thay đổi cần thiết cho bên dàn xếp và bên được dàn xếp.
Các luồng mà chúng tôi mô tả là phiên bản đơn giản hoá của hoạt động dàn xếp trên thiết bị bằng nhiều SDK mạng quảng cáo và đóng vai trò là cơ sở để thảo luận về những thay đổi cần thiết để hành trình dàn xếp tương thích với Thời gian chạy SDK.
Do có sự khác biệt trong việc triển khai quy trình dàn xếp, nên chúng tôi tập trung vào 2 quy trình chính sau:
- Khởi chạy (bao gồm cả việc khám phá mạng quảng cáo và hoạt động giao tiếp)
- Bản trình bày về giao diện người dùng (UI) của quảng cáo
Khởi chạy
Sau đây là quy trình khởi chạy, khám phá mạng quảng cáo và giao tiếp tiêu chuẩn:
- Ứng dụng khách khởi tạo đối tượng trung gian
- Mediator phát hiện và khởi chạy các đối tượng trung gian và bộ chuyển đổi có liên quan
- Mediator sử dụng các bộ chuyển đổi của mình để giao tiếp với từng mediatee
- Ứng dụng khách yêu cầu trình hoà giải tải một quảng cáo
- Ứng dụng khách yêu cầu đối tượng trung gian hiển thị quảng cáo này
Bản trình bày giao diện người dùng của quảng cáo
Khi hiển thị quảng cáo sau yêu cầu cuối cùng ở bước trước, quy trình này sẽ phụ thuộc vào loại quảng cáo:
| Quảng cáo biểu ngữ | Quảng cáo toàn màn hình | Quảng cáo gốc |
|---|---|---|
| SDK dàn xếp tạo một Khung hiển thị quảng cáo, bao bọc Khung hiển thị quảng cáo của bên được dàn xếp chiến thắng. Thao tác này cũng có thể đặt trình nghe trên View này hoặc tự động làm mới quảng cáo (bằng cách sử dụng cùng một hoặc một mediatee khác). |
SDK dàn xếp yêu cầu một quảng cáo toàn màn hình từ bên được dàn xếp, từ đó bắt đầu một Hoạt động. | Nhà xuất bản quản lý việc xử lý và tăng cường chế độ xem bằng cách sử dụng các thành phần do SDK dàn xếp trả về. |
Quy trình dàn xếp trong Thời gian chạy SDK
Cách hoạt động của tính năng dàn xếp trong Thời gian chạy SDK sẽ khác nhau tuỳ thuộc vào việc bên được dàn xếp có được bật thời gian chạy hay không. Dựa vào đó, chúng ta có thể có các trường hợp sau:
- Cả trình dàn xếp và đối tượng được dàn xếp đều nằm trong Thời gian chạy SDK: Đối tượng được dàn xếp RE
- Trình dàn xếp nằm trong Thời gian chạy SDK và đối tượng được dàn xếp nằm trong ứng dụng: Đối tượng được dàn xếp trong ứng dụng
RE Mediatee
Sơ đồ cấu trúc sau đây cho thấy thông tin tổng quan cấp cao về hoạt động tương tác của các SDK hỗ trợ thời gian chạy (RE) và nhận biết thời gian chạy (RA) của trình dàn xếp, các bộ chuyển đổi dàn xếp RE và các SDK RE của bên được dàn xếp.
Các bộ chuyển đổi dàn xếp cần nằm trong cùng một quy trình với đối tượng được dàn xếp mà chúng đang tương tác, vì vậy, các bộ chuyển đổi này cũng sẽ phải di chuyển sang Thời gian chạy SDK.
Khởi chạy
Khi xem xét quá trình khởi chạy, khám phá và giao tiếp của cả trình hoà giải và đối tượng được hoà giải có hỗ trợ thời gian chạy, quy trình sẽ tuân theo các bước sau:
- Ứng dụng (hoặc RA SDK) tải và khởi chạy SDK trung gian bằng cách sử dụng
SdkSandboxManager#loadSdk. - Trong quá trình khởi chạy, SDK dàn xếp sẽ tải và khởi chạy mọi đối tượng được dàn xếp bắt buộc trong Thời gian chạy SDK bằng cách sử dụng
SdkSandboxController#loadSdk. - SDK RE có thể phát hiện tất cả các SDK đã tải trong Thời gian chạy bằng cách gọi
SdkSandboxController#getSandboxedSdks.
Bản trình bày giao diện người dùng của quảng cáo
Phần sau đây trình bày cách tải biểu ngữ và quảng cáo toàn màn hình từ một REmediatee.
RE Mediatee banner ads
Khi ứng dụng đưa ra yêu cầu tải quảng cáo biểu ngữ, quy trình hoàn tất việc hiển thị sẽ như sau:
- Bên trung gian chọn bên được trung gian chiến thắng cho quảng cáo này.
- Bên trung gian lấy
SandboxedUiAdaptertừ bên được trung gian. - Mediator chuyển tiếp UiAdapter đến ứng dụng.
Lớp phủ cho quảng cáo biểu ngữ
Nếu muốn thêm lớp phủ vào quảng cáo, các đơn vị trung gian sẽ phải sửa đổi quy trình như sau:
- Mediator tạo một bố cục có lớp phủ và
SandboxedSdkView. - Bên trung gian chọn bên được trung gian chiến thắng cho quảng cáo này.
- Bên trung gian lấy một
SandboxedUiAdaptertừ bên được trung gian. - Bên trung gian đặt
UiAdaptercủa bên được trung gian thànhSandboxedSdkView. - Mediator chia sẻ khung hiển thị được điền sẵn với ứng dụng.
RE Mediatee full-screen ads
Khi ứng dụng đưa ra yêu cầu tải quảng cáo toàn màn hình, quy trình sẽ thực hiện các bước sau:
- Ứng dụng (hoặc RA SDK) sẽ truyền một
SdkActivityLauncherđến bộ điều phối cùng với yêu cầu tải quảng cáo.- Ứng dụng có thể hạn chế việc tạo các hoạt động bằng cách sử dụng một vị từ.
- Bên trung gian chọn bên được trung gian chiến thắng cho quảng cáo này.
- Mediator yêu cầu mediatee tải một quảng cáo, chuyển
SdkActivityLaunchertừ ứng dụng. - Đăng ký trình xử lý hoạt động và nhận mã thông báo giá trị nhận dạng cho hoạt động đã đăng ký.
- Bên được uỷ quyền sử dụng
SdkActivityLauncherđể yêu cầu bắt đầu một hoạt động bằng mã thông báo này. - Nếu vị từ của ứng dụng khách cho phép, Thời gian chạy SDK sẽ bắt đầu hoạt động này trong quy trình chuyên dụng.
Tìm hiểu thêm về tính năng hỗ trợ Hoạt động cho quảng cáo toàn màn hình trong Thời gian chạy SDK.
Mediatee trong ứng dụng
Sơ đồ cấu trúc sau đây cho thấy thông tin tổng quan cấp cao về hoạt động tương tác giữa RE và RA SDK của đơn vị trung gian, các bộ chuyển đổi dàn xếp không nhận biết được Thời gian chạy SDK và các SDK của bên được dàn xếp được liên kết tĩnh với ứng dụng (cũng không nhận biết được thời gian chạy).
Khởi chạy
Vì trong trường hợp này, các đối tượng được dàn xếp được liên kết tĩnh với ứng dụng và chưa được di chuyển sang Thời gian chạy SDK, nên SDK hỗ trợ thời gian chạy của đối tượng dàn xếp phải có một quy trình để đăng ký các đối tượng đó.
Bạn có thể truy cập vào thông tin đăng ký này bằng API của đơn vị trung gian, nhưng thông tin chi tiết về cách triển khai sẽ do mỗi đơn vị trung gian quyết định. Chúng ta gọi API này là MediationSandboxedSdk#registerInAppMediatee.
Khi xem xét quá trình khởi chạy, khám phá và giao tiếp của SDK hoà giải RE và các SDK hoà giải trong ứng dụng, quy trình sẽ tuân theo các bước sau:
- Ứng dụng tải và khởi chạy SDK nhận biết thời gian chạy của đơn vị trung gian.
- RA SDK của đơn vị trung gian:
- Khởi chạy RE SDK của đối tượng hoà giải bằng
SdkSandboxManager#loadSdk. - Khởi chạy tất cả các SDK trung gian trong ứng dụng.
- Khám phá và đăng ký các SDK bên trung gian trong ứng dụng bằng API do SDK RE cung cấp,
MediationSandboxedSdk#registerInAppMediate.
- Khởi chạy RE SDK của đối tượng hoà giải bằng
Ngoài việc đăng ký tất cả các SDK được dàn xếp trong ứng dụng, SDK RE của đơn vị trung gian có thể phát hiện tất cả các SDK được tải trong Thời gian chạy SDK bằng cách sử dụng SdkSandboxController#getSandboxedSdks.
Bản trình bày giao diện người dùng của quảng cáo
Phần sau đây trình bày cách tải biểu ngữ và quảng cáo toàn màn hình từ một đối tượng được hoà giải trong ứng dụng.
Quảng cáo biểu ngữ bên được dàn xếp trong ứng dụng
Khi ứng dụng đưa ra yêu cầu tải quảng cáo biểu ngữ, quy trình hoàn tất việc hiển thị sẽ như sau:
- SDK nhận biết thời gian chạy của đơn vị trung gian chuyển tiếp yêu cầu của ứng dụng đến SDK hỗ trợ thời gian chạy.
- SDK RE của đối tượng trung gian sẽ chọn đối tượng được dàn xếp có liên quan.
- SDK RE của đơn vị trung gian truy xuất thông tin tham chiếu đến đơn vị được dàn xếp và yêu cầu tải một quảng cáo thông qua SDK RA.
- RA SDK lấy một Khung hiển thị từ mediatee trong ứng dụng.
- RA SDK tạo
SandboxedUiAdaptercho Chế độ xem mà SDK nhận được. - SDK RA chuyển tiếp
UiAdapterđến SDK RE. - SDK RE chuyển tiếp
UiAdapterđến ứng dụng.
Quảng cáo toàn màn hình của mediatee trong ứng dụng
Khi ứng dụng đưa ra yêu cầu tải quảng cáo toàn màn hình, quy trình sẽ thực hiện các bước sau:
- Ứng dụng truyền một
SdkActivityLauncherđến RA SDK của đơn vị trung gian cùng với yêu cầu tải quảng cáo.- Ứng dụng có thể hạn chế việc tạo các hoạt động bằng cách sử dụng một vị từ.
- SDK RA của đơn vị trung gian chuyển tiếp yêu cầu của ứng dụng đến SDK RE.
- RE SDK của đơn vị trung gian:
- Chọn bên được hoà giải có liên quan.
- Truy xuất thông tin tham chiếu đến đối tượng được dàn xếp trong ứng dụng.
- Yêu cầu tải quảng cáo thông qua RA SDK.
- RA SDK yêu cầu bên được dàn xếp tải một quảng cáo.
- Người được giám sát sẽ bắt đầu hoạt động này trực tiếp. Vị từ của ứng dụng sẽ không được tuân thủ.
Tương tác và chia sẻ ý kiến phản hồi
Hộp cát về quyền riêng tư trên Android là một dự án đang được triển khai và tài liệu này phản ánh thiết kế hiện tại của dự án. Ý kiến phản hồi của bạn là yếu tố cần thiết để chúng tôi tiếp tục phát triển và cải thiện các tính năng của công cụ này. Báo cáo lỗi để gửi ý kiến phản hồi.