טירגוט

במדריך הזה נסביר איך לספק ל-Google Mobile Ads SDK פרטי טירגוט.

לדוגמה שעובדת, אפשר להוריד את אפליקציית Android API Demo.

הורדת הדגמה של API

דרישות מוקדמות

RequestConfiguration

RequestConfiguration אוסף מידע על טירגוט שחלה באופן גלובלי על כל בקשה להצגת מודעה. במסמכי העזרה של RequestConfiguration.Builder מפורטות רשימות של תגי הטירגוט הזמינים.

כדי לעדכן את הגדרת הבקשה, מקבלים בונה מהתצורה הקיימת, מבצעים את העדכונים הרצויים ומגדירים אותו באופן הבא:

Kotlin

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

Java

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

הגדרה של תוכן לילדים

לצורכי חוק הגנת הפרטיות של ילדים באינטרנט (COPPA), יש הגדרה שנקראת 'תיוג לטיפול מותאם לילדים'. הגדרת התג הזה מבטאת אישור מהצד שלך שההודעה הזו מדויקת ושיש לך הרשאה לפעול בשם הבעלים של האפליקציה. בנוסף, הבנת ששימוש לרעה בהגדרה הזו עלול להוביל לסגירת חשבון Google שלך.

כשאתם, בתור מפתחי אפליקציות, שולחים בקשה להצגת מודעה, אתם יכולים לציין אם אתם רוצים ש-Google תתייחס לתוכן שלכם כתוכן לילדים. אם תציינו ש-Google צריכה להתייחס לתוכן שלכם כתוכן לילדים, ננקוט פעולות כדי להשבית את הפרסום המבוסס על תחומי עניין ואת מודעות הרימרקטינג בבקשה הזו להצגת מודעה.

אפשר להחיל את ההגדרה 'תוכן לילדים' דרך setTagForChildDirectedTreatment():

  • קוראים לפונקציה setTagForChildDirectedTreatment עם הערך TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE כדי לציין שרוצים שהתוכן יטופל כתוכן לילדים לצורכי COPPA. הפעולה הזו מונעת את ההעברה של מזהה הפרסום ב-Android‏ (AAID).

  • קוראים ל-setTagForChildDirectedTreatment עם הערך TAG_FOR_CHILD_DIRECTED_TREATMENT_FALSE כדי לציין שאתם לא רוצים שהתוכן שלכם ייחשב כתוכן לילדים לצורכי COPPA.

  • אם אתם לא רוצים לציין איך אתם רוצים שהתוכן שלכם יטופל בהתאם ל-COPPA בבקשות להצגת מודעות, תוכלו להתקשר למספר setTagForChildDirectedTreatment ולהזין את הערך TAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIED.

הדוגמה הבאה מציינת שרוצים שהתוכן ייחשב כתוכן לילדים למטרות 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);

אתם יכולים לסמן בקשות להצגת מודעות כמודעות שיוצגו למשתמשים מתחת לגיל ההסכמה שנמצאים באזור הכלכלי האירופי (EEA). פיתחנו את התכונה הזו כדי לעזור לכם לפעול בהתאם לתקנה הכללית להגנה על מידע (GDPR). לתשומת ליבכם, ייתכן שיש לכם חובות משפטיות נוספות בכפוף ל-GDPR. מומלץ לעיין בהנחיות של האיחוד האירופי ולפנות לייעוץ משפטי. חשוב לזכור שהכלים של Google מיועדים לסייע לציות לחוק, ולא פוטרים בעלי אפליקציות מהמחויבויות שלהם בכפוף לחוק. מידע נוסף על ההשפעה של התקנת ה-GDPR על בעלי אתרים

