תמיכה ב-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 שמוגדר ב-captiveportal 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 כדי לאפשר למשתמשים לעקוב אחרי הנתונים שנותרו.