Ab iOS 14 gelten neue Einschränkungen und Berechtigungen, die sich auf die Cast-Nutzerfreundlichkeit auswirken. Außerdem ändert sich die Einbindung des Cast SDK in Ihre App. Damit die Cast-Funktionalität Ihrer App mit den neuesten iOS-Versionen erhalten bleibt, müssen Sie Aktualisierungen vornehmen, um diese Änderungen bei den Berechtigungen zu 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 am 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, 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 keine Geräte verfügbar sind, wenn der Nutzer auf die Cast-Schaltfläche tippt, 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 für Berechtigungen 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 durch 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
-
Cast iOS SDK 4.8.6 zum Projekt hinzufügen
Wenn Sie CocoaPods verwenden, fügen Sie das 4.8.6 SDK mit
pod updatezu Ihrem Projekt hinzu. -
NSBonjourServiceszuInfo.plisthinzufügenGeben Sie
NSBonjourServicesin IhrerInfo.plistan, damit die Suche im lokalen Netzwerk unter iOS 14 erfolgreich ist.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. -
NSLocalNetworkUsageDescriptionzu hinzufügenInfo.plistWir empfehlen dringend, die in der Aufforderung für das lokale Netzwerk angezeigte Nachricht anzupassen. Fügen Sie dazu in der Datei
Info.plistIhrer App einen app-spezifischen Berechtigungsstring fürNSLocalNetworkUsageDescriptionhinzu, um beispielsweise die Cast-Suche und andere Suchdienste wie DIAL zu beschreiben.Diese Nachricht wird als Teil des iOS-Dialogfelds für den Zugriff auf das lokale Netzwerk angezeigt, wie im Mockup zu sehen.
-
App im App Store neu veröffentlichen
Wir empfehlen, Ihre App so bald wie möglich mit 4.8.6 neu 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 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 immer GCKUICastButton 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 neu veröffentliche?
Ihre App kann möglicherweise keine Cast-Geräte im lokalen Netzwerk erkennen 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 unter iOS 13 oder früher, wenn ich meine App mit dem neuen Cast SDK neu veröffentliche?
Sie sehen weiterhin dieselbe Benutzeroberfläche wie vor der Neuveröffentlichung Ihrer App. Änderungen, die für Nutzer sichtbar sind, sind auf Nutzer unter iOS 14 beschränkt.
Was muss ich tun, um meine App zu aktualisieren, sobald die neue Version des Cast SDK veröffentlicht wird?
- Aktualisieren Sie die Datei
Info.plistIhrer App, um eine Beschreibung der Nutzung des lokalen Netzwerks hinzuzufügen. - Fügen Sie
NSBonjourServiceszur DateiInfo.plistIhrer 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 im App Store neu.
Warum werden Geräte in meiner benutzerdefinierten Geräteauswahl nicht mehr angezeigt, nachdem ich auf 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 war die Gerätesuche automatisch. 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 für Berechtigungen für den Zugriff auf das lokale Netzwerk angezeigt wird, nachdem die App zum ersten Mal gesucht hat. Dies kann dazu führen, dass 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 in den neuen
google-cast-sdk-no-bluetooth Cocoapods verfügbar.
Aufschlüsselung nach Apps
Hier ist eine Aufschlüsselung nach der Version des iOS SDK, das 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, nach Möglichkeit auf Cast SDK v4.4.4 zu aktualisieren.
- Unter iOS 13 werden Nutzer aufgefordert, der App Bluetooth®-Berechtigungen zu erteilen.
Apps, die mit dem iOS 13 SDK erstellt wurden
- Maßnahme erforderlich: Aktualisieren Sie auf Cast SDK 4.4.4. Andernfalls wird die Cast-Schaltfläche möglicherweise nicht angezeigt, wenn der Nutzer keine Standortberechtigung erteilt. Ein Upgrade auf Cast SDK 4.4.4 ist erforderlich, um unter iOS 13 ein zuverlässiges Streaming zu gewährleisten.