Anwendungen, die nach Geräten im lokalen Netzwerk suchen, fordern Nutzer jetzt über ein einmaliges Berechtigungsdialogfeld auf, Geräte im lokalen Netzwerk zu finden und eine Verbindung zu ihnen herzustellen. Die Cast-Plattform verwendet das lokale Netzwerk, um Cast-Geräte zu finden und zu steuern. Wenn der Nutzer die Berechtigung verweigert, kann er nicht streamen.
Um die Nutzerfreundlichkeit zu verbessern, nehmen wir einige UX-Änderungen am SDK für Apps vor, die die Standard-Geräteauswahl verwenden. Diese UX-Änderungen machen es für Nutzer offensichtlicher, warum Berechtigungen für den Zugriff auf das lokale Netzwerk erforderlich sind und wie sie das Streaming aktivieren können, wenn der Zugriff auf lokale Netzwerkgeräte deaktiviert wurde.
Das Cast iOS SDK v4.6.0 oder höher kann mit dem Swift Package Manager hinzugefügt werden. Folgen Sie dazu der Anleitung zur Einrichtung des Swift Package Managers. Alternativ können Sie es manuell herunterladen. Folgen Sie dazu der Anleitung zur manuellen Einrichtung. 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, einschließlich Informationen dazu, 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 Aufforderung zur Erteilung der Berechtigung für den Zugriff auf das lokale Netzwerk unter iOS angezeigt. Die folgenden Mockups veranschaulichen den Ablauf:

Cast nicht verfügbar
Ab iOS-Sender-SDK 4.6.0 wird das Cast-Symbol immer angezeigt, wenn der Nutzer mit dem 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 angezeigt, wie in den folgenden Beispielen zu sehen:

App aktualisieren
-
Cast iOS SDK 4.8.6 zu Ihrem Projekt hinzufügen
Wenn Sie den Swift Package Manager verwenden, aktualisieren Sie das Paket
google-cast-ios-sdkauf Version 4.8.6.Andernfalls müssen Sie das SDK manuell einbinden.
-
NSBonjourServiceszuInfo.plisthinzufügenGib
NSBonjourServicesin deinerInfo.plistan, damit die Erkennung lokaler Netzwerke erfolgreich ist.Sie müssen sowohl
_googlecast._tcpals auch_<your-app-id>._googlecast._tcpals Dienste hinzufügen, damit die Geräteerkennung ordnungsgemäß funktioniert.Die appID ist Ihre receiverID, die mit der in Ihrer
GCKDiscoveryCriteriadefinierten ID identisch ist.Aktualisieren Sie die folgende
NSBonjourServices-Beispieldefinition und ersetzen Sie „ABCD1234“ durch Ihre App-ID. -
NSLocalNetworkUsageDescriptionzuInfo.plisthinzufügenWir 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-Erkennung und andere Erkennungsdienste wie DIAL zu beschreiben.Diese Nachricht wird wie im Mockup gezeigt im iOS-Dialogfeld für den Zugriff auf das lokale Netzwerk angezeigt.
-
App im Apple App Store neu veröffentlichen
Wir empfehlen Ihnen, Ihre App so bald wie möglich mit Version 4.8.6 neu zu veröffentlichen.
Anpassungen
Initiierung der Cast-Geräteerkennung
Standardmäßig wird die Suche nach Cast-Geräten gestartet, wenn der Nutzer zum ersten Mal auf das Cast-Symbol (GCKUICastButton) tippt. Wenn der Nutzer zum ersten Mal versucht, die Cast-App im lokalen Netzwerk zu verwenden, wird die neue LNA-Interstitial-Anzeige eingeblendet, gefolgt vom Dialogfeld für die iOS-Berechtigungen für den Zugriff auf das lokale Netzwerk.
Es ist ein neues Flag verfügbar, mit dem du steuern kannst, wann die Geräteerkennung beginnt und wie sich bestimmte Elemente der UX verhalten:
startDiscoveryAfterFirstTapOnCastButton: BOOL(true/false)
Der Standardwert ist true. Dieses Flag gilt nur, wenn das Flag GCKCastOptions::disableDiscoveryAutostart auf false gesetzt ist.
Wenn der Wert auf true gesetzt ist, beginnt die Suche nach Cast-Geräten, wenn ein Nutzer zum ersten Mal auf die GCKUICastButton tippt. Dem Nutzer wird eine Informationsmeldung angezeigt, in der erklärt wird, warum die Berechtigung für das lokale Netzwerk erforderlich ist. Danach wird die iOS-LNA-Mitteilung angezeigt.
Die Suche nach Übertragungsgeräten beginnt, nachdem die Nachricht bestätigt wurde.
Bei nachfolgenden App-Starts wird GCKUICastButton immer angezeigt.
Wenn der Wert auf false gesetzt ist, wird die Geräteerkennung 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?
Deine App kann möglicherweise keine Übertragungsgeräte im lokalen Netzwerk finden, es sei denn, du hast von Apple eine Multicast-Berechtigung für das Netzwerk erhalten. Apple gewährt keine Multicast-Berechtigungen, die ausschließlich der Unterstützung von Cast dienen. Wenn du deine App mit Xcode 12 erstellen möchtest, solltest du sie mit Cast 4.6.0 veröffentlichen.
Was muss ich tun, um meine App zu aktualisieren, wenn die neue Version des Cast SDK veröffentlicht wird?
- Aktualisieren Sie die
Info.plistIhrer App, um eine Beschreibung der Nutzung des lokalen Netzwerks hinzuzufügen. - Fügen Sie
NSBonjourServiceszurInfo.plistIhrer App hinzu und geben Sie die Bonjour-Dienstnamen für Cast und Ihre App-ID an. - Aktualisieren Sie Ihre Sender-App, um das Cast SDK 4.6.0 zu verwenden.
- Veröffentlichen Sie Ihre App noch einmal im Apple App Store.
Warum werden Geräte nach dem Upgrade auf 4.6.0 nicht mehr in meiner benutzerdefinierten Geräteauswahl angezeigt?
Dies ist ein bekanntes Problem, das auftreten kann, wenn du eine benutzerdefinierte Geräteauswahl anstelle der Standardgeräteauswahl verwendest. In Version 4.4.8 des Cast SDK und früheren Versionen wurde die Gerätesuche automatisch durchgeführt. Ab Version 4.6.0 müssen Sie die Methode startDiscovery für die Klasse
GCKDiscoveryManager explizit aufrufen, um die Geräteerkennung zu starten.
Der Grund für diese Änderung ist, dass die Berechtigungsaufforderung für den Zugriff auf das lokale Netzwerk (Local Network Access, LNA) erst nach dem ersten Scan der App angezeigt wird. Dies kann dazu führen, dass Berechtigungsdialoge an zufälligen Stellen in Ihrer App angezeigt werden.
Entwickler, die eine benutzerdefinierte Geräteauswahl für ihre App erstellen, müssen eine einmalige Interstitial-Anzeige bereitstellen, bevor sie zum ersten Mal nach Geräten suchen.