החל מ-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 מגרסה v4.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.4 לפרויקט
אם אתם משתמשים ב-CocoaPods, צריך להשתמש ב-
pod updateכדי להוסיף את SDK בגרסה 4.8.4 לפרויקט.אחרת, שולפים את ה-SDK באופן ידני.
-
הוספה של
NSBonjourServicesאלInfo.plistמציינים את
NSBonjourServicesב-Info.plistכדי לאפשר גילוי ברשת המקומית ב-iOS 14.כדי שהתכונה 'איתור מכשירים' תפעל בצורה תקינה, צריך להוסיף גם את
_googlecast._tcpוגם את_<your-app-id>._googlecast._tcpכשירותים.מזהה האפליקציה הוא receiverID, שהוא אותו מזהה שמוגדר ב-
GCKDiscoveryCriteria.מעדכנים את ההגדרה של הדוגמה הבאה ומחליפים את 'ABCD1234' במזהה האפליקציה.
NSBonjourServices -
הוספה של
NSLocalNetworkUsageDescriptionאלInfo.plistמומלץ מאוד להתאים אישית את ההודעה שמוצגת בהנחיה לגבי הרשת המקומית, על ידי הוספת מחרוזת הרשאה ספציפית לאפליקציה בקובץ
Info.plistשל האפליקציה, למשל כדי לתאר את האיתור של Cast ושירותי איתור אחרים, כמו DIAL.NSLocalNetworkUsageDescriptionההודעה הזו תופיע כחלק מתיבת הדו-שיח של iOS בנושא גישה לרשת המקומית, כמו שמוצג בהדמיה.
-
פרסום מחדש של האפליקציה ב-Apple App Store
מומלץ גם לפרסם מחדש את האפליקציה באמצעות גרסה 4.8.4 בהקדם האפשרי.
התאמות אישיות
התחלת החיפוש של מכשירי 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 ברשת המקומית אלא אם קיבלתם מ-Apple הרשאה לשימוש בשידור מרובה כתובות ברשת. חשוב לזכור שאפל לא תעניק הרשאות לשימוש בשידור מרובה משתתפים רק כדי לתמוך ב-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-bluetoothCocoapods החדש.
פירוט לפי אפליקציה
הנה פירוט לפי גרסת ה-SDK ל-iOS שבה אתם משתמשים כרגע:
אפליקציות שנוצרו באמצעות iOS 12 SDK או גרסאות קודמות
- מומלצת פעולה. יכול להיות שהביצועים של איתור המכשירים ירדו כשמריצים את התכונה ב-iOS 13, אבל היא עדיין תפעל. מומלץ מאוד למפתחים לשדרג לגרסה 4.4.4 של Cast SDK כשהיא תהיה זמינה.
- ב-iOS 13, המשתמשים יתבקשו להעניק לאפליקציה הרשאות Bluetooth®.
אפליקציות שפותחו באמצעות iOS 13 SDK
- נדרשת פעולה: צריך לעדכן ל-Cast SDK 4.4.4, אחרת יכול להיות שכפתור ה-Cast לא יופיע אם המשתמש לא יאשר את הרשאת המיקום. כדי להבטיח חוויית העברה מהימנה ב-iOS 13, צריך לשדרג ל-Cast SDK 4.4.4.