תמיכת דפדפן

Patrick Kettner
Patrick Kettner

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

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

CustomTabsIntent.Builder

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

addDefaultShareMenuItem()

הפונקציה addDefaultShareMenuItem() מוסיפה לחצן שיתוף כברירת מחדל לסרגל הכלים של הכרטיסיות בהתאמה אישית, ומאפשרת למשתמש לשתף את דף האינטרנט הנוכחי דרך אפליקציות שונות במכשיר.

addMenuItem()

הוספת פריט לתפריט.

בצד ימין, טלפון שבו מוצגת אפליקציה שמשתמשת ב-addMenuItem(), ובצד ימין טלפון נפרד ללא ה-API

addToolbarItem()

הוספת לחצן פעולה לכרטיסייה בהתאמה אישית. אפשר להוסיף כמה לחצנים באמצעות השיטה הזו.

enableUrlBarHiding()

מאפשרת לסרגל כתובות ה-URL להסתתר כשהמשתמש גולל למטה בדף.

setActionButton()

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

בצד ימין, טלפון שבו מוצגת אפליקציה שמשתמשת ב-setActionButton()‎, ובצד ימין טלפון נפרד ללא ה-API

setCloseButtonIcon()

הגדרת לחצן סגירה בהתאמה אישית שיוצג בסרגל הכלים.

בצד ימין, טלפון שבו מוצגת אפליקציה שמשתמשת ב-setCloseButtonIcon(), ובצד ימין טלפון נפרד ללא ה-API

setCloseButtonPosition()

הגדרת הסמל של לחצן הסגירה בכרטיסייה בהתאמה אישית.

בצד ימין, טלפון שבו מוצגת אפליקציה שמשתמשת ב-setCloseButtonPosition(), ובצד ימין טלפון נפרד ללא ה-API

setColorScheme()

הגדרת ערכת הצבעים שצריך להחיל על ממשק המשתמש בכרטיסייה בהתאמה אישית.

בצד ימין, טלפון שבו מוצגת אפליקציה שמשתמשת ב-setColorScheme(), ובצד ימין טלפון נפרד ללא ה-API

setColorSchemeParams()

הגדרת ערכת הצבעים שצריך להחיל על ממשק המשתמש בכרטיסייה בהתאמה אישית.

בצד ימין, טלפון שבו מוצגת אפליקציה שמשתמשת ב-setColorSchemeParams(), ובצד ימין טלפון נפרד ללא ה-API

setDefaultColorSchemeParams()

הגדרת CustomTabColorSchemeParams() לערכת הצבעים הנתונה. כך אפשר לציין שני צבעים שונים לסרגל הכלים, לערכות בהירות וכהות.

בצד ימין, טלפון שבו מוצגת אפליקציה שמשתמשת ב-setDefaultColorSchemeParams(), ובצד ימין טלפון נפרד ללא ה-API

setDefaultShareMenuItemEnabled()

מגדירים אם פריט שיתוף ברירת מחדל יתווסף לתפריט.

setExitAnimations()

הגדרת אנימציות יציאה.

setInitialActivityHeightPx()‎

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

בצד ימין, טלפון שבו מוצגת אפליקציה שמשתמשת ב-setInitialActivityHeightPx(), ובצד ימין טלפון נפרד ללא ה-API

setNavigationBarColor()

הגדרת הצבע של סרגל הניווט. אין לו השפעה על גרסאות API שקודמות ל-L.

setNavigationBarDividerColor()

setSecondaryToolbarColor()

הגדרת הצבע של סרגל הכלים המשני.

setShareState()

הגדרת מצב השיתוף שצריך להחיל על הכרטיסייה בהתאמה אישית.

בצד ימין, טלפון שבו מוצגת אפליקציה שמשתמשת ב-setShareState(), ובצד ימין טלפון נפרד ללא ה-API

setShowTitle()

מגדיר אם הכותרת תוצג בכרטיסייה בהתאמה אישית.

בצד ימין, טלפון שבו מוצגת אפליקציה שמשתמשת ב-setShowTitle(), ובצד ימין טלפון נפרד ללא ה-API

setStartAnimations()

הגדרת האנימציות של ההתחלה.

setToolbarColor()

הגדרת הצבע של סרגל הכלים. ב-Android L ואילך, הצבע הזה חל גם על שורת הסטטוס.

setToolbarCornerRadiusDp()

הגדרת הרדיוס של הפינות העליונות של סרגל הכלים ב-dp.

setUrlBarHidingEnabled()

מגדירים אם סרגל כתובות ה-URL יוסתר כשהמשתמש יגלול למטה בדף.

CustomTabsClient

CustomTabsClient היא כיתה אופציונלית שמשמשת לתקשורת עם CustomTabsService וליצור ממנה CustomTabsSession.

warmup()‎

חימום תהליך הדפדפן.

CustomTabsSession

CustomTabsSession הוא סוג אופציונלי שאפשר לספק למכונה של CustomTabsIntent.Builder(). כשמשתמשים בו, אפשר להשתמש בכיתה הזו כדי לטפל בכל תקשורת עם הכרטיסייה בהתאמה אישית.

setEngagementSignalsCallback()

הגדרת EngagementSignalsCallback כדי לקבל קריאות חוזרות (callbacks) על אירועים שקשורים להתעניינות של המשתמש בדף האינטרנט בכרטיסייה.

isEngagementSignalsApiAvailable()

הפונקציה מחזירה תשובה אם ממשק ה-API של אותות ההתעניינות זמין. הזמינות של Engagement Signals API עשויה להשתנות במהלך זמן הריצה.

mayLaunchUrl()

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