אפליקציות שמבצעות סריקה של מכשירים ברשת המקומית יציגו למשתמשים תיבת דו-שיח של הרשאה חד-פעמית כדי למצוא מכשירים ברשת המקומית ולהתחבר אליהם. פלטפורמת Cast משתמשת ברשת המקומית כדי לגלות ולשלוט במכשירי Cast, ולכן אם המשתמש יסרב לתת הרשאה, הוא לא יוכל להפעיל Cast.
כדי לשפר את חוויית המשתמש, אנחנו מבצעים כמה שינויים בממשק המשתמש של ה-SDK באפליקציות שמשתמשות בכלי לבחירת מכשירים. שינויי חוויית המשתמש האלה מסבירים למשתמשים בצורה ברורה יותר למה נדרשות הרשאות גישה לרשת המקומית, וגם איך להפעיל את ה-Cast אם הגישה למכשיר ברשת המקומית הושבתה.
אפשר להוסיף את Cast iOS SDK בגרסה 4.6.0 ואילך באמצעות Swift Package Manager. לשם כך, צריך לפעול לפי ההוראות להגדרה של Swift Package Manager. אפשר גם להוריד אותו באופן ידני לפי ההוראות להגדרה ידנית. הגרסה הזו כוללת שינויים במנגנון הגילוי הבסיסי, כדי לאפשר לאפליקציות שנבנו באמצעות Xcode 12 למצוא מכשירי Cast ברשת. הכפתור להפעלת Cast אמור להופיע תמיד. אם אין מכשירים זמינים כשהמשתמש מקיש על לחצן Cast, מוצג דו-שיח עם הנחיות למה מכשירים לא יכולים להיות זמינים, כולל מידע על אופן ההפעלה מחדש של הרשאת הגישה לרשת המקומית.
שינויים ב-Cast SDK
העברה (cast) בפעם הראשונה
בפעם הראשונה שמשתמש ינסה להפעיל Cast, יוצג לו דיאלוג ביניים של גישה לרשת מקומית (LNA) עם הסבר למה נדרשת גישה לרשת מקומית, ואחריו תופיע ההנחיה של אפל למתן הרשאות גישה לרשת מקומית ב-iOS. הדוגמאות הבאות ממחישות את התהליך:

אי אפשר להפעיל Cast
החל מגרסה 4.6.0 של iOS sender SDK, הכפתור להפעלת Cast תמיד מופיע כשהמשתמש מחובר ל-Wi-Fi. אם מכשירי Cast לא זמינים, הקשה על הכפתור להפעלת Cast תציג תיבת דו-שיח עם רמזים לגבי הסיבות האפשריות לכך ש-Cast לא זמין, כמו שמוצג בתמונות הבאות:

