פתיחת המדידה ב-IMA SDK

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.4, בתוספים של GAM AdVerifications ב-VAST 2 ואילך ובצומת AdVerifications ב-VAST 4 ואילך. כדי ליהנות מהיתרונות של Open Measurement, חשוב לזכור את הנקודות הבאות:

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

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

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

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

בדיקה

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

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

רישום של חסימות שכבת-על של פקדי וידאו

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

בהמשך מופיעה דוגמה לפקדי וידאו שמוצגים באפליקציית YouTube:

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

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

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

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

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

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

UIView *myTransparentTapOverlay = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 250)];
UIButton *myPauseButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 50, 10)];
// Substitute "myTransparentTapOverlay" and "myPauseButton" with the elements
// you want to register as video controls 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];

כשמסיימים להשתמש בהם, אפשר להסיר את החסימות האלה באמצעות הקריאה ל-method הבא:

[displayContainer unregisterAllFriendlyObstructions];