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 một yêu cầu quảng cáo. Để xem ví dụ về cách hoạt động, hãy tải ứng dụng Android API Demo xuống.

Tải API minh hoạ xuống

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

RequestConfiguration

RequestConfiguration là một đối tượng thu thập thông tin nhắm mục tiêu sẽ được áp dụng rộng rãi thông qua phương thức tĩnh MobileAds.

Để cập nhật cấu hình của 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:

Java

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

Kotlin

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

Chế độ cài đặt hướng tới 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à "thẻ dành cho trẻ em". Khi đặ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 việc 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 xem nội dung của bạn là dành cho trẻ em hay không khi thực hiện 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à dành cho trẻ em, thì chúng tôi sẽ thực hiện các bước để tắt quảng cáo IBA và quảng cáo tái tiếp thị đối với yêu cầu quảng cáo đó.

Bạn có thể dùng chế độ cài đặt này trên tất cả các phiên bản của SDK Dịch vụ Google Play thông qua RequestConfiguration.Builder.setTagForChildDirectedTreatment(int):

  • Gọi setTagForChildDirectedTreatment bằng TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE để 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. Thao tác này 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à dành cho trẻ em theo 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 coi nội dung của bạn là dành cho trẻ em theo COPPA:

Java

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

Kotlin

var 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 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 xét hướng dẫn của Liên minh Châu Âu và tham khảo ý kiến cố vấn pháp lý 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ải trừ nghĩa vụ của bất kỳ nhà xuất bản nào theo luật. 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 hợp pháp để tự quản lý tài khoả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á (kể 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 đối với 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 bên thứ ba.

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

  • 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 hợp pháp để tự quản lý tài khoản ở Khu vực kinh tế Châu Âu (EEA). Thao tác này cũng 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 hợp pháp để tự quản lý tài khoả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 hợp pháp để tự quản lý tài khoả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:

Java

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

Kotlin

var 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 các thẻ để bật Chế độ cài đặt hướng tới trẻ emsetTagForUnderAgeOfConsent() thành true. Nếu bạn đặt như vậy, thì chế độ cài đặt hướng tới 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 một 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 tốt hơn nội dung của quảng cáo hiển thị cho người dùng. 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 phương thức setMaxAdContentRating. Quảng cáo AdMob được trả về khi cấu hình này có mức phân loại nội dung ở mức đó hoặc thấp hơn mức đó. Các giá trị có thể có cho phần phụ mạng này dựa trên hoạt động 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:

Java

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

Kotlin

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

Tìm hiểu thêm về:

Phương thức xử lý quyền riêng tư dành cho nhà xuất bản (Beta)

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

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

Java

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

Kotlin

var 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():

Java

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

Kotlin

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

Bạn có thể chuyển nhiều giá trị cho một khoá dưới dạng danh sách chuỗi. Ví dụ: để nhắm mục tiêu những cá nhân ở độ 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ề tính năng Nhắm mục tiêu tuỳ chỉnh của Ad Manager để biết cách triển khai tính năng nhắm mục tiêu tuỳ chỉnh trong ứng dụng API minh hoạ cho Android.

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ùng vào yêu cầu bằng cách sử dụng phương thức addCategoryExclusion() do AdManagerAdRequest.Builder cung cấp:

Java

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

Kotlin

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

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

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, xoay vòng quảng cáo theo tuần tự và các hoạt động kiểm soát 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:

Java

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

Kotlin

var adRequest = 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 API minh hoạ cho Android.

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

Bạn có thể gửi dữ liệu về đối tượng và ngữ cảnh dưới dạng tín hiệu do nhà xuất bản cung cấp (PPS) trong các 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 khả năng kiếm tiền có lập trình bằng cách truyền đạt các đặc điểm đối tượng của bạn cho bên đặt giá thầu trong mọi loại giao dịch, sử dụng dữ liệu 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 đối tượng của bạn 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).

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()

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()

URL nội dung

Để cung cấp URL nội dung cho quảng cáo 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:

Java

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

Kotlin

val builder = AdManagerAdRequest.Builder()
builder.setContentUrl("https://www.example.com")
val 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 ngắn các URL bằng phương thức setNeighboringContentUrls() khi tạo AdManagerAdRequest:

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();

Kotlin

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

Khác với .setContentUrl(), .setNeighboringContentUrls() chỉ dùng cho sự an toàn thương hiệu.