Nhắm mục tiêu

Hướng dẫn này giải thích cách cung cấp thông tin nhắm mục tiêu cho SDK quảng cáo trên thiết bị di động của Google.

Để xem ví dụ về cách thực hiện, hãy tải ứng dụng Android API Demo xuống.

Tải bản minh hoạ API xuống

Điều kiện tiên quyết

RequestConfiguration

RequestConfiguration thu thập thông tin nhắm mục tiêu được áp dụng trên toàn cầu cho mọi yêu cầu quảng cáo. Để biết các thẻ nhắm mục tiêu hiện có, hãy tham khảo tài liệu về RequestConfiguration.Builder.

Để cập nhật cấu hình yêu cầu, hãy lấy trình tạo từ cấu hình hiện có, thực hiện mọi nội dung cập nhật mong muốn và đặt cấu hình như sau:

Kotlin

val requestConfiguration = MobileAds.getRequestConfiguration()
  .toBuilder()
  .build()
MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
    .toBuilder()
    .build();
MobileAds.setRequestConfiguration(requestConfiguration);

Để đảm bảo tất cả các yêu cầu quảng cáo đều áp dụng các thay đổi về cấu hình yêu cầu, hãy đặt cấu hình yêu cầu trước khi bạn Khởi chạy SDK quảng cáo trên thiết bị di động.

Chế độ cài đặt dành cho trẻ em

Nhằm tuân thủ Đạo luật bảo vệ quyền riêng tư của trẻ em trên mạng (COPPA), chúng tôi cung cấp cho bạn một chế độ cài đặt có tên là "gắn thẻ là được dành cho trẻ em". Bằng việc đặt thẻ này, bạn xác nhận rằng thông báo này là chính xác và bạn được uỷ quyền hành động thay mặt cho chủ sở hữu ứng dụng. Bạn hiểu rằng hành vi lạm dụng chế độ cài đặt này có thể khiến Tài khoản Google của bạn bị chấm dứt.

Là nhà phát triển ứng dụng, bạn có thể cho biết liệu bạn có muốn Google coi nội dung của bạn là dành cho trẻ em hay không khi đưa ra yêu cầu quảng cáo. Nếu bạn cho biết rằng bạn muốn Google coi nội dung của bạn là hướng tới trẻ em, thì chúng tôi sẽ thực hiện các bước để tắt quảng cáo dựa trên mối quan tâm (IBA) và quảng cáo tái tiếp thị trên yêu cầu quảng cáo đó.

Bạn có thể áp dụng chế độ cài đặt dành cho trẻ em thông qua setTagForChildDirectedTreatment():

  • Gọi setTagForChildDirectedTreatment bằng TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE để cho biết rằng bạn muốn Google coi nội dung của bạn là hướng tới trẻ em nhằm đảm bảo bạn luôn tuân thủ COPPA. Điều này sẽ ngăn việc truyền mã nhận dạng cho quảng cáo trên Android (AAID).

  • Gọi setTagForChildDirectedTreatmentTAG_FOR_CHILD_DIRECTED_TREATMENT_FALSE để cho biết rằng bạn không muốn nội dung của mình được coi là hướng tới trẻ em nhằm tuân thủ COPPA.

  • Gọi setTagForChildDirectedTreatment bằng TAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIED nếu bạn không muốn cho biết cách bạn muốn Google xử lý nội dung của bạn theo COPPA trong các yêu cầu quảng cáo.

Ví dụ sau cho biết rằng bạn muốn Google xem nội dung của bạn là dành cho trẻ em theo COPPA:

Kotlin

