Hộp cát về quyền riêng tư trên Bản dùng thử dành cho nhà phát triển Android đã ra mắt! Tìm hiểu cách bắt đầutiếp tục cung cấp ý kiến phản hồi.

Dùng API Chủ đề để quảng cáo dựa trên mối quan tâm

Stay organized with collections Save and categorize content based on your preferences.

Gửi ý kiến phản hồi

Giới thiệu về API Chủ đề

Đối với quảng cáo trên thiết bị di động, nhà quảng cáo muốn phân phát những quảng cáo phù hợp với mối quan tâm của người dùng. Ví dụ: nếu người dùng quan tâm đến thông tin về nấu ăn, họ có thể thấy quảng cáo về nấu ăn phù hợp hơn là quảng cáo không liên quan đến mối quan tâm của họ.

Quảng cáo dựa trên mối quan tâm (IBA) là một hình thức quảng cáo được cá nhân hoá trong đó quảng cáo được chọn cho người dùng dựa trên mối quan tâm, bắt nguồn từ các ứng dụng mà người dùng đã tương tác trước đây. Quảng cáo này khác với quảng cáo theo ngữ cảnh vốn chỉ dựa trên mối quan tâm bắt nguồn từ nội dung hiện đang xem. Một trong những lợi ích của IBA so với quảng cáo theo ngữ cảnh là IBA giúp các ứng dụng hiển thị quảng cáo phù hợp và hấp dẫn hơn cho người dùng.

API Chủ đề dự đoán các tín hiệu thô về mối quan tâm trên thiết bị dựa trên hoạt động dùng ứng dụng của người dùng. Những tín hiệu này, còn gọi là chủ đề, sẽ được chia sẻ với nhà quảng cáo nhằm hỗ trợ các trường hợp sử dụng IBA mà không cần phải theo dõi từng người dùng trên các ứng dụng.

Khái niệm chính

  • Chủ đề là chủ đề mà người dùng này quan tâm (mọi người đều có thể đọc được), đồng thời chủ đề này cũng nằm trong cách phân loại chủ đề.
  • Chủ đề sẽ được quan sát qua một phương thức gọi (là ứng dụng hoặc SDK bên thứ ba dùng trong ứng dụng) nếu phương thức gọi đó yêu cầu API Chủ đề từ một ứng dụng liên kết với chủ đề này trong suốt 3 khoảng thời gian bắt đầu vừa qua của hệ thống.
  • Thời gian bắt đầu của hệ thống là khoảng thời gian tính toán của chủ đề, chẳng hạn như một tuần.

Cách thức hoạt động

Với đề xuất này, API Chủ đề dự định cung cấp cho phương thức gọi các chủ đề quảng cáo được quan tâm ở dạng thô dựa trên hoạt động dùng ứng dụng của người dùng. Bạn có thể dùng những chủ đề này để bổ sung cho mọi thông tin ngữ cảnh liên quan đến ứng dụng muốn hiển thị quảng cáo và có thể kết hợp chúng để giúp tìm ra quảng cáo phù hợp cho người dùng.

Hãy tham khảo Hướng dẫn dành cho nhà phát triển API Chủ đề để xem các ví dụ về mã minh hoạ cách thiết lập khả năng tìm nạp các chủ đề cho quảng cáo dựa trên mối quan tâm. Lưu ý: API chưa được hoàn tất.

Các chủ đề này được chọn từ một hệ thống phân loại nguồn mở được xác định trước.

Nền tảng này sử dụng mô hình thuật toán phân loại để đưa ra các chủ đề. Việc triển khai API Chủ đề và việc API này sử dụng thuật toán phân loại sẽ là một phần của Dự án nguồn mở Android và được cải thiện theo thời gian.

Đăng ký nền tảng công nghệ quảng cáo