כשמשתמשים בתכונה הזאת, בקשות להצגת מודעות כוללות פרמטר 'תג לציון הצגה למשתמשים מתחת לגיל ההסכמה באירופה' (TFUA). הפרמטר הזה משבית את הפרסום המותאם אישית, כולל רימרקטינג, בכל בקשות להצגת מודעות. בנוסף, הוא משבית העברה של בקשות לספקי מודעות של צד שלישי, למשל בקשות לפיקסלים למדידת מודעות ובקשות לשרתי מודעות של צד שלישי.

בדומה להגדרות של תוכן לילדים, יש ב-RequestConfiguration.Builder שיטה להגדרת הפרמטר TFUA:‏‏setTagForUnderAgeOfConsent(),‏עם האפשרויות הבאות.

  • קוראים לפונקציה setTagForUnderAgeOfConsent() עם הערך TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE כדי לציין שרוצים שהבקשה להצגת מודעה תטופל עבור משתמשים באזור הכלכלי האירופי (EEA) מתחת לגיל ההסכמה. הפעולה הזו גם מונעת את השליחה של מזהה הפרסום ב-Android‏ (AAID).

  • קוראים לפונקציה setTagForUnderAgeOfConsent() עם הערך TAG_FOR_UNDER_AGE_OF_CONSENT_FALSE כדי לציין שלא רוצים שהבקשה להצגת מודעה תטופל למשתמשים באזור הכלכלי האירופי (EEA) מתחת לגיל ההסכמה.

  • קוראים לפונקציה setTagForUnderAgeOfConsent() עם הערך TAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIED כדי לציין שלא ציינתם אם בקשת המודעה צריכה לעבור טיפול עבור משתמשים באזור הכלכלי האירופי (EEA) מתחת לגיל ההסכמה.

הדוגמה הבאה מראה שאתם רוצים ש-TFUA ייכלל בבקשות להצגת מודעות:

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

אסור להגדיר את התגים להפעלת ההגדרה 'התאמה לילדים' וגם את התג setTagForUnderAgeOfConsent() לסטטוס true בו-זמנית. אם תעשו את זה, ההגדרה 'תוכן לילדים' תקבל עדיפות.

סינון תוכן של מודעות

כדי לעמוד במדיניות Google Play בנושא מודעות בלתי הולמות, שכוללת מבצעים משויכים במודעה, כל המודעות והמבצעים המשויכים להן שמוצגים באפליקציה שלכם חייבים להתאים לסיווג התוכן של האפליקציה, גם אם התוכן עצמו עומד בדרישות אחרות של מדיניות Google Play.

כלים כמו סיווג מקסימלי לתוכן מודעה יכולים להגביר את השליטה שלכם בתוכן של המודעות שמוצגות למשתמשים. אתם יכולים להגדיר סיווג תוכן מקסימלי כדי לעמוד בדרישות המדיניות של הפלטפורמה.

אפליקציות יכולות להגדיר סיווג מקסימלי לתוכן מודעה לבקשות להצגת מודעות באמצעות השיטה setMaxAdContentRating . מודעות AdMob שהוחזרו כשהגדרה זו מוגדרת הן מודעות עם סיווג תוכן ברמה הזו או ברמה נמוכה יותר. הערכים האפשריים של התוספת הזו לרשת מבוססים על סיווגים של תוויות לתיאור תוכן דיגיטלי, והם חייבים להיות אחת מהמחרוזות הבאות:

  • MAX_AD_CONTENT_RATING_G
  • MAX_AD_CONTENT_RATING_PG
  • MAX_AD_CONTENT_RATING_T
  • MAX_AD_CONTENT_RATING_MA

הקוד הבא מגדיר אובייקט RequestConfiguration כדי לציין שתוכן המודעה שהוחזר צריך להתאים לסיווג של תווית תוכן דיגיטלי שלא גבוה מ-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);

למידע נוסף על:

טיפול בפרטיות של בעלי תוכן דיגיטלי (בטא)

