Apps, die nach Geräten im lokalen Netzwerk suchen, fordern Nutzer jetzt mit einem einmaligen 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 erkennen und zu steuern. Wenn der Nutzer die Berechtigung verweigert, kann er nicht streamen.
Wir nehmen einige Änderungen an der Benutzeroberfläche des SDK vor, um die Nutzerfreundlichkeit für Apps zu verbessern, die die Standard-Geräteauswahl verwenden. Durch diese Änderungen der Benutzeroberfläche wird Nutzern 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 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 Einrichtung des Swift Package Manager oder laden Sie es manuell herunter, indem Sie der manuellen Einrichtung folgen. 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. Die Schaltfläche „Streamen“ sollte jetzt immer angezeigt werden. Wenn keine Geräte verfügbar sind, wenn der Nutzer auf die Schaltfläche „Streamen“ 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 LNA-Interstitial-Dialogfeld (Local Network Access, Zugriff auf das lokale Netzwerk) angezeigt, in dem erklärt wird, warum der Zugriff auf das lokale Netzwerk erforderlich ist. Danach 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:

Streamen 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 geöffnet, in dem der Nutzer Hinweise auf mögliche Gründe dafür erhält, dass Cast nicht verfügbar ist. Das ist in den folgenden Mockups 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
google-cast-ios-sdk-Paket auf Version 4.8.6.Andernfalls müssen Sie das SDK manuell abrufen.
-
NSBonjourServiceszuInfo.plisthinzufügenGeben Sie
NSBonjourServicesin IhremInfo.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 richtig funktioniert.Die appID ist deine receiverID, also dieselbe ID, die in deinem
GCKDiscoveryCriteriadefiniert ist.Aktualisieren Sie die folgende
NSBonjourServices-Beispieldefinition und ersetzen Sie „ABCD1234“ durch Ihre App-ID. -
NSLocalNetworkUsageDescriptionzu IhremInfo.plisthinzufügenWir empfehlen dringend, die im Dialogfeld „Lokales Netzwerk“ angezeigte Meldung anzupassen. Fügen Sie dazu in der Datei
Info.plistIhrer App für dieNSLocalNetworkUsageDescriptioneinen app-spezifischen Berechtigungsstring hinzu, um z. B. die Suche nach Cast-Geräten und andere Suchdienste wie DIAL zu beschreiben.Diese Meldung wird im Dialogfeld für den Zugriff auf das lokale Netzwerk unter iOS angezeigt, wie im Mockup zu sehen ist.
-
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 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 zum ersten Mal im lokalen Netzwerk verwendet, wird das neue LNA-Interstitial und anschließend das iOS-Dialogfeld für die Berechtigungen für den Zugriff auf das lokale Netzwerk angezeigt.
Mit einem neuen Flag können Sie steuern, wann die Geräteerkennung beginnt 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 diese Option auf true festgelegt ist, beginnt die Suche nach Übertragungsgeräten, wenn ein Nutzer zum ersten Mal auf das GCKUICastButton tippt. Dem Nutzer wird eine Informationsmeldung angezeigt, in der erläutert wird, warum die Berechtigung für das lokale Netzwerk erforderlich ist. Danach wird die LNA-Mitteilung für iOS angezeigt.
Die Suche nach Übertragungsgeräten beginnt, nachdem die Meldung bestätigt wurde.
Bei nachfolgenden App-Starts wird immer GCKUICastButton angezeigt.
Wenn der Wert auf false gesetzt ist, beginnt die Gerätesuche basierend auf dem Wert des Flags GCKCastOptions::disableDiscoveryAutostart.
Häufig gestellte Fragen
Was passiert, wenn ich meine Cast-Absender-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 Netzwerk-Multicast erhalten. Hinweis: Apple gewährt keine Multicast-Berechtigungen ausschließlich zur Unterstützung von Cast. Wenn Sie Xcode 12 verwenden möchten, sollten Sie Ihre App 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
NSBonjourServiceszumInfo.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 noch einmal im Apple App Store.
Warum werden Geräte nach dem Upgrade auf Version 4.6.0 nicht mehr in meiner benutzerdefinierten Geräteauswahl angezeigt?
Dies ist ein bekanntes Problem, das auftreten kann, wenn Sie eine benutzerdefinierte Geräteauswahl 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 Methode startDiscovery in der Klasse
GCKDiscoveryManager explizit aufrufen, um die Gerätesuche zu starten.
Der Grund für diese Änderung ist, dass der Berechtigungs-Prompt für den Zugriff auf das lokale Netzwerk (Local Network Access, LNA) erst angezeigt wird, nachdem die App zum ersten Mal gescannt 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 des Gerätescans ein einmaliges Interstitial bereitstellen.