Ab iOS 14 gelten neue Einschränkungen und Berechtigungen, die sich auf die Nutzerfreundlichkeit von Cast auswirken. Außerdem ändert sich die Einbindung des Cast SDK in Ihre App. Damit die Cast-Funktionalität in Ihrer App auch mit den neuesten iOS-Versionen erhalten bleibt, müssen Sie die Änderungen an diesen Berechtigungen berücksichtigen.
iOS 14
Entwickler sollten ihre iOS-Cast-Sender-Apps auf das Google Cast SDK v4.6.0 oder höher aktualisieren. Diese Versionen unterstützen iOS 14 und die entsprechenden Anforderungen.
Ab iOS 14 werden Nutzer von Anwendungen, die nach Geräten im lokalen Netzwerk suchen, über ein einmaliges Berechtigungsdialogfeld aufgefordert, den Zugriff auf Geräte im lokalen Netzwerk zu erlauben. Die Cast-Plattform verwendet das lokale Netzwerk, um Cast-Geräte zu erkennen und zu steuern. Wenn der Nutzer die Berechtigung verweigert, kann er keine Inhalte streamen.
Um die Nutzerfreundlichkeit zu verbessern, nehmen wir einige Änderungen an der Benutzeroberfläche des SDK für Apps vor, die die Standardgeräteauswahl verwenden. Durch diese Änderungen wird für Nutzer deutlicher, warum Berechtigungen für den Zugriff auf das lokale Netzwerk erforderlich sind und wie sie das Streaming aktivieren können, wenn der Zugriff auf Geräte im lokalen Netzwerk deaktiviert wurde.
Apps, die mit Versionen des Cast SDK mit v4.4.8 oder früher erstellt wurden, funktionieren weiterhin, solange sie mit Xcode 11.7 oder früher erstellt wurden. Wenn Sie mit Xcode 12 oder höher für iOS 14 entwickeln, empfehlen wir Ihnen, auf das Cast SDK v4.6.0 oder höher zu aktualisieren, damit Ihre Cast-App weiterhin ordnungsgemäß funktioniert.
Das Cast iOS SDK v4.6.0 oder höher kann mit CocoaPods durch Befolgen der CocoaPods-Einrichtung oder manuell durch Befolgen der manuellen Einrichtung heruntergeladen werden. Diese Version enthält Änderungen am zugrunde liegenden Erkennungsmechanismus, damit Apps, die mit Xcode 12 erstellt wurden, Cast-Geräte im Netzwerk finden können. Das Cast-Symbol sollte jetzt immer angezeigt werden. Wenn beim Tippen auf die Cast-Schaltfläche keine Geräte verfügbar sind, wird ein Dialogfeld mit Informationen dazu angezeigt, warum Geräte möglicherweise nicht verfügbar sind. Außerdem wird erklärt, wie die Berechtigung für den Zugriff auf das lokale Netzwerk wieder aktiviert werden kann.
Änderungen am Cast SDK
Erstes Streaming
Wenn ein Nutzer zum ersten Mal versucht, Inhalte zu streamen, wird ein Interstitial-Dialogfeld für den Zugriff auf das lokale Netzwerk angezeigt, in dem erklärt wird, warum der Zugriff auf das lokale Netzwerk erforderlich ist. Anschließend wird die von Apple bereitgestellte iOS-Aufforderung zur Erteilung der Berechtigung für den Zugriff auf das lokale Netzwerk angezeigt. Die folgenden Mockups veranschaulichen den Ablauf:

Streaming nicht verfügbar
Ab iOS Sender SDK 4.6.0 wird das Cast-Symbol immer angezeigt, wenn der Nutzer mit einem WLAN verbunden ist. Wenn keine Cast-Geräte verfügbar sind, wird beim Tippen auf das Cast-Symbol ein Dialogfeld mit möglichen Gründen für die Nichtverfügbarkeit von Cast angezeigt, wie in den folgenden Mockups zu sehen:

