תמיכה ב-Captive Portal API

החל מ-Android 11 Beta 2, המערכת תומכת בקבוצת משנה של פונקציות שמתוארות ב-RFC7710bis וב-API של פורטל שבוי שמשויך אליו.

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

שיפור בזיהוי פורטלים שבויים

מאז Android 5.0 (רמת API‏ 21), מכשירי Android מזהים דפי כניסה לרשתות ומעדכנים את המשתמש שהוא צריך להיכנס לרשת כדי לגשת לאינטרנט. הפורטלים השבויים זוהו באמצעות בדיקות HTTP בטקסט גלוי ליעדים מוכרים (כמו connectivitycheck.gstatic.com), ואם הבדיקה קיבלה הפניה אוטומטית של HTTP, המכשיר הניח שהרשת היא פורטל שבוי. השיטה הזו לא תמיד אמינה כי אין כתובת URL סטנדרטית לבדיקה, ויכול להיות שרשתות של פורטלים שבויים יאפשרו או יחסמו בדיקות כאלה בטעות (במקום להפנות אותן). ממשק ה-API מאפשר לפורטלים לספק אות חיובי לכך שנדרשת כניסה, יחד עם כתובת URL לכניסה.

‫Android 11 תומך באפשרות DHCP‏ 114, כפי שמתואר ב-RFC7710bis. יכול להיות שבעדכון עתידי נוסיף תמיכה באפשרות 'פרסום נתב'. אם המכשיר מקבל כתובת URL של captive portal API דרך האפשרות הזו במהלך לחיצת היד של DHCP, המכשירים מאחזרים את התוכן של ה-API מיד אחרי ההתחברות ומבקשים מהמשתמשים להתחבר אם הרשת היא captive, בהתאם ל-captive portal API.

אם ה-API לא זמין, או אם לא מתבצע פרסום של פורטל, המערכת תמשיך לזהות פורטלים ולאמת את הקישוריות לאינטרנט באמצעות בדיקות HTTP/HTTPS, כמו קודם.

מידע שמתפרסם על מקום

‫Android 11 תומך ב-venue-info-url שמוגדר ב-captive portal API. כתובת ה-URL הזו מאפשרת למשתמשים לקבל בדפדפן מידע ספציפי על המקום שבו נמצאת נקודת הגישה. כברירת מחדל, המשתמשים יכולים לפתוח את כתובת ה-URL הזו אם הם בוחרים לעשות זאת מתוך התראה אחרי שהם מתחברים, או מתוך הגדרות הרשת שלהם.

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

צילום מסך שמראה איך לפתוח את האתר מהמסך 'פרטי הרשת'
איור 2. כפתור לפתיחת האתר ממסך פרטי הרשת

תרחישים עתידיים לדוגמה

בזמן ההשקה, Android 11 תומכת רק בקבוצה בסיסית של פונקציות מ-API של פורטל שבוי, אבל יכול להיות שפונקציות חדשות יסופקו למכשירים באמצעות עדכוני מערכת של Google Play אחרי ההשקה. אנחנו ממליצים למפעילי רשת להטמיע את captive portal API, תוך התחשבות בשיפורים אפשריים עתידיים:

  • הזמן שנותר בסשן (seconds-remaining) משמש כרגע באפליקציית ההגדרות שמוגדרת כברירת מחדל כדי להודיע למשתמשים כמה זמן נשאר להם בפורטל. אפשר להשתמש ב-API כדי להאריך את משך ההתחברות באמצעות כתובת ה-URL להתחברות (can-extend-session), וכך לאפשר למערכת להודיע למשתמש על סשנים שתוקפם פג או שעומד לפוג.
  • אפשר לפרסם מכסות נתונים (bytes-remaining) דרך ה-API כדי לאפשר למשתמשים לעקוב אחרי הנתונים שנותרו.