Nhắm mục tiêu

Chọn nền tảng: Android iOS Unity Flutter

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ụ minh hoạ, hãy tải ứng dụng Android API Demo xuống.

Tải API Demo 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 rằng 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 của Google 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à "thẻ 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 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à 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 tiếp thị lại và quảng cáo dựa trên mối quan tâm (IBA) cho 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 nội dung của mình được coi là hướng tới trẻ em nhằm tuân thủ COPPA. Chế độ cài đặt 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 setTagForChildDirectedTreatment bằng TAG_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 của cố vấn pháp lý riêng. 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, yêu cầu quảng cáo sẽ bao gồm một thông số Thẻ cho người dùng chưa đủ tuổi thành niên ở Châu Âu (TFUA). Tham 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. Tham 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ư các 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 lựa 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 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à các ư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 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 kết quả 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 từng 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 các ứ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ả cá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, một thông số cách nhà xuất bản xử lý quyền riêng tư (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ẽ phân phát quảng cáo được cá nhân hoá. Đoạn mã sau đây sẽ tắt chế độ cá nhân hoá quảng cáo cho tất cả cá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.

Thêm thông tin bổ sung của mạng truyền hình

Thông số bổ sung của mạng là thông tin chi tiết bổ sung được gửi cùng với yêu cầu quảng cáo dành riêng cho một nguồn quảng cáo duy nhất.

Đoạn mã sau đây đặt một khoá tham số bổ sung là collapsible với giá trị bottom cho Google:

Kotlin

val extras = Bundle()
extras.putString("collapsible", "bottom")
val adRequest = AdRequest.Builder()
  .addNetworkExtrasBundle(AdMobAdapter::class.java, extras)
  .build()
adLoader.loadAd(adRequest)

Java

Bundle extras = new Bundle();
extras.putString("collapsible", "bottom");
AdRequest adRequest = new AdRequest.Builder()
    .addNetworkExtrasBundle(AdMobAdapter.class, extras)
    .build();
adLoader.loadAd(adRequest);

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). Ví dụ sau đây truyền một cặp khoá-giá trị tuỳ chỉnh trong yêu cầu quảng cáo:

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ề 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 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 bằng phương thức addCategoryExclusion():

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 giới hạn tần suất, phân khúc đối tượng và tiêu chí 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à một ví dụ về việc đặ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à dữ liệu bối 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 hoạt động kiếm tiền có lập trình bằng cách truyền đạt đặc điểm đối tượng của bạn cho các bên đặt giá thầu trong tất cả các loại giao dịch, sử dụng hệ thống phân loại tiêu 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).

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 = AdManagerAdRequest.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 và đảm bảo an toàn thương hiệu, hãy thêm nội dung sau:

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)

Những ứng dụng hiển thị nội dung động dành cho nhiều đối tượng đều có thể cung cấp một danh sách ngắn gồm các URL:

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 .setNeighboringContentUrls(), .setContentUrl() chỉ được dùng để đảm bảo an toàn thương hiệu.