הפעלת Open Measurement

בחר פלטפורמה: HTML5 Android iOS

‫IMA SDK ל-iOS כולל את Open Measurement (OM) SDK, שהוא תקן בתחום שפותח על ידי Interactive Advertising Bureau (IAB) כדי לאפשר מדידה של ניראות ואימות על ידי צד שלישי. בעת שימוש ב-IMA SDK עבור iOS, OM SDK הכלול מנתח אוטומטית את התג <AdVerifications> בתוך תגי מודעות VAST ושולח נתוני נראות לספקי המדידה שצוינו באמצעות OMID API. ערכת IMA SDK תומכת ב-OM SDK גרסה 1.6, בתוספים של GAM AdVerifications ב-VAST 2 ומעלה, ובצומת AdVerifications ב-VAST 4 ומעלה.כדי להשתמש ב-Open Measurement, חשוב לזכור את הנקודות הבאות:

  • כדי להשתמש ב-Open Measurement, צריך להשתמש בגרסה 3.9.0 ואילך של IMA SDK ל-iOS.

  • אם משתמשים ב-VAST 4.1 ומעלה, צריך להגדיר את המודעות כך שהתנועה תועבר <AdVerifications> בתג VAST שלהן בהתאם למפרט של VAST 4.1. אחרת, צריך להשתמש ב-<Extension type="AdVerifications">.

  • חשוב להימנע מכיסוי של AdDisplayContainer בשכבות-על (שקופות או אטומות), כי הן יסומנו כהפרעות על ידי OM SDK ויפחיתו את שיעור הצפייה.

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

בדיקה

כדי לבדוק את Open Measurement באמצעות IMA SDK, צריך להשתמש בגרסה של IMA שתומכת ב-OM SDK, יחד עם תג בדיקה של מודעה.

התגובה של VAST אמורה להכיל את הערך <AdVerifications>.

רישום של חסימות בשכבת-העל של אמצעי הבקרה של הסרטון

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

דוגמה לפקדי וידאו שמוצגים בשכבת-על מופיעה בתמונה הבאה בקטע בנושא פקדי עיבוד באפליקציית YouTube:

דוגמה לתמונה של שכבת-על למדידה

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

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

ה-SDK של Open Measurement מספק אמצעים שמאפשרים להתייחס לרכיבי בקרה של סרטונים כאל חסימות 'ידידותיות' שחיוניות לחוויית המשתמש. אחרי שהם נרשמים כידידותיים, אמצעי הבקרה האלה לא נכללים במדידת מידת החשיפה של המודעות.

ערכת IMA SDK כוללת API לרישום שכבות-על כאלה ב-Open Measurement SDK, עם תמיכה ב-IAB וב-MRC. אמצעי הבקרה האלה צריכים להיות שכבות-על שקופות לחלוטין או לחצנים קטנים. אין לרשום צפיות אחרות שלא קשורות לאמצעי הבקרה של הסרטון.

כן, אני רוצה להירשם לא לרשום
  • שכבת-על שקופה לתיעוד הקשות של המשתמשים
  • כפתורים זמניים
    • השהיה
    • הפעלה
    • מסך מלא
    • Cast/AirPlay
    • כיווץ
    • התקדמות/חיפוש
    • פעולות רלוונטיות אחרות להפעלה
  • סימני מים
  • חלונות קופצים
  • תיבות דו-שיח
  • לחצנים לא זמניים
  • תצוגות אחרות של הסתרת נתונים

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

UIView *myTransparentTapOverlay = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 250)];
UIButton *myPauseButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 50, 10)];
// Replace myTransparentTapOverlay and myPauseButton with your own elements
// that function as video control overlays.
// Make sure to register before ad playback starts.
IMAFriendlyObstruction *overlayObstruction =
   [[IMAFriendlyObstruction alloc] initWithView:myTransparentTapOverlay
                                          purpose:IMAFriendlyObstructionPurposeNotVisible
                                 detailedReason:@"This overlay is transparent"];
IMAFriendlyObstruction *pauseButtonObstruction =
   [[IMAFriendlyObstruction alloc] initWithView:myPauseButton
                                          purpose:IMAFriendlyObstructionPurposeMediaControls
                                 detailedReason:@"This is the video player pause button"];

[displayContainer registerFriendlyObstruction:overlayObstruction];
[displayContainer registerFriendlyObstruction:pauseButtonObstruction];

לאחר שתסיים איתם, ניתן להסיר את המכשולים הללו על ידי קריאה לשיטה הבאה:

Objective-C

- (void)unregisterObstructionsForContainer:(IMAAdDisplayContainer *)displayContainer {
    // This removes all previously registered friendly obstructions from the container.
    [displayContainer unregisterAllFriendlyObstructions];
}

Swift

func unregisterObstructions(displayContainer: IMAAdDisplayContainer) {
  // This removes all previously registered friendly obstructions from the container.
  displayContainer.unregisterAllFriendlyObstructions()
}