Để truy cập API Chủ đề, tất cả các nền tảng công nghệ quảng cáo (bao gồm cả Google) đều phải hoàn tất quy trình đăng ký gọn nhẹ. Thông tin chi tiết về quy trình này vẫn đang trong quá trình phát triển, và chúng tôi rất mong nhận được ý kiến phản hồi của bạn.

Doanh nghiệp có thể đăng ký nhiều lần nếu có nhu cầu kinh doanh hợp pháp (chẳng hạn như vận hành nhiều dòng sản phẩm độc lập) và họ không kết hợp dữ liệu của nhiều lần đăng ký để bỏ qua các giới hạn về quyền riêng tư.

Các nhà phát triển ứng dụng có thể chọn nhà phát triển công nghệ quảng cáo nào có quyền truy cập API Chủ đề bằng cách đưa mã đăng ký của nhà phát triển công nghệ quảng cáo vào tệp kê khai ứng dụng.

Chi tiết

  • Sau mỗi khoảng thời gian bắt đầu của hệ thống (chẳng hạn như một lần mỗi tuần), 5 chủ đề hàng đầu của người dùng sẽ được tính toán bằng thông tin trên thiết bị.

    • Khi API Chủ đề được gọi, nền tảng sẽ kiểm tra xem một chủ đề có được chỉ định cho ứng dụng gọi ra API hay không. Nếu không có chủ đề nào được chỉ định, một chủ đề sẽ được chọn làm chủ đề tiếp theo và chủ đề được chọn này sẽ được chỉ định cho ứng dụng này trong khoảng thời gian còn lại.
      • Với xác suất 95%, một chủ đề sẽ được chọn ngẫu nhiên trong danh sách 5 chủ đề hàng đầu được tính toán cho thời gian bắt đầu của hệ thống.
      • Với xác suất 5%, một chủ đề sẽ được chọn ngẫu nhiên từ cách phân loại.
    • Lý do mà mỗi ứng dụng nhận được một trong số vài chủ đề là để đảm bảo rằng các ứng dụng khác nhau sẽ nhận được các chủ đề khác nhau, khiến ứng dụng khó liên kết chéo đến cùng một người dùng.
      • Ví dụ: ứng dụng A có thể thấy chủ đề T1 cho người dùng, nhưng ứng dụng B có thể thấy chủ đề T2. Điều này khiến 2 ứng dụng càng khó xác định rằng thông tin này liên kết với cùng một người dùng.
  • API Chủ đề trả về danh sách tối đa 3 chủ đề, 1 chủ đề cho từng khoảng thời gian trong số 3 khoảng thời gian bắt đầu vừa qua của hệ thống.

    • Bằng cách cung cấp tối đa 3 chủ đề, những ứng dụng ít dùng sẽ có đủ các chủ đề để tìm quảng cáo phù hợp, nhưng các ứng dụng thường xuyên dùng sẽ nhận được tối đa 1 chủ đề mới mỗi tuần.
    • Thông tin về chủ đề được trả về bao gồm mã chủ đề (int) tương ứng với một mục nhập trong dữ liệu phân loại, một phiên bản phân loại và một phiên bản mô hình thuật toán phân loại.
    • Chỉ những phương thức gọi quan sát thấy người dùng sử dụng một ứng dụng liên kết với chủ đề được đề cập trong 3 khoảng thời gian bắt đầu vừa qua của hệ thống mới có thể nhận được chủ đề.
    • Mọi chủ đề được trả về cho biết mối quan tâm của người dùng và bạn có thể chọn bất kỳ hoặc mọi chủ đề này để nhắm mục tiêu quảng cáo trong yêu cầu quảng cáo của mình.
  • Sau khi một chủ đề được chỉ định cho ứng dụng gọi ra API Chủ đề, nền tảng sẽ xác định xem phương thức gọi có thể nhận được chủ đề này hay không.

    • Chỉ những phương thức gọi quan sát thấy người dùng tương tác với một ứng dụng liên kết với chủ đề được đề cập trong vòng 3 khoảng thời gian bắt đầu vừa qua của hệ thống mới có thể nhận được chủ đề này.
    • Nếu trước đây, phương thức gọi không gọi API cho người dùng đó trên ứng dụng về chủ đề đó, thì chủ đề sẽ không có trong danh sách do API trả về.
    • Nếu phương thức gọi không nhận được bất kỳ chủ đề nào trong 3 khoảng thời gian bắt đầu vừa qua của hệ thống, thì API Chủ đề sẽ trả về một danh sách trống.

    Ví dụ: giả sử người dùng đã cài đặt 7 ứng dụng trên thiết bị: A, B, C, D, E, F và G. Giả sử rằng việc phân loại chủ đề cho ứng dụng và SDK công nghệ quảng cáo trong các ứng dụng này như sau:

    Ứng dụng Phân loại chủ đề SDK công nghệ quảng cáo
    A T1, T5 ad-sdk1, ad-sdk2
    B T2 ad-sdk2
    C T3, T6 ad-sdk3, ad-sdk4
    D T1, T4 ad-sdk1
    E T5 ad-sdk4, ad-sdk5
    F T6 ad-sdk2, ad-sdk3, ad-sdk4
    G T7 ad-sdk2
    • Kết thúc tuần 1: API Chủ đề tạo ra 5 chủ đề hàng đầu dành cho người dùng trong khoảng thời gian bắt đầu của hệ thống này.
    Chủ đề hàng đầu Những phương thức gọi có thể tìm hiểu về chủ đề này
    T1 ad-sdk1, ad-sdk2
    T2 ad-sdk2
    T3 ad-sdk3, ad-sdk4
    T4 ad-sdk1
    T5 ad-sdk1, ad-sdk2, ad-sdk4, ad-sdk5
    • Trong tuần 2, nếu một phương thức gọi trong bất kỳ ứng dụng nào gọi API, thì danh sách chủ đề trả về sẽ chỉ bao gồm các chủ đề cho những phương thức gọi có trong cột "Những phương thức gọi có thể tìm hiểu về chủ đề này" cho chủ đề đó cho ứng dụng đó trong khoảng thời gian bắt đầu của hệ thống đó.
    • Khoảng thời gian nhật ký được bao gồm trong khi tính toán chủ đề có sẵn cho từng phương thức gọi là 3 khoảng thời gian bắt đầu của hệ thống (hoặc 3 tuần).
    • Chỉ những chủ đề liên kết với các ứng dụng gọi ra API Chủ đề, trực tiếp hoặc thông qua SDK quảng cáo, mới được sử dụng. Điều này nghĩa là nếu một ứng dụng không bao gồm bất kỳ SDK quảng cáo nào gọi API Chủ đề và không gọi ra API, thì các chủ đề liên kết với ứng dụng đó không đóng góp vào các chủ đề được chia sẻ với ứng dụng hoặc SDK quảng cáo khác.
    • Ứng dụng cũng có thể tuyên bố không chọn API Chủ đề thông qua các tệp kê khai và thành phần XML mới, để không cho phép SDK quảng cáo dùng API cho ứng dụng đó. Các chủ đề liên kết với ứng dụng không được chọn sẽ không đóng góp vào việc tính toán chủ đề hằng tuần. Tài liệu này sẽ được cập nhật để đưa vào thông tin chi tiết liên quan đến việc triển khai.
  • Nếu không có đủ mức dùng ứng dụng cho nền tảng để dự đoán 5 chủ đề, nền tảng có thể cân nhắc các lựa chọn, chẳng hạn như tạo ngẫu nhiên các chủ đề còn lại.

