דרישות מוקדמות
מדריך ההטמעה הזה מבוסס על ההנחה שאתם מכירים את:
- הטמעה של מודעות לרשת החיפוש בהתאמה אישית (CSA) ב-AdSense לחיפוש (AFS) פרוטוקול
- פיתוח אפליקציות ל-Android
- שיוך מודעות Google לנייד SDK ל-Android (כחלק מ-Google Play Services) באמצעות פרויקט Android Studio. נדרשת גרסה 9.0.0 של שירותי Google Play.
שיעורים
כדי להציג באפליקציה מודעות AFSMA (שנקראות גם מודעות דינמיות לרשת החיפוש בגובה רב): להטמיע את הסוגים הבאים:
- הכיתה הזו יורשת מהכיתה
ViewGroup
של Android ומציג את מודעות AFSMA. נשלחה על ידיSearchAdView
בקשה להצגת מודעה עם נכסDynamicHeightSearchAdRequest
ומעבד את המודעות שהוחזרו. צריך להוסיף את המאפייןSearchAdView
לכל אחת מקבוצות התצוגה המפורטת הקיימות של האפליקציה. SearchAdView
צריך ליצור מופע עם ההקשר ש-SearchAdView
פועל בו, בדרך כללActivity
.- אחרי שיוצרים את ה-
SearchAdView
, צריך לקרוא ל-methodsetAdSize()
עםAdSize.SEARCH
כדי לבקש מודעות AFSMA. ערכי enum אחרים יבקשו מודעות שלא תואמות ל-AdSense לחיפוש (AFS) לאפליקציות לנייד. - קוראים ל-method
setAdUnitId()
באובייקט הזה עם קוד המאפיין.
DynamicHeightSearchAdRequest.Builder
- הסיווג הזה כולל את הפרמטרים של הבקשות להצגת מודעות. הפעולה הזו מקבילה להגדרת פרמטרים באובייקטים של בקשות להצגת מודעות ב-JavaScript (אפשרויות דף, אפשרויות יחידה) ל-AdSense לחיפוש (AFS) באינטרנט לנייד.
- מגדירים פרמטרים עם הגדרות ההגדרה המתאימות (במילים אחרות,
קוראים לפונקציה
setQuery()
כדי להגדיר את פרמטר השאילתה).
הטמעה לדוגמה
הדוגמה הבאה ממחישה את השימוש ב-Activity
כדי ליצור SearchAdView
כתצוגת משנה של ViewGroup
. כדי לבקש כראוי מודעות AFSMA, SearchAdView
האובייקט חייב לקרוא לשיטה setAdSize()
עם AdSize.SEARCH
.
// MainActivity.java implementation
// (MainActivity is a subclass of Activity)
// Create the SearchAdView
final SearchAdView searchAdView = new SearchAdView(this);
// Set parameter to request for dynamic height search ads
searchAdView.setAdSize(AdSize.SEARCH); // Important!
// Replace with your pub ID (e.g. ms-app-pub-9616389000213823)
searchAdView.setAdUnitId("ms-app-pub-################");
// Add searchAdView to parent view group
...
בתוך אותו Activity
, יוצרים DynamicHeightSearchAdRequest.Builder
קובע את הפרמטרים של המודעה שתוצג בSearchAdView
.
מודעות AFSMA מוגדרות באותו אופן כמו מודעות לרשת החיפוש בהתאמה אישית של AFS.
לראות את מודעות החיפוש בהתאמה אישית של AdSense לחיפוש
חומרי עזר
אפשר לקבל פרטים נוספים.
// Create the ad request
DynamicHeightSearchAdRequest.Builder builder =
new DynamicHeightSearchAdRequest.Builder();
builder.setQuery("flowers");
builder.setNumber(2);
// Replace with the ID of a style from your custom search styles
builder.setAdvancedOptionValue("csa_styleId", "0000000001");
// Customization options (set using setters on
// DynamicHeightSearchAdRequest.Builder)
builder.setAdTest(true);
אפשר לבצע אפשרויות אחרות של התאמה אישית על ידי הגדרת מאפיינים נוספים
DynamicHeightSearchAdRequest.Builder
לאובייקט.
כדי לשלוח בקשה להצגת מודעה, צריך להפעיל את השיטה loadAd()
עם
אובייקט DynamicHeightSearchAdRequest.Builder
מהאובייקט SearchAdView
:
searchAdView.loadAd(builder.build());
אפשרויות מתקדמות
ניתן להגדיר את רוב הפרמטרים של בקשות להצגת מודעות באמצעות שיטות הגדרה
על האובייקט DynamicHeightSearchAdRequest.Builder
.
פרמטרים שאין להם שיטת הגדרה
אפשר להגדיר את DynamicHeightSearchAdRequest.Builder
באמצעות צמדי מפתח/ערך עם הפונקציה
setAdvancedOptionValue()
.
הצגת מודעות לרשת החיפוש בהתאמה אישית של AdSense לחיפוש (AFS)
חומרי עזר
לרשימה מלאה של ההגדרות שאפשר לקבוע בעזרת
אמצעי תשלום אחד (setAdvancedOptionValue()
).
התחילית של פרמטר המפתח צריכה להיות "csa_ " כדי שהמאפיין יוגדר כראוי.
// Advanced customization options (set using key-value pair)
// Set a parameter (parameter_name) and its value (parameter_value)
// builder.setAdvancedOptionValue("csa_parameter_name", "parameter_value");
// Example: Show visible URL below description
// (domainLinkAboveDescription: false)
builder.setAdvancedOptionValue("csa_domainLinkAboveDescription", "false");
אם משתמשים בשיטת הממיר של פרמטר ומגדירים אותה באמצעות setAdvancedOptionValue
,
הקריאה השנייה תבטל את הערך מהקריאה הראשונה.
איך בודקים שגיאות
SearchAdView
(searchAdView
כאן) מכיל method setAdListener()
כדי לבדוק שגיאות. בתוך אותו Activity
:
searchAdView.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
// Called when an ad is loaded
super.onAdLoaded();
Toast.makeText(MainActivity.this, "Ad Loaded",
Toast.LENGTH_SHORT).show();
Log.d(MainActivity.class.getSimpleName(), "Ad Loaded");
}
@Override
public void onAdOpened() {
// Called when an ad opens an overlay that covers the screen
super.onAdOpened();
Toast.makeText(MainActivity.this, "Ad Opened",
Toast.LENGTH_SHORT).show();
Log.d(MainActivity.class.getSimpleName(), "Ad Opened");
}
@Override
public void onAdLeftApplication() {
// Called when an ad leaves the application
// (to go to the browser for example)
super.onAdLeftApplication();
Toast.makeText(MainActivity.this, "Ad Left Application",
Toast.LENGTH_SHORT).show();
Log.d(MainActivity.class.getSimpleName(), "Ad Left Application");
}
@Override
public void onAdFailedToLoad(int errorCode) {
// Called when an ad request failed
super.onAdFailedToLoad(errorCode);
Toast.makeText(MainActivity.this, "Ad Failed to Load: " + errorCode,
Toast.LENGTH_SHORT).show();
Log.e(MainActivity.class.getSimpleName(), "Ad Failed to Load: " +
errorCode);
}
});
קבועים שבהם נעשה שימוש בשיטת הקריאה החוזרת (callback) של onAdFailedToLoad()
מפורטות ב-API
הפניה.
הכנה לדרישות לגבי גילוי נאות בנושא נתונים ב-Google Play
במאי 2021, הוכרז ב-Google Play על הסעיף החדש 'אבטחת נתונים', שהוא גילוי נאות שמסופק על ידי המפתח לגבי איסוף נתונים, שיתוף נתונים שנאספו ונוהלי אבטחה באפליקציה.
הדף הזה יכול לעזור לך למלא את הדרישות לגבי גילוי נאות בנתונים בנוגע לשימוש שלך ב-AFS Native SDK (רלוונטי גם לשימוש ב-AdSense for Shopping). בדף הזה ניתן למצוא מידע על האופן שבו ערכות ה-SDK שלנו מטפלות בנתונים של משתמשי קצה, ובאיזה אופן.
אנחנו שואפים לתמוך בכם בשקיפות רבה ככל האפשר. עם זאת, כמפתחי האפליקציה, האחריות הבלעדית על ההחלטה איך להשיב לטופס של סעיף אבטחת הנתונים של Google Play בנוגע לאיסוף הנתונים של משתמשי הקצה, לשיתוף ולנוהלי האבטחה של האפליקציה היא שלך.
איך להשתמש במידע שמפורט בדף הזה
בדף הזה מפורטים הנתונים של משתמשי הקצה שנאספו באמצעות הגרסה העדכנית ביותר של ה-SDK בלבד.
כדי להשלים את הגדרת הגילוי הנאות לגבי הנתונים, אתם יכולים להיעזר במדריך של Android לגבי סוגי נתונים כדי לקבוע איזה סוג נתונים מתאר בצורה הטובה ביותר את הנתונים שנאספים. בהודעת הגילוי הנאות לגבי איסוף הנתונים, חשוב להביא בחשבון גם את האופן שבו האפליקציה הספציפית משתפת את הנתונים שנאספים ומשתמשת בהם.
ערכת ה-SDK ניגשת לנתונים ואוספת את סוג הנתונים
חבילות:
com.google.android.gms:play-services-afs-native
com.google.ads.afsn
נתונים שנאספים באופן אוטומטי
הנתונים הבאים נאספים באופן אוטומטי על ידי AFS SDK: כל הנתונים מועברים מהמכשיר אל Google לצורך הצגת מודעות, וכל הנתונים מוצפנים בזמן ההעברה. המידע האישי של המשתמש אף פעם לא נאסף, אלא אם הוא נשלח בשאילתה של המשתמש באפליקציה.
נתונים | הנתונים האלה נאספים למטרות הבאות... |
---|---|
כתובת IP |
סיכום:
כתובת ה-IP משמשת למעקב אחר תרמיות וניצול לרעה, וכן כדי להסיק את המיקום המשוער של המשתמש. אנחנו משתמשים במיקום המשוער כדי להבטיח שהמודעות יוצגו בהתאם לתקנות המקומיות וכדי לספק מודעות שרלוונטיות למיקום הגיאוגרפי המשוער של המשתמש. |
פעילות באפליקציות
|
סיכום:
האפליקציה שלכם מספקת לנו את השאילתה של המשתמש כדי שנוכל להציג מודעות לרשת החיפוש שרלוונטיות למילת המפתח. אנחנו מודדים צפיות ומעורבות (הקשות) במודעות שמוחזרות. |
אבחון |
סיכום:
ערכת ה-SDK מודדת את זמן האחזור של הרינדור של מודעות, כדי לאפשר הטמעה ומדידה של שיפורים במוצר. אנחנו גם שולחים דוחות קריסה או שגיאות, ומדי פעם מוסיפים עוד תגים לפי הצורך כדי להבין איך בעלי התוכן הדיגיטלי משתמשים בפונקציונליות. |
מכשיר או מזהים אחרים |
סיכום:
מזהה המכשיר משמש למעקב אחרי הונאות וניצול לרעה ולמדידת ביצועי המודעות. |