עדכון האפליקציה
-
הוספה של Cast iOS SDK 4.8.6 לפרויקט
אם משתמשים ב- Swift Package Manager, מעדכנים את חבילת
google-cast-ios-sdkלגרסה 4.8.6.אחרת, מושכים את ה-SDK באופן ידני.
-
הוספת
NSBonjourServicesאלInfo.plistמציינים
NSBonjourServicesב-Info.plistכדי לאפשר גילוי ברשת המקומית.כדי שהתכונה 'איתור מכשירים' תפעל בצורה תקינה, צריך להוסיף גם את
_googlecast._tcpוגם את_<your-app-id>._googlecast._tcpכשירותים.מזהה האפליקציה הוא מזהה המקלט, שהוא אותו מזהה שמוגדר ב-
GCKDiscoveryCriteria.מעדכנים את ההגדרה של הדוגמה הבאה ומחליפים את 'ABCD1234' במזהה האפליקציה שלכם.
NSBonjourServices -
הוספת
NSLocalNetworkUsageDescriptionאלInfo.plistמומלץ מאוד להתאים אישית את ההודעה שמוצגת בהנחיה לגבי הרשת המקומית, על ידי הוספת מחרוזת הרשאות ספציפית לאפליקציה בקובץ
Info.plistשל האפליקציהNSLocalNetworkUsageDescription, למשל כדי לתאר את האיתור של Cast ושירותי איתור אחרים, כמו DIAL.ההודעה הזו תופיע כחלק מתיבת הדו-שיח של iOS בנושא גישה לרשת מקומית, כמו שמוצג בהדמיה.
-
פרסום מחדש של האפליקציה ב-Apple App Store
מומלץ גם לפרסם מחדש את האפליקציה באמצעות גרסה 4.8.6 בהקדם האפשרי.
התאמות אישיות
התחלת חיפוש של מכשיר Cast
כברירת מחדל, גילוי מכשיר Cast מתחיל בפעם הראשונה שהמשתמש מקיש על הכפתור להפעלת Cast (GCKUICastButton). אם זו הפעם הראשונה שהמשתמש מנסה להשתמש באפליקציית Cast ברשת המקומית, מופיע מודעת הביניים החדשה של LNA, ואחריה תיבת הדו-שיח של הרשאות הגישה לרשת המקומית ב-iOS.
יש דגל חדש שמאפשר לכם לקבוע מתי מתחיל החיפוש של המכשיר ואת ההתנהגות של רכיבים מסוימים בממשק המשתמש:
startDiscoveryAfterFirstTapOnCastButton: BOOL(true/false)
ערך ברירת המחדל הוא true. הדגל הזה רלוונטי רק אם הדגל GCKCastOptions::disableDiscoveryAutostart מוגדר לערך false.
אם ההגדרה היא true, גילוי מכשיר Cast מתחיל כשמשתמש מקיש על הסמל GCKUICastButton בפעם הראשונה. למשתמש תוצג הודעה עם מידע על הסיבה שבגללה נדרשת הרשאה לרשת המקומית. אחרי ההודעה הזו, תוצג ההודעה של iOS LNA.
גילוי מכשיר ה-Cast מתחיל אחרי שההודעה מאושרת.
בכל הפעלה של האפליקציה, GCKUICastButton תמיד מוצג.
אם הערך הוא false, גילוי המכשירים יתחיל על סמך הערך של הדגל GCKCastOptions::disableDiscoveryAutostart.
שאלות נפוצות
מה יקרה אם אפרסם מחדש את אפליקציית השולט של Cast עם Cast SDK v4.4.8 ו-Xcode 12?
יכול להיות שהאפליקציה לא תוכל לגלות מכשירי Cast ברשת המקומית, אלא אם קיבלתם הרשאה לשידור מרובה כתובות ברשת מאפל. שימו לב: אפל לא תעניק הרשאות לשימוש בשידור מרובה משתתפים רק לצורך תמיכה ב-Cast. אם אתם מתכננים לפתח באמצעות Xcode 12, כדאי לכם לפרסם את האפליקציה עם Cast 4.6.0.
מה צריך לעשות כדי לעדכן את האפליקציה אחרי שגרסה חדשה של Cast SDK תושק?
- צריך לעדכן את
Info.plistשל האפליקציה כך שיכלול תיאור של השימוש ברשת מקומית. - מוסיפים את
NSBonjourServicesל-Info.plistשל האפליקציה ומזינים את שמות השירות של Bonjour ל-Cast ואת מזהה האפליקציה. - צריך לשדרג את אפליקציית השולח לגרסה Cast SDK 4.6.0.
- מפרסמים מחדש את האפליקציה ב-App Store של אפל.
למה המכשירים הפסיקו להופיע בכלי לבחירת מכשירים מותאם אישית אחרי ששדרגתי לגרסה 4.6.0?
זו בעיה מוכרת שיכולה לקרות אם אתם משתמשים בכלי לבחירת מכשירים בהתאמה אישית במקום בכלי הסטנדרטי לבחירת מכשירים. בגרסה 4.4.8 של Cast SDK ובגרסאות קודמות, סריקת המכשירים הייתה אוטומטית. החל מגרסה 4.6.0, צריך להפעיל במפורש את השיטה startDiscovery בכיתה
GCKDiscoveryManager כדי להתחיל את איתור המכשיר.
הסיבה לשינוי הזה היא שההנחיה למתן הרשאות גישה לרשת המקומית (LNA) תופיע אחרי שהאפליקציה תסרוק בפעם הראשונה. כתוצאה מכך, יכול להיות שתיבות דו-שיח של הרשאות יופיעו במקומות אקראיים באפליקציה.
מפתחים שיוצרים כלי לבחירת מכשירים בהתאמה אישית לאפליקציה שלהם צריכים להציג מודעת מעברון חד-פעמית לפני שהם מתחילים לסרוק מכשירים בפעם הראשונה.