Cách phân loại

  • Trong đề xuất hiện tại, cách phân loại ban đầu sẽ bao gồm số lượng chủ đề từ vài trăm đến vài nghìn. Đề xuất về cách phân loại ban đầu sẽ được chia sẻ trong nội dung cập nhật trong tương lai của tài liệu này.
  • Cách phân loại này sẽ do con người chọn lọc, do đó, các chủ đề nhạy cảm sẽ không được đưa vào cách phân loại này.
  • Cách phân loại này sẽ được điều chỉnh theo danh mục các quảng cáo có thể hiển thị trên ứng dụng dành cho thiết bị di động trên Android.
  • Hệ thống phân loại là nguồn mở và có thể thay đổi. Bạn có thể gửi đề xuất bằng cách sử dụng nút phản hồi ở đầu trang này.

Thuật toán phân loại chủ đề

Các chủ đề được quan tâm bắt nguồn từ mô hình thuật toán phân loại được đào tạo về thông tin được cung cấp công khai về ứng dụng (chẳng hạn như tên ứng dụng, thông tin mô tả và tên gói).

  • Khi mô hình thuật toán phân loại được dùng để tham khảo nhằm tính toán chủ đề trong một khoảng thời gian bắt đầu nhất định của hệ thống, thì tập hợp tín hiệu được sử dụng sẽ giữ nguyên trên thiết bị. Tập hợp các tín hiệu này có thể bao gồm ứng dụng được cài đặt hoặc sử dụng gần đây, và sau này có thể được mở rộng để bao gồm các tín hiệu khác.
  • Các mô hình ban đầu sẽ được Google đào tạo, trong đó dữ liệu đào tạo bao gồm nhãn do con người chọn lọc cho các thông tin cung cấp công khai về ứng dụng. Mô hình này sẽ được cung cấp miễn phí cho các ứng dụng để kiểm tra xem ứng dụng của họ được phân loại vào chủ đề nào.
  • Các mô hình ban đầu sẽ được đào tạo về thông tin sẵn có công khai về ứng dụng từ một tập hợp giới hạn các cửa hàng ứng dụng như Cửa hàng Google Play.
  • Có thể xảy ra trường hợp một ứng dụng ánh xạ đến nhiều chủ đề, không ánh xạ đến chủ đề nào hoặc không được thêm vào nhật ký chủ đề dành cho người dùng. Trong trường hợp một ứng dụng ánh xạ đến nhiều chủ đề trong cách phân loại, thì số lượng chủ đề được chọn cho ứng dụng này sẽ được giới hạn ở 3 chủ đề hàng đầu.

