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

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

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

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

שיעורים

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

SearchAdView

  • הכיתה הזו יורשת את הסיווג ViewGroup של Android ומציגה את מודעות AFSMA. יחידת המודעות SearchAdView שולחת את הבקשה להצגת מודעה עם DynamicHeightSearchAdRequest, ומציגה את המודעות המוחזרות. צריך להוסיף את ה-SearchAdView לכל אחת מקבוצות התצוגה הקיימות של האפליקציה.
  • ה-SearchAdView צריך להופיע עם ההקשר שבו SearchAdView פועל, בדרך כלל Activity.
  • ברגע שנוצר ה-SearchAdView, עליכם להתקשר לשיטה setAdSize() עם AdSize.SEARCH כדי לבקש מודעות של AFSMA. ערכי Enum אחרים יבקשו מודעות שאינן תואמות ל-AFS לאפליקציות לנייד.
  • יש להפעיל את השיטה setAdUnitId() באובייקט הזה ולציין את קוד הנכס.

DynamicHeightSearchAdRequest.Builder

  • כיתה זו כוללת את הפרמטרים של הבקשות למודעות. הדבר דומה להגדרת פרמטרים באובייקטים של בקשות למודעות JavaScript (אפשרויות דף, אפשרויות יחידה) ב-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. מודעות AdSense לחיפוש (AFSMA) מוגדרות בדיוק כמו מודעות AdSense לרשת החיפוש בהתאמה אישית של AdSense לחיפוש. כדי לקבל פרטים נוספים, ניתן לעיין במידע על מודעות לרשת החיפוש בהתאמה אישית של 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());

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

ניתן להגדיר את רוב הפרמטרים של הבקשות למודעות באמצעות שיטות Setter באובייקט DynamicHeightSearchAdRequest.Builder. אם יש לכם פרמטרים של שיטות סידור ב-DynamicHeightSearchAdRequest.Builder, אפשר להגדיר אותם באמצעות צמדי מפתח/ערך בשיטה setAdvancedOptionValue(). לקבלת רשימה מלאה של ההגדרות שאפשר להגדיר בשיטה setAdvancedOptionValue(), תוכלו לעיין בחומר העזר בנושא מודעות לרשת החיפוש בהתאמה אישית של AdSense לחיפוש (AFS).

התחילית של פרמטר המפתח היא "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);
    }
});

הקבצים הקבועים בשיטת הקריאה החוזרת 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 משמשת למעקב אחר הונאות וניצול לרעה, וגם משמשת להערכה של מיקום המשתמש.

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

פעילות באפליקציות
  • צפיות בדפים והקשות באפליקציות
  • היסטוריית החיפושים בתוך האפליקציה
סיכום:
  • Analytics
  • מניעת הונאות, אבטחה ותאימות
  • פרסום או שיווק
  • התאמה אישית
פרט:
האפליקציה שלכם מספקת לנו את שאילתת המשתמש כדי שנוכל להחזיר מודעות לרשת החיפוש שרלוונטיות למילת המפתח. אנחנו מודדים צפיות ואינטראקציות עם מודעות שהוחזרו.
ניתוחים סיכום:
  • Analytics
פרטים:
ה-SDK מודד את זמן האחזור להצגת מודעות כדי לאפשר הטמעה ומדידה של שיפורי מוצרים. בנוסף, אנחנו שולחים דוחות קריסה/שגיאה ומדי פעם מוסיפים עוד אמצעים כדי להבין איך בעלי תוכן דיגיטלי משתמשים בפונקציות.
מכשיר או מזהים אחרים סיכום:
  • מניעת הונאות, אבטחה ותאימות
  • פרסום או שיווק
פרט:
מזהה המכשיר משמש למעקב אחר הונאות וניצול לרעה, וגם למדידת ביצועי מודעות.