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

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

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