val requestConfiguration = MobileAds.getRequestConfiguration()
  .toBuilder()
  .setTagForChildDirectedTreatment(RequestConfiguration.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
  .build()
MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
    .toBuilder()
    .setTagForChildDirectedTreatment(RequestConfiguration.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
    .build();
MobileAds.setRequestConfiguration(requestConfiguration);

Bạn có thể đánh dấu các yêu cầu quảng cáo của mình để áp dụng biện pháp xử lý dành cho những người dùng chưa đủ tuổi hợp pháp để tự quản lý tài khoản ở Khu vực kinh tế Châu Âu (EEA). Tính năng này được thiết kế để giúp bạn dễ dàng tuân thủ Quy định chung về việc bảo vệ dữ liệu (GDPR). Xin lưu ý rằng bạn có thể có các nghĩa vụ pháp lý khác theo GDPR. Xem hướng dẫn của Liên minh Châu Âu và tham khảo ý kiến luật sư riêng của bạn. Xin lưu ý rằng các công cụ của Google được thiết kế để tạo điều kiện cho việc tuân thủ và không giảm trừ nghĩa vụ theo luật của bất kỳ nhà xuất bản nào. Tìm hiểu thêm về những ảnh hưởng của GDPR đối với nhà xuất bản.

Khi bạn sử dụng tính năng này, thông số Thẻ cho người dùng chưa đủ tuổi thành niên ở Châu Âu (TFUA) sẽ được đưa vào yêu cầu quảng cáo. Thông số này vô hiệu hoá hoạt động quảng cáo được cá nhân hoá (bao gồm cả hoạt động tái tiếp thị) đối với tất cả các yêu cầu quảng cáo. Thông số này cũng vô hiệu hoá các yêu cầu của nhà cung cấp quảng cáo bên thứ ba, chẳng hạn như pixel đo lường quảng cáo và máy chủ quảng cáo của bên thứ ba.

Giống như các chế độ cài đặt dành cho trẻ em, RequestConfiguration.Builder có một phương thức để đặt thông số TFUA: setTagForUnderAgeOfConsent(), với các tuỳ chọn sau.

  • Gọi setTagForUnderAgeOfConsent() bằng TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE để cho biết rằng bạn muốn yêu cầu quảng cáo áp dụng biện pháp xử lý dành cho người dùng chưa đủ tuổi thành niên ở Khu vực kinh tế Châu Âu (EEA). Chế độ cài đặt này cũng sẽ ngăn việc truyền mã nhận dạng cho quảng cáo trên Android (AAID).

  • Gọi setTagForUnderAgeOfConsent() bằng TAG_FOR_UNDER_AGE_OF_CONSENT_FALSE để cho biết rằng bạn không muốn yêu cầu quảng cáo áp dụng biện pháp xử lý dành cho người dùng chưa đủ tuổi thành niên ở Khu vực kinh tế Châu Âu (EEA).

  • Gọi setTagForUnderAgeOfConsent() bằng TAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIED để cho biết rằng bạn chưa chỉ định việc yêu cầu quảng cáo có áp dụng biện pháp xử lý dành cho người dùng chưa đủ tuổi thành niên ở Khu vực kinh tế Châu Âu (EEA) hay không.

Ví dụ sau cho biết rằng bạn muốn đưa TFUA vào yêu cầu quảng cáo:

Kotlin

val requestConfiguration = MobileAds.getRequestConfiguration()
  .toBuilder()
  .setTagForUnderAgeOfConsent(RequestConfiguration.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE)
  .build()
MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
    .toBuilder()
    .setTagForUnderAgeOfConsent(RequestConfiguration.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE)
    .build();
MobileAds.setRequestConfiguration(requestConfiguration);

Bạn không nên đặt đồng thời Chế độ cài đặt dành cho trẻ emsetTagForUnderAgeOfConsent() thành true. Nếu bạn cài đặt như vậy, thì chế độ cài đặt dành cho trẻ em sẽ được ưu tiên áp dụng.

Lọc nội dung quảng cáo

Để tuân thủ Chính sách về quảng cáo không phù hợp của Google Play, bao gồm cả các ưu đãi liên quan trong quảng cáo, tất cả quảng cáo và ưu đãi liên quan xuất hiện trong ứng dụng của bạn phải phù hợp với mức phân loại nội dung của ứng dụng, ngay cả khi bản thân nội dung đó tuân thủ các chính sách của Google Play.

Các công cụ như mức phân loại nội dung quảng cáo tối đa có thể giúp bạn kiểm soát nội dung của quảng cáo hiển thị cho người dùng hiệu quả hơn. Bạn có thể đặt mức phân loại nội dung tối đa để giúp tuân thủ các chính sách nền tảng.

Các ứng dụng có thể đặt mức phân loại nội dung quảng cáo tối đa cho các yêu cầu quảng cáo bằng cách sử dụng phương thức setMaxAdContentRating. Quảng cáo AdMob được trả về cho các yêu cầu này khi cấu hình có mức phân loại nội dung bằng hoặc thấp hơn mức đó. Các giá trị có thể có cho phần phụ của mạng này dựa trên mức phân loại nhãn nội dung kỹ thuật số và phải là một trong các chuỗi sau:

  • MAX_AD_CONTENT_RATING_G
  • MAX_AD_CONTENT_RATING_PG
  • MAX_AD_CONTENT_RATING_T
  • MAX_AD_CONTENT_RATING_MA

Mã sau đây định cấu hình một đối tượng RequestConfiguration để chỉ định rằng nội dung quảng cáo được trả về phải tương ứng với thông tin chỉ định nhãn nội dung kỹ thuật số không cao hơn G:

Kotlin

val requestConfiguration = MobileAds.getRequestConfiguration()
  .toBuilder()
  .setMaxAdContentRating(RequestConfiguration.MAX_AD_CONTENT_RATING_G)
  .build()
MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
    .toBuilder()
    .setMaxAdContentRating(RequestConfiguration.MAX_AD_CONTENT_RATING_G)
    .build();
MobileAds.setRequestConfiguration(requestConfiguration);

Tìm hiểu thêm về cách đặt mức phân loại nội dung tối đa cho mỗi yêu cầu quảng cáo.

Cách nhà xuất bản xử lý quyền riêng tư (Thử nghiệm)

API Cách nhà xuất bản xử lý quyền riêng tư (PPT) là một công cụ không bắt buộc cho phép ứng dụng cho biết liệu có tắt tính năng cá nhân hoá quảng cáo cho tất cả yêu cầu quảng cáo hay không bằng cách sử dụng phương thức setPublisherPrivacyPersonalizationState(). Khi bạn sử dụng tính năng này, thông số biện pháp xử lý quyền riêng tư của nhà xuất bản (PPT) sẽ được đưa vào tất cả các yêu cầu quảng cáo trong tương lai đối với phần còn lại của phiên hoạt động.

Theo mặc định, các yêu cầu quảng cáo gửi đến Google sẽ được phân phát quảng cáo được cá nhân hoá. Mã sau đây sẽ tắt tính năng cá nhân hoá quảng cáo cho tất cả yêu cầu quảng cáo:

Kotlin

val requestConfiguration = MobileAds.getRequestConfiguration()
  .toBuilder()
  .setPublisherPrivacyPersonalizationState(PublisherPrivacyPersonalizationState.DISABLED)
  .build()
MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration = MobileAds.getRequestConfiguration()
    .toBuilder()
    .setPublisherPrivacyPersonalizationState(PublisherPrivacyPersonalizationState.DISABLED)
    .build();
MobileAds.setRequestConfiguration(requestConfiguration);

Yêu cầu quảng cáo

Đối tượng AdManagerAdRequest thu thập thông tin nhắm mục tiêu sẽ được gửi cùng với yêu cầu quảng cáo.

Nhắm mục tiêu tuỳ chỉnh

Bạn có thể chuyển các cặp khoá-giá trị tuỳ chỉnh để nhắm mục tiêu các chiến dịch Google Ad Manager (mục hàng) thông qua AdManagerAdRequest.Builder.addCustomTargeting():

Kotlin

// Example: Pass custom targeting "age=25".
val newRequest = AdManagerAdRequest.Builder()
  .addCustomTargeting("age", "25")
  .build()

Java

// Example: Pass custom targeting "age=25".
AdManagerAdRequest newRequest = new AdManagerAdRequest.Builder()
    .addCustomTargeting("age", "25")
    .build();

Bạn có thể truyền nhiều giá trị cho một khoá dưới dạng danh sách các chuỗi. Ví dụ: để nhắm mục tiêu những người ở độ tuổi hai mươi thay vì chỉ nhắm mục tiêu những người 25 tuổi.

.addCustomTargeting("age", Arrays.asList("24", "25", "26"))

Hãy xem ví dụ về cách Nhắm mục tiêu tuỳ chỉnh của Ad Manager để biết cách triển khai phương thức nhắm mục tiêu tuỳ chỉnh trong ứng dụng Android API Demo.

Loại trừ danh mục

Bạn có thể thêm một cấp loại trừ danh mục cấp vị trí vào yêu cầu quảng cáo bằng phương thức addCategoryExclusion() do AdManagerAdRequest.Builder cung cấp:

Kotlin

// Example: Exclude "automobile" and "boat" categories.
val newRequest = AdManagerAdRequest.Builder()
  .addCategoryExclusion("automobile")
  .addCategoryExclusion("boat")
  .build()

Java

// Example: Exclude "automobile" and "boat" categories.
AdManagerAdRequest newRequest = new AdManagerAdRequest.Builder()
    .addCategoryExclusion("automobile")
    .addCategoryExclusion("boat")
    .build();

Hãy xem ví dụ về tính năng Loại trừ danh mục của Ad Manager để biết cách triển khai tính năng loại trừ danh mục trong ứng dụng Android API Demo.

Giá trị nhận dạng do nhà xuất bản cung cấp

Bạn có thể đặt giá trị nhận dạng do nhà xuất bản cung cấp (PPID) để dùng trong tính năng giới hạn tần suất, phân khúc và nhắm mục tiêu theo đối tượng, chế độ xoay vòng quảng cáo theo tuần tự và các hoạt động kiểm soát việc phân phối quảng cáo dựa trên đối tượng khác trên nhiều thiết bị.

Dưới đây là ví dụ về cách đặt PPID:

Kotlin

val adRequest = AdManagerAdRequest.Builder()
  .setPublisherProvidedId("AB123456789")
  .build()

Java

AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder()
    .setPublisherProvidedId("AB123456789")
    .build();

Hãy xem ví dụ về PPID của Ad Manager để biết cách triển khai giá trị nhận dạng do nhà xuất bản cung cấp (PPID) trong ứng dụng Android API Demo.

Tín hiệu do nhà xuất bản cung cấp

Bạn có thể gửi dữ liệu đối tượng và bối cảnh dưới dạng tín hiệu do nhà xuất bản cung cấp (PPS) trong yêu cầu quảng cáo. Với PPS, bạn có thể sử dụng dữ liệu người dùng để cải thiện hoạt động kiếm tiền có lập trình bằng cách thông báo các đặc điểm của đối tượng cho bên đặt giá thầu trong tất cả loại giao dịch bằng cách sử dụng các hệ thống phân loại chuẩn mà không cần chia sẻ giá trị nhận dạng người dùng. Đặc điểm của đối tượng có thể bao gồm dữ liệu hành vi và dữ liệu dựa trên mối quan tâm (Hệ thống phân loại đối tượng 1.1 của IAB) và dữ liệu theo bối cảnh (Hệ thống phân loại nội dung 2.2 của IAB).

Kotlin

val extras = Bundle()
// Set the demographic to an audience with an "Age Range" of 30-34 and an
// interest in mergers and acquisitions.
extras.putIntegerArrayList("IAB_AUDIENCE_1_1", arrayListOf(6,284))
// Set the content to sedan, station wagon and SUV automotive values.
extras.putIntegerArrayList("IAB_CONTENT_2_2", arrayListOf(4,5,6))

val request = AdRequest.Builder()
  .addNetworkExtrasBundle(AdMobAdapter::class.java, extras)
  .build()

Java

Bundle extras = new Bundle();
// Set the demographic to an audience with an "Age Range" of 30-34 and an
// interest in mergers and acquisitions.
extras.putIntegerArrayList("IAB_AUDIENCE_1_1", arrayListOf(6,284));
// Set the content to sedan, station wagon and SUV automotive values.
extras.putIntegerArrayList("IAB_CONTENT_2_2", arrayListOf(4,5,6));

AdManagerAdRequest request = new AdManagerAdRequest.Builder()
  .addNetworkExtrasBundle(AdMobAdapter.class, extras)
  .build()

URL nội dung

Để cung cấp URL nội dung cho quảng cáo được nhắm mục tiêu theo nội dung cũng như để đảm bảo an toàn thương hiệu, bạn có thể gọi setContentUrl() khi tạo AdManagerAdRequest:

Kotlin

val builder = AdManagerAdRequest.Builder()
builder.setContentUrl("https://www.example.com")
val request = builder.build()

Java

AdManagerAdRequest.Builder builder = new AdManagerAdRequest.Builder();
builder.setContentUrl("https://www.example.com");
AdManagerAdRequest request = builder.build();

An toàn thương hiệu (Thử nghiệm)

Các ứng dụng hiển thị nội dung động dành cho nhiều đối tượng khác nhau có thể cung cấp danh sách rút gọn các URL bằng phương thức setNeighboringContentUrls() khi tạo AdManagerAdRequest:

Kotlin

val urls = mutableListOf("https://www.mycontenturl1.com", "https://www.mycontenturl2.com",
                         "https://www.mycontenturl3.com", "https://www.mycontenturl4.com")
val requestWithContent = AdManagerAdRequest.Builder()
  .setNeighboringContentUrls(urls)
  .build()

Java

ArrayList<String> urls = new ArrayList<String>();
urls.add("https://www.mycontenturl1.com");
urls.add("https://www.mycontenturl2.com");
urls.add("https://www.mycontenturl3.com");
urls.add("https://www.mycontenturl4.com");
AdManagerAdRequest requestWithContent = new AdManagerAdRequest.Builder()
    .setNeighboringContentUrls(urls)
    .build();

Khác với .setContentUrl(), .setNeighboringContentUrls() chỉ được dùng để đảm bảo an toàn thương hiệu.