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.
Điều kiện tiên quyết
- Xem hết hướng dẫn Bắt đầu sử dụng.
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ằngTAG_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
setTagForChildDirectedTreatment
có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à dành cho trẻ em theo COPPA.Gọi
setTagForChildDirectedTreatment
bằngTAG_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)
Người dùng dưới độ tuổi hợp pháp để tự quản lý tài khoản
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ằngTAG_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ằngTAG_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ằngTAG_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ẻ em
và setTagForUnderAgeOfConsent()
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.