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

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

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

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

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

אם אתם לא מכירים את 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()

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

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

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

‫VPAID (Video Player Ad Interface Definition)

‫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.