ערכות IMA SDK מאפשרות לשלב בקלות מודעות מולטימדיה באתרים ובאפליקציות. IMA SDKs יכולים לשלוח בקשות למודעות מכל שרת מודעות שתואם ל-VAST ולנהל את ההפעלה של המודעות באפליקציות. באמצעות IMA DAI SDK, האפליקציות שולחות בקשה לסטרימינג של מודעות ותוכן וידאו – תוכן VOD או תוכן בשידור חי. לאחר מכן, ה-SDK מחזיר זרם וידאו משולב, כך שלא צריך לנהל את המעבר בין מודעה לתוכן וידאו באפליקציה.
בחירת פתרון DAI שמעניין אתכם
DAI בשירות מלא
במדריך הזה מוסבר איך לשלב את IMA DAI SDK באפליקציית נגן וידאו פשוטה. אם רוצים לראות דוגמה לשילוב מלא או לפעול לפיה, אפשר להוריד את BasicExample מ-GitHub.
סקירה כללית על IMA DAI
הטמעה של IMA DAI כוללת ארבעה רכיבי SDK עיקריים, כפי שמוסבר במדריך הזה:
-
StreamDisplayContainer
: אובייקט מאגר שנמצא מעל רכיב הפעלת הווידאו ומכיל את רכיבי ממשק המשתמש של המודעה. -
AdsLoader
: אובייקט שמבקש נתונים של שידורים ומטפל באירועים שמופעלים על ידי אובייקטים של תגובות לבקשות שידור. צריך ליצור רק מופע אחד של הכלי לטעינת מודעות, שאפשר לעשות בו שימוש חוזר לאורך חיי האפליקציה. -
StreamRequest
: אובייקט שמגדיר בקשה להזרמת נתונים. בקשות סטרימינג יכולות להיות לווידאו על פי דרישה או לשידורים חיים. בבקשות לשידור חי מציינים מפתח נכס, ובבקשות ל-VOD מציינים מזהה CMS ומזהה סרטון. שני סוגי הבקשות יכולים לכלול אופציונלית מפתח API שנדרש כדי לגשת לסטרימינג שצוין, וקוד רשת של Google Ad Manager כדי ש-IMA SDK יטפל במזהי מודעות כמו שצוין בהגדרות של Google Ad Manager. -
StreamManager
: אובייקט שמטפל בסטרימינג של הטמעת מודעות דינמיות ובאינטראקציות עם ה-Backend של DAI. מנהל השידור מטפל גם בפינגים למעקב ומעביר אירועים שקשורים לשידור ולמודעות אל בעל התוכן הדיגיטלי.
דרישות מוקדמות
- Android Studio
- אפליקציית נגן וידאו לדוגמה לשילוב ה-SDK
הורדה והפעלה של אפליקציית נגן הווידאו לדוגמה
אפליקציית הדוגמה מספקת נגן וידאו פעיל שמפעיל סרטון HLS. המדריך הזה יכול לשמש אתכם כנקודת התחלה לשילוב היכולות של DAI ב-IMA DAI SDK.
מורידים את אפליקציית נגן הסרטונים לדוגמה ומחלצים אותה.
מפעילים את Android Studio ובוחרים באפשרות Open an existing Android Studio project (פתיחת פרויקט קיים ב-Android Studio). אם Android Studio כבר פועל, בוחרים באפשרות File > New > Import Project (קובץ > חדש > ייבוא פרויקט). אחר כך בוחרים באפשרות
SampleVideoPlayer/build.gradle
.מריצים סנכרון של Gradle על ידי בחירה באפשרות Tools > Android > Sync Project with Gradle Files.
מוודאים שאפליקציית הנגן עוברת קומפילציה ופועלת במכשיר Android פיזי או במכשיר Android וירטואלי באמצעות Run > Run 'app'. יכול להיות שיעברו כמה רגעים עד שזרם הווידאו ייטען ויתחיל לפעול.
בדיקת נגן הווידאו לדוגמה
נגן הווידאו לדוגמה עדיין לא מכיל קוד שילוב של IMA DAI SDK. אפליקציית הדוגמה מורכבת משני חלקים עיקריים:
samplevideoplayer/SampleVideoPlayer.java
: נגן HLS מבוסס ExoPlayer שמשמש כבסיס לשילוב של IMA DAI.
videoplayerapp/MyActivity.java
: הפעילות הזו יוצרת את נגן הווידאו ומעבירה לוContext
ו-media3.ui.PlayerView
.
הוספת IMA DAI SDK לאפליקציית הנגן
צריך לכלול גם הפניה ל-IMA DAI SDK. ב-Android Studio, מוסיפים את השורות הבאות לקובץ build.gradle ברמת האפליקציה, שנמצא בנתיב app/build.gradle. כדי להשתמש ב-IMA SDK, צריך להפעיל את התכונה desugaring בספרייה. כדי לעשות זאת, צריך להגדיר את coreLibraryDesugaringEnabled true
ולהוסיף את coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.5'
כתלות בקובץ build.gradle. פרטים נוספים זמינים במאמר בנושא ממשקי Java 11+ APIs שזמינים באמצעות desugaring עם מפרט nio.
שילוב של IMA DAI SDK
צריך ליצור מחלקה חדשה בשם
SampleAdsWrapper
בחבילהvideoplayerapp
(ב-app/java/com.google.ads.interactivemedia.v3.samples/videoplayerapp/
) כדי לעטוף אתSampleVideoPlayer
הקיים ולהוסיף לוגיקה שמטמיעה את IMA DAI. כדי לעשות את זה, קודם צריך ליצורAdsLoader
שמשמש לבקשת שידור DAI.קטע הקוד הזה כולל פרמטרים לדוגמה ל-HLS ול-DASH, לשידורים חיים ולשידורי VOD. כדי להגדיר את השידור שיופעל, מעדכנים את המשתנה
CONTENT_TYPE
.יוצרים
createSampleVideoPlayerCallback()
helper method כדי לטפל ביצירה של מופע של ממשקSampleVideoPlayerCallback
שמרחיב אתVideoStreamPlayer.VideoStreamPlayerCallback
.כדי לעבוד עם DAI, הנגן צריך להעביר אירועי ID3 אל IMA DAI SDK. השיטה
callback.onUserTextReceived()
עושה את זה, כמו שרואים בדוגמה הבאה של קוד.מוסיפים שיטת
buildStreamRequest()
כדי ליצור אתSteamRequest
. בשיטה הזו, המערכת עוברת בין זרמים שונים בהתאם להגדרה של המשתנהCONTENT_TYPE
. שידור ברירת המחדל שמשמש במדריך הזה הוא שידור HLS של VOD לדוגמה של IMA.צריך גם
VideoStreamPlayer
כדי להפעיל את הסטרימינג, לכן מוסיפים שיטה שלcreateVideoStreamPlayer()
שיוצרת מחלקה אנונימית שמטמיעהVideoStreamPlayer
.מטמיעים את מאזיני החובה ומוסיפים תמיכה בטיפול בשגיאות.
שימו לב להטמעה של
AdErrorListener
, כי היא קוראת לכתובת URL חלופית אם הצגת המודעות נכשלת. מכיוון שהתוכן והמודעות נמצאים בשידור אחד, צריך להיות מוכנים להפעיל שידור חלופי אם מתרחשת שגיאה בשידור DAI.מוסיפים קוד לרישום ביומן.
משנים את
MyActivity
ב-videoplayerapp
כדי ליצור מופע שלSampleAdsWrapper
ולהתקשר אליו. בנוסף, מתקשרים אלImaSdkFactory.initialize()
כאן באמצעות שיטת עזר כדי ליצור מופעImaSdkSettings
.מוסיפים את שיטת העזר
getImaSdkSettings()
כדי ליצור מופעImaSdkSettings
.משנים את קובץ הפריסה של הפעילות
activity_my.xml
כדי להוסיף רכיבי ממשק משתמש לרישום ביומן.
מזל טוב! מעכשיו, מודעות הווידאו מוצגות באפליקציית Android שלכם. כדי לשפר את ההטמעה, אפשר לעיין במאמרים בנושא סימניות, Snapback ומסמכי ה-API.
פתרון בעיות
אם נתקלתם בבעיות בהפעלת מודעת וידאו, נסו להוריד את BasicExample המלא. אם הוא פועל כמו שצריך ב-BasicExample, סביר להניח שיש בעיה בקוד השילוב של IMA באפליקציה.
אם הבעיות נמשכות, אפשר להיכנס לפורום בנושא IMA SDK.