App unter iOS 14 aktualisieren
-
Fügen Sie Ihrem Projekt das Cast iOS SDK 4.8.4 hinzu.
Wenn Sie CocoaPods verwenden, fügen Sie das SDK 4.8.4 mit
pod updatezu Ihrem Projekt hinzu. -
Fügen Sie
NSBonjourServiceszu IhrerInfo.plisthinzu.Geben Sie
NSBonjourServicesin IhrerInfo.plistan, damit die Suche im lokalen Netzwerk unter iOS 14 funktioniert.Sie müssen sowohl
_googlecast._tcpals auch_<your-app-id>._googlecast._tcpals Dienste hinzufügen, damit die Gerätesuche ordnungsgemäß funktioniert.Die App-ID ist Ihre Empfänger-ID, die mit der ID identisch ist, die in Ihrem
GCKDiscoveryCriteriadefiniert ist.Aktualisieren Sie die folgende
NSBonjourServicesDefinition und ersetzen Sie „ABCD1234“ durch Ihre App-ID. -
Fügen Sie
NSLocalNetworkUsageDescriptionzu IhrerInfo.plistWir empfehlen dringend, die in der Aufforderung für das lokale Netzwerk angezeigte Nachricht anzupassen. Fügen Sie dazu in der
Info.plistDatei Ihrer App einen app-spezifischen Berechtigungsstring fürNSLocalNetworkUsageDescriptionhinzu, um beispielsweise die Cast- Suche und andere Suchdienste wie DIAL zu beschreiben.Diese Nachricht wird im iOS-Dialogfeld für den Zugriff auf das lokale Netzwerk angezeigt, wie im Mockup zu sehen.
-
Veröffentlichen Sie Ihre App noch einmal im App Store.
Wir empfehlen Ihnen, Ihre App so bald wie möglich mit Version 4.8.4 noch einmal zu veröffentlichen.
Anpassungen
Start der Suche nach Übertragungsgeräten
Standardmäßig wird die Suche nach Übertragungsgeräten gestartet, wenn der Nutzer zum ersten Mal auf das Cast-Symbol (GCKUICastButton) tippt. Wenn der Nutzer die Cast-App nach dem Upgrade auf iOS 14 zum ersten Mal im lokalen Netzwerk verwendet, wird das neue LNA-Interstitial angezeigt, gefolgt vom iOS-Dialogfeld für die Berechtigungen für den Zugriff auf das lokale Netzwerk.
Mit einem neuen Flag können Sie steuern, wann die Gerätesuche gestartet wird und wie sich bestimmte Elemente der Benutzeroberfläche verhalten:
startDiscoveryAfterFirstTapOnCastButton: BOOL(true/false)
Der Standardwert ist true. Dieses Flag gilt nur, wenn das Flag
GCKCastOptions::disableDiscoveryAutostart
auf false gesetzt ist.
Wenn es auf true gesetzt ist, wird die Suche nach Übertragungsgeräten gestartet, wenn ein Nutzer zum ersten Mal auf GCKUICastButton tippt. Dem Nutzer wird eine Informationsnachricht angezeigt, in der erklärt wird, warum die Berechtigung für den Zugriff auf das lokale Netzwerk erforderlich ist. Danach wird die iOS 14-LNA-Nachricht angezeigt.
Die Suche nach Übertragungsgeräten wird gestartet, nachdem die Nachricht bestätigt wurde.
Bei nachfolgenden App-Starts wird GCKUICastButton immer angezeigt.
Wenn es auf false gesetzt ist, wird die Gerätesuche basierend auf dem Wert des
Flags
GCKCastOptions::disableDiscoveryAutostart gestartet.
Häufig gestellte Fragen
Was passiert, wenn ich meine Cast-Sender-App mit dem Cast SDK v4.4.8 und Xcode 12 noch einmal veröffentliche?
Ihre App kann möglicherweise keine Cast-Geräte im lokalen Netzwerk finden es sei denn, Sie haben von Apple eine Berechtigung für Multicast im Netzwerk erhalten. Apple erteilt keine Multicast-Berechtigungen ausschließlich zur Unterstützung von Cast. Wenn Sie mit Xcode 12 entwickeln möchten, sollten Sie Ihre App mit Cast 4.6.0 veröffentlichen.
Was passiert für Nutzer meiner App, die iOS 13 oder eine frühere Version verwenden, wenn ich meine App mit dem neuen Cast SDK noch einmal veröffentliche?
Für diese Nutzer ändert sich nichts. Änderungen sind nur für Nutzer sichtbar, die iOS 14 verwenden.
Was muss ich tun, um meine App zu aktualisieren, sobald die neue Version des Cast SDK veröffentlicht wird?
- Aktualisieren Sie die
Info.plist-Datei Ihrer App, um eine Beschreibung der Nutzung des lokalen Netzwerks hinzuzufügen. - Fügen Sie
NSBonjourServiceszurInfo.plist-Datei Ihrer App hinzu und geben Sie die Bonjour-Dienstnamen für Cast und Ihre App-ID an. - Aktualisieren Sie Ihre Sender-App auf Cast SDK 4.6.0.
- Veröffentlichen Sie Ihre App noch einmal im App Store.
Warum werden Geräte in meiner benutzerdefinierten Geräteauswahl nicht mehr angezeigt, nachdem ich auf Version 4.6.0 aktualisiert habe?
Dies ist ein bekanntes Problem, das auftreten kann, wenn Sie eine benutzerdefinierte Geräte
auswahl anstelle der Standardgeräteauswahl verwenden. In Version 4.4.8 des
Cast SDK und früher wurde die Gerätesuche automatisch durchgeführt. Ab Version
4.6.0 müssen Sie die startDiscovery
Methode für die
GCKDiscoveryManager Klasse explizit aufrufen, um die Gerätesuche zu starten.
Der Grund für diese Änderung ist, dass die Aufforderung zur Erteilung der Berechtigung für den Zugriff auf das lokale Netzwerk angezeigt wird, nachdem die App zum ersten Mal gesucht hat. Dadurch können Berechtigungsdialogfelder an zufälligen Stellen in Ihrer App angezeigt werden.
Entwickler, die eine benutzerdefinierte Geräteauswahl für ihre App erstellen, müssen vor dem ersten Start der Gerätesuche unter iOS 14 ein einmaliges Interstitial bereitstellen.
iOS 13
Mit iOS 13 wurden neue Berechtigungsanforderungen eingeführt, die sich auf Apps auswirken, die das Google Cast SDK verwenden.
Ab Google Cast SDK v4.4.3 ist ein zusätzliches SDK verfügbar, für das keine Bluetooth®-Berechtigung erforderlich ist. Es ist sowohl auf der Entwickler
website als auch auf dem neuen
google-cast-sdk-no-bluetooth Cocoapod verfügbar.
Aufschlüsselung nach Apps
Hier finden Sie eine Aufschlüsselung nach der Version des iOS SDK, die Sie derzeit verwenden:
Apps, die mit dem iOS 12 SDK oder früher erstellt wurden
- Empfohlene Maßnahme : Die Leistung der Gerätesuche kann unter iOS 13 abnehmen, funktioniert aber weiterhin. Wir empfehlen Entwicklern dringend, auf Cast SDK v4.4.4 zu aktualisieren, sobald es verfügbar ist.
- Unter iOS 13 werden Nutzer aufgefordert, der App Bluetooth®-Berechtigungen zu erteilen.
Apps, die mit dem iOS 13 SDK erstellt wurden
- Erforderliche Maßnahme: Aktualisieren Sie auf Cast SDK 4.4.4. Andernfalls wird die Cast-Schaltfläche möglicherweise nicht angezeigt, wenn der Nutzer keine Berechtigung zur Standortermittlung erteilt. Ein Upgrade auf Cast SDK 4.4.4 ist erforderlich, um unter iOS 13 ein zuverlässiges Streaming zu gewährleisten.