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

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

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

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

  • ‫Google Mobile Ads SDK ל-iOS בגרסה 7.30.0 ואילך ל-MRAID v3
  • ‫Google Mobile Ads SDK ל-iOS בגרסה 7.4.0 ואילך ל-MRAID v2

חומרי מבוא מועילים

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

פרטי הטמעה של MRAID גרסה 3 (בטא)

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

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

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

דוגמאות לשימוש זמינות במפרט MRAID v3.

זיהוי ואתחול של 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 v3.

mraid.getLocation()

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

mraid.unload()

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

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

סוג התנהגות של unload()‎
באנר שליחת בקשה חדשה להצגת מודעה עם אותם פרמטרים של הבקשה כמו במודעה הנוכחית.
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.supports()

החל מגרסת SDK‏ 7.11.0, הפונקציות mraid.supports("storePicture") ו-mraid.supports("calendar") תמיד מחזירות false. בהתאם למפרט MRAID v2, פריטי קריאייטיב צריכים להיות מסוגלים לטפל במקרים שבהם השיטות האלה לא זמינות.

mraid.storePicture()

האפליקציה מבקשת אוטומטית הרשאה לשמור תמונה כשקריאייטיב MRAID קורא ל-mraid.storePicture().