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

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

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

  • פרוטוקול של הטמעת מודעות לרשת החיפוש בהתאמה אישית (CSA) ב-AdSense לחיפוש (AFS)
  • פיתוח אפליקציות ל-Android
  • שיוך SDK של מודעות Google לנייד עבור Android (כיום הוא חלק מ-Google Play Services) אל פרויקט Android Studio. נדרשת גרסה 9.0.0 של Google Play Services.

מחלקות

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

SearchAdView

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

// 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 באמצעות צמדי מפתח/ערך באמצעות method setAdvancedOptionValue(). לקבלת רשימה מלאה של ההגדרות שניתן להגדיר באמצעות השיטה setAdvancedOptionValue(), קראו את חומר העזר בנושא מודעות מותאמות אישית של AdSense לחיפוש.

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