פלטפורמת Google Mobile Ads SDK תומכת עכשיו בגרסת בטא של MRAID v3, שמבוססת על התמיכה הקיימת ב-MRAID v2. התמיכה הזו מאפשרת למפרסמים להציג קריאייטיבים של MRAID v3 לבעלי תוכן דיגיטלי ב-Ad Manager. במדריך הזה מוסברים פרטי ההטמעה של MRAID שלא היו ברורים וניתן היה לפרש אותם בכמה דרכים במפרט של MRAID v3. המדריך מיועד ליוצרים של קריאייטיבים ב-MRAID v3.
דרישות מוקדמות
בעלי האתרים צריכים להפעיל:
- גרסה 15.0.0 ומעלה של Google Play Services ל-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() הוצאה משימוש. עם זאת, אנחנו ממשיכים לתמוך ב-methods האלה שהוצאו משימוש כדי לשמור על תאימות לדורות קודמים.
הגדרת האירוע exposureChange נשלחת בכל פעם שתצוגת המודעה משתנה. ל-SDK יש מנגנון סקרים כדי להימנע מיצירת יותר מדי אירועים.
המצב הראשוני נשלח באופן אסינכרוני אחרי שהמודעה רושמת מאזין.
הקריאה החוזרת כוללת את הפרמטר exposed_percentage, שהוא מספר נקודה צפה (floating-point) בין 0.0 ל-100.0.
במפרט של MRAID v3 מופיעות דוגמאות לשימוש.
זיהוי ואתחול של MRAID ומאפייני MRAID_ENV
ה-SDK תואם לפרוטוקול ההפעלה כפי שמוגדר במפרט של MRAID גרסה 3.
באובייקט 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 יגיב בסגירת המודעה, בהקצאה מחדש של המשאבים, ואז בהסרה של ה-WebView או בהחלפה שלו במסמך אחר או במודעה חדשה.
כשהקריאייטיב קורא ל-unload(), השכבה המקורית מגיבה באופן הבא לסוגי הקריאייטיב השונים:
| סוג | ההתנהגות של unload() |
|---|---|
| Banner | שולחים בקשה חדשה להצגת מודעה עם אותם פרמטרים של הבקשה כמו במודעה הנוכחית. |
| מעברון | סוגרים את המודעה. |
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.