מודעות Rich Media לנייד

Google Mobile Ads SDK תומך עכשיו בגרסת הבטא של MRAID v3, שמבוססת על התמיכה הקיימת ב-MRAID v2. כך מפרסמים יכולים להציג נכסי קריאייטיב של MRAID v3 לבעלי תוכן דיגיטלי ב-Ad Manager. המדריך הזה מבהיר את פרטי ההטמעה של MRAID שלא היו ברורים וניתנים לפרשנויות במפרט של MRAID v3. היעד שלו הוא יוצרים של קריאייטיב ב-MRAID v3.

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

בעלי תוכן דיגיטלי צריכים להפעיל:

  • Google Play Services מגרסה 15.0.0 ואילך עבור MRAID v3
  • Google Play Services מגרסה 7.8 ואילך עבור MRAID v2

מדריכים מועילים

אם אתם לא מכירים את MRAID, תוכלו לקרוא מידע נוסף בדף של IAB MRAID. אפשר גם להוריד את המסמך MRAID v3 Definitions, שמספק פרטים על כל הפרמטרים שמפורטים בהמשך, וגם את פוסט הבלוג של IAB בנושא MRAID v3.

פרטי הטמעה של MRAID v3 (בטא)

ניראות – אירוע exposureChange

האירוע הזה נתמך, ומומלץ להשתמש ב-listener לאירוע החדש exposureChange במקום באירוע viewableChange שהוצא משימוש. גם השיטה mraid.isViewable() הוצאה משימוש. עם זאת, אנחנו ממשיכים לתמוך בשיטות האלה כדי לשמור על תאימות לאחור.

הגדרת האירוע exposureChange נשלחת בכל פעם שמשך הצגת המודעה משתנה. ל-SDK יש מנגנון סקירה כדי למנוע יצירת יותר מדי אירועים. המצב הראשוני נשלח באופן אסינכרוני אחרי שהמודעה רושמת מאזין. הקריאה החוזרת כוללת את הפרמטר exposed_percentage שהוא מספר נקודה צפה (floating-point) בין 0.0 לבין 100.0.

במפרט של MRAID גרסה 3 מפורט דוגמה לשימוש.

זיהוי והפעלה של MRAID ומאפייני MRAID_ENV

ה-SDK עומד בפרוטוקול האיפוס כפי שמוגדר במפרט MRAID v3.

באובייקט MRAID_ENV, ה-SDK לא שולח את הערכים IDFA,‏ limitAdTracking, מזהה האפליקציה או COPPA (שאינם חובה). הוא מספק את כל המשתנים הנדרשים באובייקט MRAID_ENV, כולל גרסת MRAID, שם ה-SDK וגרסת ה-SDK.

מדידת ניראות

הוספנו אירוע חדש (audioVolumeChange) כדי לזהות אם אפשר לשמוע את האודיו ומתי עוצמת הקול משתנה.

לאירוע audioVolumeChange יש פרמטר אחד: volume_percentage. הערך הוא האחוז של עוצמת הקול המקסימלית של הפעלת האודיו. זהו מספר נקודה צפה (floating-point) בין 0.0 לבין 100.0 (0.0 כשהפעלה אסורה) או null אם לא ניתן לקבוע את עוצמת הקול.

במפרט של MRAID גרסה 3 מפורט דוגמה לשימוש.

mraid.getLocation()

מכיוון שאין תמיכה ב-mraid.getLocation(), תמיד מוחזר הערך -1.

mraid.unload()

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

כשהקריאייטיב קורא ל-unload(), השכבה המקורית מגיבה באופן הבא לסוגים השונים של נכסי הקריאייטיב:

סוג ההתנהגות של unload()‎
Banner שולחים בקשה חדשה להצגת מודעה עם אותם פרמטרים של הבקשה כמו במודעה הנוכחית.
מודעות Interstitial סוגרים את המודעות המעבריות.

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

‏Google Mobile Ads SDK לא תומך ב-VPAID. הפונקציה mraid.supports('vpaid') מחזירה את הערך false.

mraid.useCustomClose()

יכול להיות שלא תהיה תמיכה ב-mraid.useCustomClose(), בהתאם לפורמט ולסוג הקריאייטיב.

פרטי הטמעה של MRAID v2

mraid.getVersion()

הפונקציה mraid.getVersion() לא מחזירה את הערך 2.0 עד שהקריאייטיב נטען. אין לבדוק את גרסת MRAID בזמן ש-mraid.getState() מחזיר את הערך loading.

mraid.resize()

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

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

mraid.setResizeProperties()

כל הקריאות ל-mraid.setResizeProperties() צריכות לכלול רשימה מלאה של המאפיינים הנדרשים. אם מאפייני שינוי הגודל לא תקינים, הם יוגדרו שוב לערכי ברירת המחדל וכל הקריאות הבאות ל-mraid.resize() ייכשל עד ש-mraid.setResizeProperties() תתקבל שוב עם פרמטרים תקינים.

mraid.getMaxSize()

יש להשתמש ב-mraid.getMaxSize() רק כדי לקבוע את הגודל המקסימלי של מודעות שהותאמו. כדי לקבוע את הגודל של מודעה מתרחבת, משתמשים ב-mraid.getScreenSize().

mraid.setOrientationProperties()

כשקוראים לפונקציה mraid.setOrientationProperties() עם המאפיין allowOrientationChange מוגדר ל-true, הגדרת המאפיין forceOrientation לא תעשה כלום. בקריאייטיבים שרוצים לאלץ את הכיוון, צריך להגדיר את הערך של allowOrientationChange ל-false.

mraid.isViewable()

אם צפייה מכסה מודעה שגלויה בדרך אחרת, הפונקציה mraid.isViewable() עדיין תחזיר את הערך true. תוכן האפליקציה לא יכול לכסות מודעות גלויות.

mraid.getCurrentPosition()

כשמודעה מורחבת בשני חלקים נמצאת במצב מורחב, קריאה ל-mraid.getCurrentPosition() בחלק הראשון תחזיר את גודל המסך.

mraid.storePicture()

כדי שאפליקציה תתמוך ב-mraid.storePicture(), היא צריכה לכלול את ההרשאה android.permission.WRITE_EXTERNAL_STORAGE.