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 בגרסה 2
חומרי מבוא מועילים
אם אתם לא מכירים את MRAID, תוכלו לקרוא מידע נוסף בדף MRAID של IAB. אפשר גם להוריד את המסמך MRAID v3 Definitions שכולל פרטים על כל הפרמטרים שמפורטים בהמשך, וגם את פוסט הבלוג של IAB בנושא MRAID v3.
פרטי ההטמעה של MRAID גרסה 3 (בטא)
ניראות – אירוע exposureChange
האירוע הזה נתמך, ומומלץ להשתמש ב-listener לאירוע exposureChange החדש במקום באירוע viewableChange שהוצא משימוש.
גם השיטה mraid.isViewable() הוצאה משימוש. ה-methods האלה הוצאו משימוש, אבל הן עדיין נתמכות כדי לשמור על תאימות לאחור.
הגדרת האירוע exposureChange נשלחת בכל פעם שתצוגת המודעה משתנה. ל-SDK יש מנגנון של בדיקת סטטוס כדי להימנע מיצירה של יותר מדי אירועים.
המצב הראשוני נשלח באופן אסינכרוני אחרי שהמודעה רושמת מאזין.
הקריאה החוזרת כוללת את הפרמטר exposed_percentage שהוא מספר נקודה צפה בין 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() |
|---|---|
| באנר | שליחת בקשה חדשה להצגת מודעה עם אותם פרמטרים של הבקשה כמו במודעה הנוכחית. |
| 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.