הרשאות וגילויים למכשירי iOS

החל מ-iOS 14, מערכת ההפעלה תאכוף הגבלות חדשות הרשאות שמשפיעות על חוויית המשתמש ב-Cast. זה ישפיע גם על האופן שבו את ה-Cast SDK באפליקציה. כדי שהאפליקציה תמשיך לשמור על הפונקציונליות של הפעלת Cast עם הגרסאות האחרונות של iOS, צריך לבצע עדכונים כדי לטפל הרשאות שונות.

iOS 14

המפתחים צריכים לעדכן את האפליקציות שלהם לשולחי Cast ב-iOS ל-Google Cast SDK גרסה 4.6.0 ואילך. הגרסאות האלה תומכות ב-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 ש-Apple מספקת . הדוגמאות הבאות ממחישות את התהליך:

תהליך הרשאות הגישה לרשת המקומית

הפעלת Cast לא זמינה

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

האפשרות 'זרימה עם Cast' לא זמינה

האפליקציה מתעדכנת ב-iOS 14

  1. מוסיפים את Cast של iOS SDK 4.8.3 לפרויקט

    אם משתמשים ב-CocoaPods, אפשר להשתמש ב-pod update כדי להוסיף לפרויקט את גרסה 4.8.3 SDK.

    אחרת, שליפה ידנית של ה-SDK.

  2. הוספת NSBonjourServices אל Info.plist

    יש לציין NSBonjourServices ב-Info.plist כדי לאפשר גילוי רשת מקומית ב-iOS 14.

    צריך להוסיף גם _googlecast._tcp וגם _<your-app-id>._googlecast._tcp בתור שירותים למכשיר כדי שהוא יפעל כראוי.

    ה-appID הוא ה-ReceiverID שלך, שהוא אותו מזהה שמוגדר GCKDiscoveryCriteria

    מעדכנים את ההגדרה הבאה של NSBonjourServices לדוגמה, ו מחליפים את ABCD1234 עם ה-appID שלכם.

    &lt;key&gt;NSBonjourServices&lt;/key&gt;
    &lt;array&gt;
      &lt;string&gt;_googlecast._tcp&lt;/string&gt;
      &lt;string&gt;_ABCD1234._googlecast._tcp&lt;/string&gt;
    &lt;/array&gt;
  3. הוספת NSLocalNetworkUsageDescription אל Info.plist

    מומלץ מאוד להתאים אישית את ההודעה שמוצגת בדף בקשת רשת באמצעות הוספה של מחרוזת הרשאה ספציפית לאפליקציה קובץ Info.plist עבור NSLocalNetworkUsageDescription, למשל כדי לתאר הפעלת Cast שירותי גילוי ושירותי גילוי אחרים, כמו DIAL.

    &lt;key&gt;NSLocalNetworkUsageDescription&lt;/key&gt;
    <string>${PRODUCT_NAME} משתמש ברשת המקומית כדי למצוא מכשירים שתומכים ב-Cast ברשת ה-Wi-Fi
    .</string>

    ההודעה הזו תופיע כחלק מתיבת הדו-שיח 'גישה לרשת מקומית' ב-iOS בתור שמוצגת בדוגמה.

    תמונה של תיבת דו-שיח להרשאות גישה לרשת המקומית להעברה (cast)
  4. משיקים מחדש את האפליקציה ב-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 בגרסה 4.4.8 ו-Xcode 12?

יכול להיות שהאפליקציה לא תוכל לאתר מכשירי Cast ברשת המקומית אלא אם קיבלת מ-Apple הרשאה לרשת מרובת ערוצים (multicast). לתשומת ליבך, Apple לא תעניק הרשאות Multicast רק עבור שמטרתו לתמוך ב-Cast. אם אתם מתכננים לפתח גרסה של Xcode 12, עליכם לפרסם את האפליקציה. באמצעות Cast בגרסה 4.6.0.

אם אפרסם מחדש את האפליקציה עם ה-Cast SDK החדש, האם המשתמשים פועלים דרך iOS 13 או גרסה קודמת?

הם ימשיכו לראות את אותה חוויית משתמש שהיו להם לפני להפצה מחדש של האפליקציה. שינויים גלויים למשתמש מוגבלים למשתמשים שפועלת ב-iOS 14.

מה עליי לעשות כדי לעדכן את האפליקציה שלי לאחר העדכון של האפליקציה תפורסם הגרסה של Cast SDK?

  • צריך לעדכן את Info.plist של האפליקציה כך שיכלול רשת מקומית בתיאור של השימוש.
  • הוספת NSBonjourServices לאפליקציה שלך Info.plist ולספק את השמות של השירותים של Bonjour להעברה ומזהה האפליקציה.
  • כדי להשתמש ב-Cast SDK בגרסה 4.6.0, צריך לשדרג את אפליקציית השולח.
  • משיקים מחדש את האפליקציה ב-Apple App Store.

למה מכשירים הפסיקו להופיע במכשיר המותאם אישית שלי אחרי ששדרגתי ל-4.6.0?

זוהי בעיה ידועה שעלולה לקרות אם משתמשים במכשיר מותאם אישית במקום בבורר המכשירים הרגיל. בגרסה 4.4.8 של ב-Cast SDK ובגרסאות קודמות, הסריקה של המכשיר הייתה אוטומטית. תחילת הגרסה 4.6.0, יהיה עליך לקרוא באופן מפורש ל-startDiscovery ב-method GCKDiscoveryManager כדי להתחיל בגילוי המכשיר.

הסיבה לשינוי הזה היא שהגישה לרשת המקומית (LNA) בקשת ההרשאות תופיע לאחר שהאפליקציה תסרוק בפעם הראשונה בזמן האימון. הדבר עלול לגרום לכך שתיבות דו-שיח של הרשאות יופיעו במקומות אקראיים. באפליקציה.

מפתחים שבונים בורר מכשירים מותאם אישית לאפליקציה שלהם יהיו צפויה לספק מודעת מעברון חד-פעמית לפני הפעלת המכשיר בפעם הראשונה ב-iOS 14.

iOS 13

ב-iOS 13 נוספו דרישות הרשאות חדשות, שהשפיעו על אפליקציות שמשתמשות ב-Google Cast SDK.

החל מגרסה 4.4.3 של Google Cast SDK, יש ערכת SDK נוספת ש לא נדרשת הרשאת Bluetooth®. האפשרות הזו זמינה גם במפתחים של ובממשק החדש google-cast-sdk-no-bluetooth קקאו-פודים.

פירוט האפליקציות

הנה פירוט בהתאם לגרסת ה-SDK של iOS שיש לך כרגע באמצעות:

אפליקציות שפותחו באמצעות iOS 12 SDK או גרסאות קודמות

  • פעולה מומלצת. הביצועים של גילוי מכשירים עשויים לרדת כאשר פועלת ב-iOS 13, אבל תמשיך לפעול. מומלץ מאוד מפתחים לשדרג ל-Cast SDK גרסה 4.4.4 כשהיא זמינה.
  • iOS 13 תבקש מהמשתמשים להעניק הרשאות Bluetooth® לאפליקציה.

אפליקציות שפותחו באמצעות iOS 13 SDK

  • נדרשת פעולה: מעדכנים ל-Cast SDK 4.4.4. אחרת, יכול להיות שהלחצן להפעלת Cast לא מופיעות אם המשתמש לא העניק הרשאת מיקום. מתבצע שדרוג ל-Cast SDK גרסה 4.4.4 נדרשת כדי להבטיח חוויית העברה אמינה ב-iOS 13.