הטמעת AFSMA לאפליקציות לנייד (AFSMA) ל-Android

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

מדריך ההטמעה הזה מבוסס על ההנחה שאתם מכירים את:

שיעורים

כדי להציג באפליקציה מודעות AFSMA (שנקראות גם מודעות דינמיות לרשת החיפוש בגובה רב): להטמיע את הסוגים הבאים:

SearchAdView

  • הכיתה הזו יורשת מהכיתה ViewGroup של Android ומציג את מודעות AFSMA. נשלחה על ידי SearchAdView בקשה להצגת מודעה עם נכס DynamicHeightSearchAdRequest ומעבד את המודעות שהוחזרו. צריך להוסיף את המאפיין SearchAdView לכל אחת מקבוצות התצוגה המפורטת הקיימות של האפליקציה.
  • SearchAdView צריך ליצור מופע עם ההקשר ש-SearchAdView פועל בו, בדרך כלל Activity.
  • אחרי שיוצרים את ה-SearchAdView, צריך לקרוא ל-method setAdSize() עם 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 מודדת את זמן האחזור של הרינדור של מודעות, כדי לאפשר הטמעה ומדידה של שיפורים במוצר. אנחנו גם שולחים דוחות קריסה או שגיאות, ומדי פעם מוסיפים עוד תגים לפי הצורך כדי להבין איך בעלי התוכן הדיגיטלי משתמשים בפונקציונליות.
מכשיר או מזהים אחרים סיכום:
  • אבטחה, תאימות ומניעת הונאות
  • פרסום או שיווק
פרטים:
מזהה המכשיר משמש למעקב אחרי הונאות וניצול לרעה ולמדידת ביצועי המודעות.