החל מ-iOS 14, מערכת ההפעלה תאכוף הגבלות והרשאות חדשות שישפיעו על חוויית המשתמש ב-Cast. השינוי ישפיע גם על האופן שבו אתם משלבים את Cast SDK באפליקציה. כדי שהאפליקציה תמשיך לתמוך ב-Cast בגרסאות האחרונות של iOS, אתם צריכים לבצע עדכונים שיטפלו בשינויים האלה בהרשאות.
iOS 14
מפתחים צריכים לעדכן את אפליקציות השולטות של iOS Cast לגרסה 4.6.0 ואילך של Google Cast SDK. הגרסאות האלה מספקות תמיכה ב-iOS 14 ובדרישות שלה.
החל מ-iOS 14, אפליקציות שמבצעות סריקה של מכשירים ברשת המקומית יציגו למשתמשים תיבת דו-שיח של הרשאה חד-פעמית כדי לאתר מכשירים ברשת המקומית ולהתחבר אליהם. פלטפורמת Cast משתמשת ברשת המקומית כדי לאתר מכשירי Cast ולשלוט בהם, ולכן אם המשתמש יסרב לתת הרשאה, הוא לא יוכל להפעיל Cast.
כדי לשפר את חוויית המשתמש, אנחנו מבצעים כמה שינויים בממשק המשתמש של ה-SDK באפליקציות שמשתמשות בכלי לבחירת מכשירים. שינויי חוויית המשתמש האלה הופכים את הסיבה לצורך בהרשאות גישה לרשת המקומית לברורה יותר למשתמשים, וגם מסבירים איך להפעיל את הזרמת התוכן אם הגישה למכשירים ברשת המקומית הושבתה.
אפליקציות שנוצרו באמצעות גרסאות של Cast SDK מגרסה 4.4.8 ומטה ימשיכו לפעול כל עוד הן נוצרו באמצעות Xcode 11.7 ומטה. אם אתם מפתחים ל-iOS 14 באמצעות Xcode 12 ואילך, מומלץ לעדכן ל-Cast SDK גרסה 4.6.0 ואילך כדי לוודא שאפליקציית Cast תמשיך לפעול בצורה תקינה.
אפשר להוריד את Cast iOS SDK בגרסה 4.6.0 ואילך באמצעות CocoaPods לפי ההוראות להגדרה של CocoaPods, או באופן ידני לפי ההוראות להגדרה ידנית. הגרסה הזו כוללת שינויים במנגנון הגילוי הבסיסי כדי לאפשר לאפליקציות שנבנו באמצעות Xcode 12 למצוא מכשירי Cast ברשת. הלחצן להפעלת Cast אמור להופיע תמיד. אם אין מכשירים זמינים כשהמשתמש מקיש על לחצן ה-Cast, מוצג דו-שיח עם הנחיות לגבי הסיבות האפשריות לכך שאין מכשירים זמינים, כולל מידע על הפעלה מחדש של הרשאת הגישה לרשת המקומית.
שינויים ב-Cast SDK
הפעלת Cast בפעם הראשונה
בפעם הראשונה שמשתמש מנסה להפעיל Cast, מוצגת תיבת דו-שיח של ביניים עם הסבר למה נדרשת גישה לרשת המקומית (LNA), ואחריה מופיעה ההנחיה של אפל למתן הרשאות גישה לרשת המקומית ב-iOS. הדוגמאות הבאות ממחישות את התהליך:
אי אפשר להפעיל Cast
החל מ-iOS sender SDK 4.6.0, לחצן Cast תמיד מופיע כשהמשתמש מחובר ל-Wi-Fi. אם מכשירי Cast לא זמינים, הקשה על לחצן Cast תציג תיבת דו-שיח עם רמזים למשתמש לגבי הסיבות האפשריות לכך ש-Cast לא זמין, כמו שמוצג בתמונות הבאות:
עדכון האפליקציה ב-iOS 14
-
הוספה של Cast iOS SDK 4.8.3 לפרויקט
אם אתם משתמשים ב-CocoaPods, צריך להשתמש ב-
pod update
כדי להוסיף את SDK בגרסה 4.8.3 לפרויקט. -
הוספה של
NSBonjourServices
אלInfo.plist
מציינים את
NSBonjourServices
ב-Info.plist
כדי לאפשר גילוי ברשת המקומית ב-iOS 14.כדי שהתכונה 'איתור מכשירים' תפעל בצורה תקינה, צריך להוסיף את
_googlecast._tcp
ואת_<your-app-id>._googlecast._tcp
כשירותים.מזהה האפליקציה הוא מזהה המקלט, שהוא אותו מזהה שמוגדר ב-
GCKDiscoveryCriteria
.מעדכנים את ההגדרה של הדוגמה הבאה ומחליפים את 'ABCD1234' במזהה האפליקציה.
NSBonjourServices
-
הוספה של
NSLocalNetworkUsageDescription
אלInfo.plist
מומלץ מאוד להתאים אישית את ההודעה שמוצגת בהנחיה לגבי הרשת המקומית, על ידי הוספת מחרוזת הרשאה ספציפית לאפליקציה בקובץ
Info.plist
של האפליקציה, למשל כדי לתאר את האיתור של Cast ושירותי איתור אחרים, כמו DIAL.NSLocalNetworkUsageDescription
ההודעה הזו תופיע כחלק מתיבת הדו-שיח של iOS בנושא גישה לרשת המקומית, כמו שמוצג בתמונה.
-
פרסום מחדש של האפליקציה ב-Apple App Store
מומלץ גם לפרסם מחדש את האפליקציה באמצעות גרסה 4.8.3 בהקדם האפשרי.
התאמות אישיות
התחלת החיפוש של מכשירי Cast
כברירת מחדל, גילוי מכשיר Cast מתחיל בפעם הראשונה שהמשתמש מקיש על לחצן Cast (GCKUICastButton
). אם זו הפעם הראשונה שהמשתמש מנסה להשתמש באפליקציית Cast ברשת המקומית אחרי ששדרג ל-iOS 14, יופיע מעברון חדש של LNA, ואחריו תיבת הדו-שיח של הרשאות הגישה לרשת המקומית ב-iOS.
יש דגל חדש שמאפשר לכם לשלוט במועד שבו מתחיל גילוי המכשיר ובהתנהגות של רכיבים מסוימים בממשק המשתמש:
startDiscoveryAfterFirstTapOnCastButton: BOOL(true/false)
ערך ברירת המחדל הוא true
. הדגל הזה רלוונטי רק אם הדגל GCKCastOptions::disableDiscoveryAutostart
מוגדר לערך false
.
אם ההגדרה היא true
, החיפוש של מכשירי Cast מתחיל כשמשתמש מקיש על הסמל GCKUICastButton
בפעם הראשונה. למשתמש תוצג הודעה אינפורמטיבית שתסביר למה נדרשת הרשאה לרשת מקומית. אחרי ההודעה הזו, תוצג ההודעה בנושא LNA ב-iOS 14.
החיפוש של מכשירי Cast מתחיל אחרי שמאשרים את ההודעה.
בכל הפעלה של האפליקציה, הסמל GCKUICastButton
מוצג.
אם הערך הוא false
, גילוי המכשיר יתחיל על סמך הערך של הדגל GCKCastOptions::disableDiscoveryAutostart
.
שאלות נפוצות
מה קורה אם מפרסמים מחדש את אפליקציית השולט של Cast עם Cast SDK v4.4.8 ו-Xcode 12?
יכול להיות שהאפליקציה לא תוכל לגלות מכשירי Cast ברשת המקומית, אלא אם קיבלתם הרשאה לשימוש בשידור מרובה כתובות ברשת מאפל. הערה: אפל לא תעניק הרשאות לשימוש בשידור מרובה משתתפים רק לצורך תמיכה ב-Cast. אם אתם מתכננים לפתח באמצעות Xcode 12, כדאי לפרסם את האפליקציה עם Cast 4.6.0.
אם אפרסם מחדש את האפליקציה שלי עם ה-SDK החדש של Cast, מה יקרה למשתמשים שלי שמריצים את iOS 13 או גרסאות קודמות?
חוויית המשתמש שלהם תישאר זהה למה שהייתה לפני ההשקה מחדש של האפליקציה. השינויים שגלויים למשתמשים מוגבלים למשתמשים שמריצים את iOS 14.
מה צריך לעשות כדי לעדכן את האפליקציה אחרי שגרסה חדשה של 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) תוצג אחרי שהאפליקציה תסרוק בפעם הראשונה. יכול להיות שבעקבות זאת יופיעו תיבות דו-שיח של הרשאות במקומות אקראיים באפליקציה.
מפתחים שיוצרים כלי לבחירת מכשירים בהתאמה אישית לאפליקציה שלהם צריכים להציג מודעת מעברון חד-פעמית לפני הפעלת סריקת המכשירים בפעם הראשונה ב-iOS 14.
iOS 13
ב-iOS 13 נוספו דרישות חדשות להרשאות שמשפיעות על אפליקציות שמשתמשות ב-Google Cast SDK.
החל מגרסה 4.4.3 של Google Cast SDK, זמין SDK נוסף שלא דורש הרשאת Bluetooth®. היא זמינה גם באתר המפתחים וגם ב-google-cast-sdk-no-bluetooth
Cocoapods החדש.
פירוט לפי אפליקציה
הנה פירוט לפי הגרסה של iOS SDK שבה אתם משתמשים כרגע:
אפליקציות שנוצרו באמצעות iOS 12 SDK או גרסאות קודמות
- הפעולה המומלצת יכול להיות שביצועי איתור המכשירים ירדו כשמריצים את התכונה ב-iOS 13, אבל היא עדיין תפעל. מומלץ מאוד למפתחים לשדרג ל-Cast SDK v4.4.4 כשהוא יהיה זמין.
- ב-iOS 13, המשתמשים יתבקשו להעניק לאפליקציה הרשאות Bluetooth®.
אפליקציות שפותחו באמצעות iOS 13 SDK
- נדרשת פעולה: צריך לעדכן ל-Cast SDK 4.4.4, אחרת יכול להיות שכפתור ה-Cast לא יופיע אם המשתמש לא יאשר את הרשאת המיקום. כדי להבטיח חוויית שיקוף מהימנה ב-iOS 13, צריך לשדרג ל-Cast SDK בגרסה 4.4.4.