Quyền kiểm soát của người dùng

  • Thiết kế này nhằm mang lại cho người dùng khả năng xem và xoá các chủ đề liên quan đến hoạt động dùng ứng dụng của họ. Việc triển khai khả năng kiểm soát của người dùng đang diễn ra, và sẽ được đưa vào nội dung cập nhật trong tương lai.
  • Nếu người dùng gỡ cài đặt một ứng dụng góp phần vào việc lựa chọn chủ đề được đưa ra trong 3 khoảng thời gian bắt đầu vừa qua của hệ thống, thì chủ đề đó sẽ không bị xoá khỏi danh sách các chủ đề được trả về trong 3 khoảng thời gian bắt đầu vừa qua của hệ thống, để tránh tiết lộ thông tin về việc gỡ cài đặt.

Để tạo điều kiện cho quá trình kiểm thử về trải nghiệm người dùng cuối, bạn cũng có thể chạy một ý định trong ứng dụng để xem giao diện người dùng cài đặt cho các Chủ đề tương tự như cách người dùng cuối sẽ nhìn thấy. Bạn có thể xem ví dụ về lệnh gọi bên dưới:

//Button that launches settings UI
private Button mSettingsAppButton;
private static final String RB_SETTING_APP_INTENT = "android.adservices.ui.SETTINGS";

//Does setup for button on screen that will launch settings UI to observe Topics
private void registerLauchSettingsAppButton() {
    mSettingsAppButton.setOnClickListener(
        new View.OnClickListener() {

            @Override
            public void onClick(View view) {
                Context context = getApplicationContext();
                Intent activity2Intent = new Intent(RB_SETTING_APP_INTENT);
                activity2Intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                context.startActivity(activity2Intent);
            }
        });
}