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ụ về cách thực hiện, bạ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

Trước khi tiếp tục, thiết lập Google Mobile Ads SDK.

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 một trình tạo từ cấu hình hiện có, thực hiện mọi bản cập nhật đã chọn và đặt như sau:

Kotlin

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

Java

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

Để đảm bảo rằng tất 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 Google Mobile Ads SDK.

Chế độ cài đặt hướng đến 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 tùy chọn 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 ủy 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 tùy chọn cài đặt này có thể khiến Tài khoản Google của bạn bị chấm dứt.

Nếu là nhà phát triển ứng dụng thì bạn có thể cho biết liệu bạn có muốn Google xem nội dung của bạn là hướng đến 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 xem nội dung của bạn là hướng đến trẻ em, thì chúng tôi sẽ thực hiện các bước để tắt quảng cáo tái tiếp thị 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 xem là hướng đến trẻ em cho mục đích của COPPA. Điều này 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 xem là hướng đến trẻ em cho mục đích của 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à hướng đến 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 ở Khu vực kinh tế Châu Âu (EEA) chưa đủ tuổi hợp pháp để tự quản lý tài khoản. 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. Hãy 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, yêu cầu quảng cáo sẽ bao gồm một tham số Thẻ cho người dùng dưới độ tuổi hợp pháp để tự quản lý tài khoản ở Châu Âu (TFUA). Tham số này vô hiệu hóa hoạt động quảng cáo được cá nhân hóa, kể cả hoạt động tiếp thị lại, đố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 hóa 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 tùy chọn cài đặt hướng đến trẻ em, có một phương thức trong RequestConfiguration.Builder để đặ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 ở Khu vực kinh tế Châu Âu (EEA) chưa đủ độ tuổi hợp pháp để tự quản lý tài khoản. Điều 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 ở Khu vực kinh tế Châu Âu (EEA) chưa đủ độ tuổi hợp pháp để tự quản lý tài khoản 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 Tùy chọn cài đặt hướng đến trẻ emsetTagForUnderAgeOfConsent() thành true. Nếu bạn cài đặt như vậy, thì chế độ cài đặt hướng đến 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 được liên kết trong quảng cáo), tất cả quảng cáo và các ưu đãi được liên kết với quảng cáo hiển thị 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 mức phân loại nhãn nội dung kỹ thuật số, đồng thời các giá trị đó 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 một 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. Công cụ này cho phép các ứng dụng cho biết 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 phương thức setPublisherPrivacyPersonalizationState() . Khi sử dụng tính năng này, một tham số về cách nhà xuất bản xử lý quyền riêng tư (PPT) sẽ được đưa vào tất 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 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(
      RequestConfiguration.PublisherPrivacyPersonalizationState.DISABLED
    )
    .build()
MobileAds.setRequestConfiguration(requestConfiguration)

Java

RequestConfiguration requestConfiguration =
    MobileAds.getRequestConfiguration().toBuilder()
        .setPublisherPrivacyPersonalizationState(
            RequestConfiguration.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

Thông tin 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 và dành riêng cho một nguồn quảng cáo.

Đoạn mã sau đây đặt một khoá tham số phụ là collapsible có giá trị là bottom cho Google:

Kotlin

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

Java

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

Nhắm mục tiêu tùy 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 chuyển một cặp khoá-giá trị tuỳ chỉnh trong một 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ể 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 người ở độ tuổi từ 20 đến 29 thay vì chỉ nhắm mục tiêu những người 25 tuổi.

Kotlin

.addCustomTargeting("age", listOf("24", "25", "26"))

Java

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

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

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

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 cài đặ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 minh họa 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 khả năng kiếm tiền có lập trình bằng cách truyền đạt các đặc điểm của đối tượng 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ác đặ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 của IAB 1.1) và dữ liệu bối cảnh (Hệ thống phân loại nội dung của IAB 2.2).

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", new ArrayList<>(Arrays.asList(6, 284)));
// Set the content to sedan, station wagon and SUV automotive values.
extras.putIntegerArrayList("IAB_CONTENT_2_2", new ArrayList<>(Arrays.asList(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, 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

List<String> urls =
    Arrays.asList(
        "https://www.mycontenturl1.com",
        "https://www.mycontenturl2.com",
        "https://www.mycontenturl3.com",
        "https://www.mycontenturl4.com");

AdManagerAdRequest requestWithContent =
    new AdManagerAdRequest.Builder().setNeighboringContentUrls(urls).build();

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