ערכות IMA SDK מאפשרות לשלב בקלות מודעות מולטימדיה באתרים ובאפליקציות. IMA SDK יכול לשלוח בקשות למודעות מכל שרת מודעות שתואם ל-VAST ולנהל את ההפעלה של המודעות באפליקציות שלכם. באמצעות ערכות IMA DAI SDK, האפליקציות שולחות בקשה לסטרימינג של מודעות ותוכן וידאו – תוכן VOD או תוכן בשידור חי. לאחר מכן, ה-SDK מחזיר זרם וידאו משולב, כך שלא צריך לנהל את המעבר בין מודעה לתוכן וידאו באפליקציה.
בחירת פתרון DAI שמעניין אתכם
DAI בשירות מלא
במדריך הזה מוסבר איך לשלב את IMA DAI SDK באפליקציית נגן וידאו פשוטה. אם אתם רוצים לראות דוגמה לשילוב מלא או לפעול לפיה, אתם יכולים להוריד את BasicExample מ-GitHub.
סקירה כללית על IMA DAI
הטמעה של IMA DAI כוללת ארבעה רכיבי SDK עיקריים, כפי שמוסבר במדריך הזה:
-
StreamDisplayContainer: אובייקט מאגר שנמצא מעל רכיב הפעלת הווידאו ומכיל את רכיבי ממשק המשתמש של המודעה. -
AdsLoader: אובייקט שמבקש סטרימינג ומטפל באירועים שמופעלים על ידי אובייקטים של תגובות לבקשות סטרימינג. צריך ליצור רק מופע אחד של ads loader, שאפשר לעשות בו שימוש חוזר לאורך חיי האפליקציה. -
StreamRequest: אובייקט שמגדיר בקשה ליצירת מקור נתונים. בקשות לשידור יכולות להיות לווידאו על פי דרישה או לשידורים חיים. בבקשות לשידור חי מציינים מפתח נכס, ובבקשות ל-VOD מציינים מזהה CMS ומזהה סרטון. שני סוגי הבקשות יכולים לכלול אופציונלית מפתח API שנדרש כדי לגשת לסטרימינג שצוין, וקוד רשת של Google Ad Manager כדי ש-IMA SDK יטפל במזהי מודעות כמו שצוין בהגדרות של Google Ad Manager. -
StreamManager: אובייקט שמטפל בסטרימינג של הטמעת מודעות דינמיות ובאינטראקציות עם ה-Backend של DAI. מנהל השידור מטפל גם בפינגים למעקב ומעביר אירועים שקשורים לשידור ולמודעות אל בעל התוכן הדיגיטלי.
דרישות מוקדמות
- Android Studio
- אפליקציית נגן וידאו לדוגמה לשילוב ה-SDK
הורדה והפעלה של אפליקציית נגן הווידאו לדוגמה
אפליקציית הדוגמה מספקת נגן וידאו פעיל שמפעיל סרטון HLS. אפשר להשתמש בזה כנקודת התחלה לשילוב היכולות של 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 > סנכרון הפרויקט עם קובצי Gradle).
מוודאים שאפליקציית הנגן עוברת קומפילציה ופועלת במכשיר 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 ולהוסיף את 'com.android.tools:desugar_jdk_libs' כתלות בקובץ 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()שיטת עזר כדי לטפל ביצירה של מופע ממשקSampleVideoPlayerCallbackשמרחיב אתVideoStreamPlayer.VideoStreamPlayerCallback.כדי לעבוד עם DAI, הנגן צריך להעביר אירועי ID3 אל IMA DAI SDK. השיטה
callback.onUserTextReceived()עושה את זה, כמו שמוצג בקטע הקוד לדוגמה הבא.מוסיפים שיטת
buildStreamRequest()כדי ליצור אתSteamRequest. בשיטה הזו מתבצע מעבר בין זרמים שונים בהתאם להגדרה של המשתנהCONTENT_TYPE. זרם ברירת המחדל שמשמש במדריך הזה הוא זרם HLS של VOD לדוגמה של IMA.צריך גם
VideoStreamPlayerכדי להפעיל את הסטרימינג, לכן מוסיפים שיטה שלcreateVideoStreamPlayer()שיוצרת מחלקה אנונימית שמטמיעהVideoStreamPlayer.מטמיעים את רכיבי ה-listener הנדרשים ומוסיפים תמיכה בטיפול בשגיאות.
שימו לב להטמעה של
AdErrorListener, כי היא קוראת לכתובת URL חלופית אם הצגת המודעות נכשלת. מכיוון שהתוכן והמודעות נמצאים בשידור אחד, צריך להיות מוכנים להפעיל שידור חלופי אם מתרחשת שגיאה בשידור ה-DAI.מוסיפים קוד לרישום ביומן.
משנים את
MyActivityב-videoplayerappכדי ליצור מופע שלSampleAdsWrapperולהתקשר אליו. בנוסף, מתקשרים אלImaSdkFactory.initialize()כאן באמצעות שיטת עזר כדי ליצור מופעImaSdkSettings.מוסיפים את שיטת העזר
getImaSdkSettings()כדי ליצור מופעImaSdkSettings.משנים את קובץ הפריסה של הפעילות
activity_my.xmlכדי להוסיף רכיבי ממשק משתמש לרישום ביומן.
מזל טוב! מעכשיו אתם יכולים לשלוח בקשות להצגת מודעות וידאו באפליקציית Android שלכם. כדי לשפר את ההטמעה, אפשר לעיין במאמרים בנושא סימניות, Snapback ומסמכי ה-API.
פתרון בעיות
אם נתקלתם בבעיות בהפעלת מודעת וידאו, נסו להוריד את BasicExample המלא. אם הוא פועל כמו שצריך ב-BasicExample, סביר להניח שיש בעיה בקוד השילוב של IMA באפליקציה.
אם הבעיות נמשכות, אפשר להיכנס לפורום בנושא IMA SDK.