הזרקת פרסומות בצד הלקוח (CSAI) עם ניתוח סמני SCTE-35 ושילוב נגן מרובה פלטפורמות
פלטפורמת הזרמת וידאו נזקקה ליישם הזרקת פרסומות בצד הלקוח (CSAI) על פני יישומי אינטרנט, מובייל וטלוויזיות חכמות — המאפשרת חוויות פרסום מותאמות אישית ברמת המכשיר עם תמיכה מלאה באינטראקציה עם פרסומות (שכבות-על ניתנות ללחיצה, באנרים נלווים, כפתורי דילוג) שאותן הזרקה בצד השרת אינה יכולה לספק.
דון בפרויקט שלך
האתגר
הפלטפורמה השתמשה בעבר באופן בלעדי ב-SSAI (server-side ad insertion), שטיפלה היטב במונטיזציה אך היו לה מגבלות משמעותיות עבור חוויות פרסום אינטראקטיביות:
- פרסומות שהוצמדו באמצעות SSAI לא יכלו לתמוך בשכבות-על ניתנות ללחיצה, באנרים נלווים או יחידות פרסום אינטראקטיביות
- חוסר יכולת לעקוב אחר אירועי פרסום בצד הלקוח (התקדמות רבעונית, נראות, click-through) הנדרשים על ידי רוכשי פרסומות פרימיום
- פלטפורמות טלוויזיות חכמות (Roku, Fire TV, Apple TV) ציפו ל-CSAI עבור מסגרות הפרסום המקוריות שלהן ודרישות ההסמכה
- סמני SCTE-35 בקבצי manifest מסוג HLS/DASH נדרשו לניתוח בצד הלקוח, אך כל Player SDK טיפל באירועי cue באופן שונה
- ניהול צבירי פרסומות (מילוי הפסקות פרסומות מרובות-חריצים במספר פרסומות) דרש תזמור בצד הלקוח
- זיהוי חוסמי פרסומות ולוגיקת חלופות נדרשו כדי להגן על ההכנסות בפלטפורמות אינטרנט
- טעינה מוקדמת של פרסומות ללא הפרעה למאגר התוכן דרשה ניהול מחזור חיים זהיר של הנגן
הפתרון שלנו
בנינו framework חוצה פלטפורמות ל-CSAI עם שכבת תזמור פרסומות מאוחדת המנתחת סמני SCTE-35 מקבצי manifest מסוג HLS/DASH, מתקשרת עם שרתי פרסומות VAST/VMAP, ומנהלת את מחזור החיים של הפעלת הפרסומות על פני אינטרנט (Video.js/Shaka), iOS (AVPlayer), Android (ExoPlayer), ונגני טלוויזיות חכמות.
ארכיטקטורה
- אספקת תוכן: זרמי HLS/DASH עם סמני SCTE-35 דרך AWS MediaPackage + CloudFront
- שרת החלטות פרסומות: Google Ad Manager (GAM) / SpotX עם תמיכה ב-VAST 4.2 ו-VMAP
- נגן אינטרנט: Video.js עם מנתח SCTE-35 cue מותאם אישית ושילוב Google IMA SDK
- נגן iOS: AVPlayer עם listener מסוג
AVDateRangeMetadataGroupו-IMA iOS SDK - נגן Android: ExoPlayer עם listener מסוג
MetadataOutputו-IMA Android SDK - טלוויזיות חכמות: נגנים מקוריים לפלטפורמה (Roku RAF, Fire TV IMA, Apple TV AVKit) עם מתאמי ad framework
- ניתוח פרסומות: pipeline אירועים מותאם אישית למעקב אחר חשיפות, רבעונים, השלמה, לחיצות ונראות
- חלופה (Fallback): אספקת פרסומות בית/לוח כשמילוי פרסומות אינו זמין או כאשר מזוהה חוסם פרסומות
ניתוח SCTE-35 בצד הלקוח
סמני HLS Manifest
אותות SCTE-35 מופיעים בקבצי HLS manifests בשני פורמטים, שניהם מנותחים על ידי הלקוח:
EXT-X-DATERANGE (HLS v7+)- הנגן מאזין לתגי
#EXT-X-DATERANGEעם attributes מסוגSCTE35-OUTו-SCTE35-IN - ה-attributes כוללים
PLANNED-DURATIONעבור אורך הפסקת הפרסומת ו-IDעבור קורלציית אירועים - פורמט מועדף עבור נגנים מודרניים (AVPlayer, ExoPlayer, Shaka)
#EXT-X-CUE-OUT:DURATION=<seconds>מציין את תחילת הפסקת הפרסומת#EXT-X-CUE-INמציין חזרה לתוכן- נתמך עבור תאימות לאחור עם נגנים ומקודדים ישנים יותר
סמני DASH Manifest
- אותות SCTE-35 מופיעים כאלמנטי
<EventStream>ב-DASH MPD עםschemeIdUri="urn:scte:scte35:2013:xml" - אלמנטי
<Event>מכיליםpresentationTime,duration, ו-payload בינארי של SCTE-35 מקודד base64 - Shaka Player ו-ExoPlayer מנתחים אותם באופן טבעי באמצעות ממשקי ה-API של ה-event listener שלהם
זרימת עיבוד הסמנים
- זיהוי — ה-metadata listener של הנגן מזהה אירוע SCTE-35 cue במהלך ניתוח ה-manifest
- חילוץ — משך ההפסקה, מזהה האירוע וסוג הסגמנטציה מחולצים מהסמן
- בקשת פרסומת — בקשת VAST/VMAP נשלחת לשרת החלטות הפרסומות עם פרמטרי טרגטינג (מזהה תוכן, ז'אנר, סוג מכשיר, פלח משתמשים, מיקום גיאוגרפי)
- תכנון צביר פרסומות — תגובת הפרסומת מנותחת לבניית צביר פרסומות (רשימה מסודרת של קריאייטיבים של פרסומות הממלאות את משך ההפסקה)
- טעינה מוקדמת — קריאייטיבים של פרסומות נטענים מראש במהלך הפעלת התוכן כדי למנוע השהיה בתחילת הפסקת הפרסומת
- השהיה ומעבר — הפעלת התוכן מושהית בנקודת ה-cue, הנגן עובר להפעלת פרסומות
- הפעלת פרסומות — פרסומות מוצגות ברצף עם מעקב רבעוני, הצגת באנר נלווה וטיפול ב-click-through
- חידוש — לאחר השלמת ה-pod, הפעלת התוכן מתחדשת מהפריים המדויק שלאחר נקודת ה-cue
יישומים ספציפיים לפלטפורמה
אינטרנט (Video.js + IMA SDK)
- פלאגין Video.js מותאם אישית מיירט metadata מסוג
#EXT-X-DATERANGEבאמצעות אירועי שינוי cue שלtextTrack - Google IMA HTML5 SDK מנהל בקשות פרסומות VAST, הפעלת פרסומות ורינדור באנרים נלווים
- שכבת-על של מיכל הפרסומות ממוקמת מעל אלמנט הוידאו לתמיכה ב-click-through וכפתור דילוג
- זיהוי חוסם פרסומות באמצעות בקשת canary — חוזר לפרסומות בית או חידוש תוכן בזיהוי
- תמיכה ב-preroll, midroll ו-postroll באמצעות VMAP או תזמון נקודות cue ידני
iOS (AVPlayer + IMA SDK)
AVPlayerItem.navigationMarkerGroupsו-AVDateRangeMetadataGroupמשמשים לזיהוי SCTE-35 cues- ה-delegate מסוג
AVPlayerItemMetadataOutputמופעל בכל אירוע cue עם תזמון ו-payload מנותחים - Google IMA iOS SDK מטפל בבקשת VAST והפעלת פרסומות במופע
AVPlayerנפרד - תמונה-בתוך-תמונה (PiP) מושהית במהלך הפסקות פרסומות לפי מדיניות הפרסומות של הפלטפורמה
- טיפול באודיו ברקע — פרסומות אינן מתנגנות במצב רקע
Android (ExoPlayer + IMA SDK)
Player.Listener.onMetadata()עםMetadataOutputלוכד אירועי SCTE-35 מ-HLS/DASH- Google IMA Android SDK משולב באמצעות הרחבת
ImaAdsLoaderשל ExoPlayer - הפעלת פרסומות משתמשת ב-
MediaSourceנפרד כדי למנוע זיהום מאגר התוכן - מטפל במחזור החיים של Activity — מצב הפרסומת נשמר על פני שינויי תצורה והעברה לרקע
- Android TV ומובייל חולקים את אותה לוגיקת פרסומות עם התאמות ברמת ממשק המשתמש
פלטפורמות טלוויזיות חכמות
Roku (RAF — Roku Ad Framework)- ספריית ה-RAF המקורית של Roku מנתחת סמני SCTE-35 מקבצי HLS manifests באופן ישיר
RAF.setAdUrl()מוגדר עם VAST endpoint; RAF מטפל בבקשת פרסומות, בניית pod והפעלה- תמיכה בפרסומות נלוות באמצעות ה-callbacks מסוג
renderStitchedAdו-renderTrackingEventשל RAF - הסמכת Roku דורשת שימוש ב-RAF — נגני פרסומות מותאמים אישית נדחים במהלך סקירה
- משתמש ביישום Android ExoPlayer + IMA SDK המותאם לממשק המשתמש Leanback של Fire TV
- ניווט באמצעות D-pad עבור כפתור דילוג ו-click-through "למד עוד" על גבי שכבות-על של פרסומות
- Fire TV Ad ID משמש לטרגוט פרסומות בבקשות VAST
AVPlayerViewControllerעםinterstitialTimeRangesעבור מחווני ממשק משתמש מקוריים של הפסקות פרסומות- SCTE-35 cues מנותחים באמצעות
AVPlayerItemMetadataCollector - הפעלת פרסומות מנוהלת ב-
AVQueuePlayerנפרד להפרדה נקייה בין תוכן לפרסומות - מטפל לחיצות בשלט tvOS עבור אלמנטים אינטראקטיביים של פרסומות
ניהול צבירי פרסומות
- מילוי Pod — מספר פרסומות VAST מורכבות יחד למילוי משך ההפסקה המסומן
- Waterfall — אם שרת הפרסומות הראשי מחזיר "no-fill", מקורות דרישה משניים/שלישוניים נשלפים ברצף
- התאמת משך זמן — בונה ה-pod בוחר שילובי פרסומות המתאימים למשך ההפסקה (סובלנות של ±0.5 שניות)
- ביטול כפילויות — אותו קריאייטיב של פרסומת לא מוצג פעמיים ב-pod אחד
- הגבלת תדירות — הגבלות לכל משתמש, לכל סשן נאכפות בצד הלקוח כדי למנוע עייפות מפרסומות
- Bumpering — קריאייטיבים קצרים של bumper ("נחזור מיד" / "ברוכים השבים") עוטפים צבירי פרסומות
מעקב וניתוח אירועי פרסומות
- אירועי VAST סטנדרטיים —
impression,start,firstQuartile,midpoint,thirdQuartile,complete,skip,clickThrough - נראות (Viewability) — פיקסלי MOAT/IAS viewability מופעלים בהתבסס על נראות אזור התצוגה של הפרסומת וספי משך זמן
- אירועים מותאמים אישית — אירועים ברמת האפליקציה (תחילת/סיום הפסקת פרסומות, קצב מילוי pod, תזמון טעינה מוקדמת, הפעלת fallback)
- Server Pipeline — הלקוח שולח אירועים ל-event collector קל משקל, אשר מפיץ אותם ל-GAM, MOAT, ולמחסן הנתונים האנליטי הפנימי
- התאמה (Reconciliation) — התאמת לוגים בצד השרת עם אירועים בצד הלקוח לזיהוי אי-התאמות
טיפול בחוסמי פרסומות (אינטרנט)
- זיהוי — בקשת VAST canary לדומיין פרסומות ידוע; פסק זמן או חסימה מצביעים על חוסם פרסומות
- אסטרטגיית חלופה — הצגת פרסומות בית או טריילרים קידומיים מדומיין CDN צד ראשון
- שעור תוכן — שער רך אופציונלי: הנחיית המשתמש להוסיף את האתר לרשימה הלבנה לפני הפעלת התוכן
- אנליטיקה — קצב זיהוי חוסמי פרסומות עוקב אחרי דפדפן, מיקום גיאוגרפי ועמוד
תכונות מפתח
- CSAI חוצה פלטפורמות — הזרקת פרסומות מאוחדת על פני אינטרנט, iOS, Android, Roku, Fire TV ו-Apple TV
- ניתוח SCTE-35 בצד הלקוח — ניתוח HLS
EXT-X-DATERANGE,CUE-OUT/IN, ו-DASHEventStream - פרסומות אינטראקטיביות — שכבות-על ניתנות ללחיצה, באנרים נלווים וכפתורי דילוג בכל הפלטפורמות
- תזמור צבירי פרסומות — מילוי הפסקות מרובות פרסומות עם waterfall, התאמת משך זמן וביטול כפילויות
- טעינה מוקדמת — קריאייטיבים של פרסומות נטענים מראש במהלך הפעלת תוכן למעברי פרסומות ללא השהיה
- מעקב נראות — שילוב MOAT/IAS עבור דרישות נראות של רוכשי פרסומות פרימיום
- עמידה בתקנים של טלוויזיות חכמות — שילובי Roku RAF, Fire TV IMA ו-Apple TV AVKit העומדים בדרישות ההסמכה
- עמידות בפני חוסמי פרסומות — זיהוי וחלופה לפרסומות בית צד ראשון באינטרנט
תוצאות
מחסנית טכנולוגית
caseStudyDetail.more מקרי בוחן
גלה עוד מהיישומים הטכניים שלנו
צינור איתות לסמני פרסומות SCTE-35 והכנסת טריילרים למדיה
חברת מדיה סטרימינג נזקקה לצינור עבודה אוטומטי ויציב להזרקת סמני פרסומות SCTE-35 לזרמי שידור חי ו-VOD, יחד עם היכולת להכניס טריילרים פרסומיים (pre-roll, mid-roll, ו-post-roll) במיקומים מדויקים בזמן — מה שמאפשר מונטיזציה בערוצי FAST, אירועים חיים, וספריות תוכן לפי דרישה.
שירותי המדיה של AWS להזרמת ערוצי FAST על גבי SRT
חברת מדיה נדרשה להקים ערוצי תרומה (contribution feeds) אמינים ובעלי השהיה נמוכה עבור ערוצי ה-FAST שלהם, תוך שימוש בפרוטוקול Secure Reliable Transport (SRT) — מה שאפשר קליטת תוכן באיכות גבוהה מאולפנים מרוחקים, מערכות cloud playout, ושותפי syndication על גבי חיבורי אינטרנט בלתי צפויים.
שאלות נפוצות
MicrocosmWorks הטמיעה מנתח manifest שמחלץ תגיות EXT-X-DATERANGE המכילות נתוני SCTE-35 splice_info_section מקודדים ב-base64, מפענח את פקודות ה-splice, ומפעיל את בקשת ה-ad decision request לשרת הפרסומות VAST/VMAP עם משך ה-break duration המתאים. המנתח מטפל הן בסוגי פקודות time_signal והן ב-splice_insert על פני קבצי manifest של שידורים חיים (live) ו-VOD.
MicrocosmWorks בנתה SDK משותף להצגת פרסומות עם מתאמים ספציפיים לפלטפורמה עבור AVPlayer ב-iOS, ExoPlayer ב-Android, hls.js ב-web, ונגנים מקוריים ב-Roku ו-Fire TV. ה-SDK מנרמל אירועי מחזור חיי הפרסומת כמו impression, quartile tracking, ו-completion בכל הפלטפורמות, מה שמבטיח דיווח מאוחד ללא קשר למכשיר ההפעלה.
MicrocosmWorks יישמה אסטרטגיית timeout ו-fallback, שבה הנגן ממתין מקסימום 3 שניות לתגובה מ-ad server לפני שמנגן מסך ברירת מחדל או מדלג לקטע התוכן הבא. ה-SDK גם מבצע pre-fetching עבור תגובות VAST של הפסקות פרסומות קרובות במהלך הצגת התוכן, כדי למזער latency בנקודת המעבר בפועל.
MicrocosmWorks שילבה את Open Measurement SDK (OM SDK) לאימות נראות התואם ל-MOAT, IAS, ו-DoubleVerify, ויישום המעקב עוקב אחר מפרטי IAB VAST 4.2 לספירת חשיפות ואירועי רבעונים. המערכת תומכת גם בהנחיות המדידה של תבנית הגשת מודעות וידאו של IAB לדיווח מדויק על שיעור השלמת מודעות.
MicrocosmWorks מספקת יישומי טכנולוגיות פרסום בתעריפים של $30-$50/hr, כאשר מערכת CSAI מלאה הכוללת ניתוח SCTE-35, אינטגרציית VAST/VMAP, ו-SDKs נגנים מרובי-פלטפורמות עבור iOS, Android, web, ו-CTV דורשת בדרך כלל 600-900 שעות פיתוח. כל מתאם פלטפורמה נוסף מוסיף כ-80-120 שעות ליישום הבסיסי.
מוכן לשנות את העסק שלך?
בואו נדון כיצד נוכל ליישם פתרונות דומים לאתגרים שלך.