Publisher Privacy Treatment (PPT) API הוא כלי אופציונלי שמאפשר לאפליקציות לציין אם להשבית את ההתאמה האישית של המודעות לכל בקשות המודעות באמצעות השיטה setPublisherPrivacyPersonalizationState(). כשמשתמשים בתכונה הזו, פרמטר של טיפול בפרטיות של בעלי תוכן דיגיטלי (PPT) נכלל בכל הבקשות העתידיות להצגת מודעות עד לסיום הסשן.

כברירת מחדל, כשנשלחות ל-Google בקשות להצגת מודעות, המערכת מציגה מודעות בהתאמה אישית. הקוד הבא משבית את ההתאמה האישית של המודעות לכל בקשות המודעות:

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

בקשה להצגת מודעה

האובייקט AdManagerAdRequest אוסף את פרטי הטירגוט ששולחים עם בקשה להצגת מודעה.

מיקוד מותאם אישית

אפשר להעביר ערכים מותאמים אישית של מפתח/ערך כדי לטרגט קמפיינים ב-Google Ad Manager (פריטי שורה) באמצעות 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();

אפשר להעביר כמה ערכים למפתח כרשימה של מחרוזות. לדוגמה, כדי לטרגט אנשים באמצע שנות ה-20 שלהם ולא רק אנשים בני 25.

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

בדוגמה לטירגוט מותאם אישית ב-Ad Manager מוסבר איך מטמיעים טירגוט מותאם אישית באפליקציית הדגמה של Android API.

החרגות של קטגוריות

אפשר להוסיף לבקשה רמה של החרגת קטגוריה ברמת המיקום המודעה באמצעות השיטה addCategoryExclusion() שמספקת AdManagerAdRequest.Builder:

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

כדאי לעיין בדוגמה להחרגות של קטגוריות ב-Ad Manager כדי לראות איך מטמיעים החרגות של קטגוריות באפליקציית הדגמה של Android API.

מזהים שניתנו על ידי בעלי התוכן הדיגיטלי

אפשר להגדיר מזהה שניתן על ידי בעל התוכן הדיגיטלי (PPID) לשימוש במכסת תדירות, בפילוח ובטירגוט של קהלים, בסיבוב מודעות רציף ובאמצעי בקרה אחרים להצגת מודעות מבוססי-קהל במכשירים שונים.

דוגמה להגדרת PPID:

Kotlin

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

Java

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

בדוגמה הזו מוסבר איך מטמיעים מזהים שניתנים על ידי בעלי תוכן דיגיטלי (PPID) באפליקציית הדגמה של Android API.

אותות שמספקים בעלי תוכן דיגיטלי

אתם יכולים לשלוח נתונים של קהל יעד ונתונים לפי הקשר כאותות שמספקים בעלי תוכן דיגיטלי (PPS) בבקשות להצגת מודעות. באמצעות PPS, תוכלו להשתמש בנתוני המשתמשים שלכם כדי לשפר את המונטיזציה הפרוגרמטית. לשם כך, תוכלו להעביר את מאפייני הקהל שלכם למגישי הצעות המחיר בכל סוגי הטרנזקציות באמצעות טקסונומיות סטנדרטיות, בלי שתצטרכו לשתף את מזהי המשתמשים. מאפייני הקהל יכולים לכלול נתונים התנהגותיים ונתונים שמבוססים על תחומי עניין (טקסונומיית הקהלים של IAB 1.1) ונתונים לפי הקשר (טקסונומיית התוכן של 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 = 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 של תוכן

כדי לספק כתובת URL של תוכן לצורך טירגוט לפי תוכן והגנה על המותג, אפשר להפעיל את הפונקציה setContentUrl() כשיוצרים 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();

הגנה על המותג (בטא)

אפליקציות שמוצג בהן תוכן דינמי המיועד לקהלים שונים יכולות לספק רשימה קצרה של כתובות URL באמצעות השיטה setNeighboringContentUrls() כשהן יוצרות 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();

ההבדל בין .setNeighboringContentUrls() לבין .setContentUrl() הוא שהקוד .setNeighboringContentUrls() משמש רק להגנה על המותג.