ה-WebReceiver SDK מספקת למפתחים את CastDebugLogger API, קל יותר לנפות באגים באפליקציה 'מקלט אינטרנט' ובאפליקציה נלווית כלי Command and Control (CaC) כדי לצלם יומנים.
אתחול
כדי להשתמש ב-CastDebugLogger API, צריך לכלול את הסקריפט הבא ב- האפליקציה של המקבל ישירות אחרי הסקריפט של WebReceiver SDK:
<!-- Web Receiver SDK -->
<script src="//www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js"></script>
<!-- Cast Debug Logger -->
<script src="//www.gstatic.com/cast/sdk/libs/devtools/debug_layer/caf_receiver_logger.js"></script>
יוצרים את האובייקט CastDebugLogger
ומפעילים את היומן:
const castDebugLogger = cast.debug.CastDebugLogger.getInstance();
const context = cast.framework.CastReceiverContext.getInstance();
context.addEventListener(cast.framework.system.EventType.READY, () => {
if (!castDebugLogger.debugOverlayElement_) {
// Enable debug logger and show a 'DEBUG MODE' overlay at top left corner.
castDebugLogger.setEnabled(true);
}
});
כשיומן ניפוי הבאגים מופעל, שכבת-על שמציגה את מצב ניפוי באגים מוצג במקלט.
רישום אירועים של הנגן
באמצעות CastDebugLogger
אפשר לרשום בקלות אירועי שחקן שהופעלו על ידי
את ה-SDK של ה-Web זוג (מקלט) ולהשתמש ברמות שונות של רישום ביומן כדי לתעד את נתוני האירועים.
ההגדרה של loggerLevelByEvents
מתייחסת ל-cast.framework.events.EventType
ו-cast.framework.events.category
כדי לציין את האירועים שיירשמו ביומן.
לדוגמה, אם אתם רוצים לדעת מתי מופעלים אירועי CORE
של השחקן
או משודר שינוי ב-mediaStatus
, צריך להשתמש בהגדרה הבאה כדי לרשום את
אירועים:
castDebugLogger.loggerLevelByEvents = {
'cast.framework.events.category.CORE': cast.framework.LoggerLevel.INFO,
'cast.framework.events.EventType.MEDIA_STATUS': cast.framework.LoggerLevel.DEBUG
}
רישום הודעות בהתאמה אישית ביומן באמצעות תגים בהתאמה אישית
ממשק ה-API של CastDebugLogger מאפשר ליצור הודעות ביומן שמופיעות שכבת-העל לניפוי באגים של מקלט האינטרנט בצבע שונה. צריך להשתמש בשיטות היומן הבאות, לפי סדר העדיפות, מהגבוהה לנמוכה:
castDebugLogger.error(custom_tag, message);
castDebugLogger.warn(custom_tag, message);
castDebugLogger.info(custom_tag, message);
castDebugLogger.debug(custom_tag, message);
בכל שיטת יומן, הפרמטר הראשון צריך להיות תג מותאם אישית, וגם הפרמטר השני הוא message message. התג יכול להיות כל מחרוזת שעוזרת לכם.
הנה דוגמה לאופן השימוש ביומן ניפוי הבאגים במיירט LOAD
.
const LOG_TAG = 'MyReceiverApp';
playerManager.setMessageInterceptor(
cast.framework.messages.MessageType.LOAD,
request => {
castDebugLogger.debug(LOG_TAG, 'Intercepting LOAD request');
return new Promise((resolve, reject) => {
fetchMediaAsset(request.media.contentId).then(
data => {
let item = data[request.media.contentId];
if (!item) {
castDebugLogger.error(LOG_TAG, 'Content not found');
reject();
} else {
request.media.contentUrl = item.stream.hls;
castDebugLogger.info(LOG_TAG,
'Playable URL:', request.media.contentUrl);
resolve(request);
}
}
);
});
}
);
אפשר לקבוע אילו הודעות יופיעו בשכבת-העל של ניפוי הבאגים על ידי הגדרת היומן
ברמה loggerLevelByTags
לכל תג מותאם אישית. לדוגמה, הפעלת
יוצג תג מותאם אישית ברמת היומן cast.framework.LoggerLevel.DEBUG
כל ההודעות שנוספו עם הודעות שגיאה, אזהרה, מידע וניפוי באגים ביומן. עוד
לדוגמה, הפעלת תג מותאם אישית ברמת WARNING
תציג רק
הודעות שגיאה או אזהרה ביומן.
ההגדרה של loggerLevelByTags
היא אופציונלית. אם לא הוגדר תג מותאם אישית
ברמת יומן הרישום, כל הודעות היומן יוצגו בשכבת-העל של ניפוי הבאגים.
const LOG_TAG1 = 'Tag1';
const LOG_TAG2 = 'Tag2';
// Set verbosity level for custom tags
castDebugLogger.loggerLevelByTags = {
[LOG_TAG1]: cast.framework.LoggerLevel.WARNING,
[LOG_TAG2]: cast.framework.LoggerLevel.DEBUG,
};
castDebugLogger.debug(LOG_TAG1, 'debug log from tag1');
castDebugLogger.info(LOG_TAG1, 'info log from tag1');
castDebugLogger.warn(LOG_TAG1, 'warn log from tag1');
castDebugLogger.error(LOG_TAG1, 'error log from tag1');
castDebugLogger.debug(LOG_TAG2, 'debug log from tag2');
castDebugLogger.info(LOG_TAG2, 'info log from tag2');
castDebugLogger.warn(LOG_TAG2, 'warn log from tag2');
castDebugLogger.error(LOG_TAG2, 'error log from tag2');
// example outputs:
// [Tag1] [WARN] warn log from tag1
// [Tag1] [ERROR] error log from tag1
// [Tag2] [DEBUG] debug log from tag2
// [Tag2] [INFO] info log from tag2
// [Tag2] [WARN] warn log from tag2
// [Tag2] [ERROR] error log from tag2
שכבת-על של ניפוי באגים
יומן ניפוי הבאגים של הפעלת Cast מספק שכבת-על של ניפוי באגים במקלט האינטרנט כדי להציג
את ההודעות המותאמות אישית ביומן. הצגה או הסתרה של שכבת-העל לניפוי באגים באמצעות showDebugLogs
ו-clearDebugLogs
כדי לנקות את הודעות היומן שבשכבת-העל.
תזכורת: יש להשתמש ב-showDebugLogs
וב-clearDebugLogs
אחרי שה-castDebugLogger הוא
מופעל.
const context = cast.framework.CastReceiverContext.getInstance();
context.addEventListener(cast.framework.system.EventType.READY, () => {
if (!castDebugLogger.debugOverlayElement_) {
// Enable debug logger and show a 'DEBUG MODE' overlay at top left corner.
castDebugLogger.setEnabled(true);
// Show debug overlay
castDebugLogger.showDebugLogs(true);
// Clear log messages on debug overlay
castDebugLogger.clearDebugLogs();
}
});