Od wersji iOS 14 system operacyjny będzie wymuszał nowe ograniczenia uprawnień wpływające na korzystanie z funkcji Cast. Wpłynie to także na sposób zaimplementuj w swojej aplikacji pakiet SDK Cast. Aby aplikacja zachowała funkcję przesyłania z najnowszymi wersjami iOS musisz wprowadzić aktualizacje, które pozwolą zmian uprawnień.
iOS 14
Deweloperzy powinni zaktualizować swoje aplikacje przesyłające dane Cast na iOS do pakietu Google Cast SDK wersji 4.6.0 lub nowszej. Te wersje obsługują system iOS 14 i jego wymagania.
Począwszy od systemu iOS 14, aplikacje, które skanują urządzenia w sieci lokalnej będzie teraz wyświetlać użytkownikom prośbę w oknie z prośbą o jednorazowe uprawnienia do urządzenia z siecią lokalną. Platforma Cast wykorzystuje sieć lokalną do wykrywania sterować urządzeniami przesyłającymi, więc jeśli użytkownik odmówi zgody, nie będzie mógł przesyłać.
Aby poprawić wrażenia użytkowników, wprowadzamy w pakiecie SDK pewne modyfikacje UX. dla tych aplikacji, które korzystają ze standardowego selektora urządzenia. Te zmiany UX użytkownicy będą bardziej świadomi, do czego potrzebne są uprawnienia dostępu do sieci lokalnej, oraz jak włączyć przesyłanie, jeśli dostęp do sieci lokalnej był wyłączono.
Aplikacje utworzone za pomocą pakietu Cast SDK w wersji 4.4.8 lub starszej będą nadal działać. działają, jeśli tylko zostały opracowane z użyciem Xcode 11.7 lub starszego. Jeśli jesteś na iOS 14 z kodem Xcode 12 lub nowszym, Pakiet SDK w wersji 4.6.0 lub nowszej, by mieć pewność, że aplikacja Cast będzie nadal działać prawidłowo.
Pakiet Cast SDK na iOS w wersji 4.6.0 lub nowszej możesz pobrać za pomocą CocoaPods. Aby to zrobić, wykonaj te czynności: konfigurację CocoaPods lub ręcznie przez po konfiguracji ręcznej. Ta wersja zawiera zmiany w podstawowym mechanizmie wykrywania, które pozwalają na dostęp do aplikacji, które są Xcode 12 pozwala wyszukiwać urządzenia przesyłające w sieci. Przycisk Cast powinien Teraz zawsze są wyświetlane. Jeśli po kliknięciu przycisku przesyłania nie są dostępne żadne urządzenia przycisk, wyświetli się okno ze wskazówkami, dlaczego urządzenia łącznie z informacjami o tym, jak ponownie włączyć dostęp przez sieć lokalną uprawnienia.
Zmiany w pakiecie Cast SDK
Pierwsze przesyłanie
Przy pierwszej próbie przesyłania treści przez sieć lokalną (LNA) pojawi się okno pełnoekranowe z wyjaśnieniem, dlaczego dostęp do sieci lokalnej jest a następnie przyznane przez Apple uprawnienia dostępu do sieci lokalnej na iOS. . Poniższe przykłady obrazują ten proces:
Przesyłanie niedostępne
Począwszy od pakietu SDK nadawcy na iOS w wersji 4.6.0 przycisk Cast jest zawsze wyświetlany, gdy użytkownik Urządzenie jest połączone z Wi-Fi. Gdy urządzenia przesyłające są niedostępne, dotknięcie przycisku Cast otwiera okno o możliwych przyczynach niedostępności przesyłania, tak jak na ilustracjach poniżej:
Aktualizowanie aplikacji na urządzeniach z iOS 14
-
Dodawanie do projektu pakietu SDK Cast na iOS 4.8.3
Jeśli korzystasz z CocoaPods, dodaj pakiet SDK 4.8.3 do projektu za pomocą
pod update
.W przeciwnym razie ręcznie pobrać pakiet SDK.
-
Dodaj:
NSBonjourServices
do:Info.plist
Podaj
NSBonjourServices
w poluInfo.plist
na pozwala na skuteczne wykrywanie sieci lokalnej na urządzeniach z iOS 14.Musisz dodać zarówno
_googlecast._tcp
, jak i_<your-app-id>._googlecast._tcp
jako usługi dla urządzenia ich prawidłowe działanie.Identyfikator appID to Twój odbiorca ID, czyli ten sam identyfikator zdefiniowany w
GCKDiscoveryCriteria
Zaktualizuj definicję i
NSBonjourServices
poniższy przykład zastąp „ABCD1234” z identyfikatorem aplikacji. -
Dodaj
NSLocalNetworkUsageDescription
doInfo.plist
Zdecydowanie zalecamy dostosowanie komunikatu wyświetlanego w sekcji Prośba o dostęp do sieci przez dodanie ciągu uprawnień aplikacji w polu
Info.plist
dlaNSLocalNetworkUsageDescription
, np. aby opisać przesyłanie. wykrywania i innych usług, takich jak DIAL.Ten komunikat będzie widoczny w oknie Dostęp do sieci lokalnej w iOS jako widoczne na przykładzie.
-
Ponowne publikowanie aplikacji w Apple App Store
Zalecamy też ponowne opublikowanie aplikacji przy użyciu wersji 4.8.3 jako jak najszybciej.
Dostosowania
Inicjowanie wykrywania urządzenia przesyłającego
Domyślnie wykrywanie urządzenia przesyłającego jest inicjowane za pierwszym razem, gdy użytkownik kliknie przycisk.
przycisk Cast (GCKUICastButton
). Jeśli użytkownik
Próbowano użyć aplikacji Cast w sieci lokalnej po aktualizacji do iOS
14, pojawi się nowa reklama pełnoekranowa LNA, a po niej sieć lokalna iOS
Okno uprawnień dostępu.
Dostępna jest nowa flaga, która pozwala określić, kiedy ma się rozpocząć wykrywanie urządzeń i zachowania niektórych jego elementów:
startDiscoveryAfterFirstTapOnCastButton: BOOL(true/false)
Wartością domyślną jest true
. Ta flaga ma zastosowanie tylko wtedy, gdy flaga
GCKCastOptions::disableDiscoveryAutostart
jest ustawiona na false
.
Jeśli ma wartość true
, wykrywanie urządzeń przesyłających rozpoczyna się, gdy użytkownik kliknie
GCKUICastButton
. Pojawi się komunikat
wyświetlane użytkownikowi, informując go, dlaczego uprawnienia do sieci lokalnej
niezbędną. Później wyświetli się komunikat LNA systemu iOS 14.
Wykrywanie urządzeń przesyłających rozpocznie się po potwierdzeniu wiadomości.
Przy kolejnych wersjach aplikacji GCKUICastButton
zawsze wyświetla się.
Jeśli zasada ma wartość false
, wykrywanie urządzeń rozpocznie się na podstawie wartości
flaga
GCKCastOptions::disableDiscoveryAutostart
Najczęstsze pytania
Co się stanie, jeśli ponownie udostępnię Aplikacja przesyłająca z pakietem Cast SDK w wersji 4.4.8 i Xcode 12?
Aplikacja może nie wykrywać urządzeń przesyłających w sieci lokalnej chyba że masz od Apple upoważnienie do korzystania z multicastów w sieci. Pamiętaj, że Apple nie przyzna uprawnień do transmisji grupowych wyłącznie w przypadku wyłącznie na potrzeby przesyłania. Jeśli planujesz kompilować przy użyciu Xcode 12, opublikuj aplikację dzięki Cast 4.6.0.
Jeśli ponownie opublikuję aplikację z nowym pakietem Cast SDK, Czy moi użytkownicy będą korzystać z iOS w wersji 13 lub starszej?
Użytkownicy będą mogli korzystać z tych samych funkcji co wcześniej. ponowne udostępnienie aplikacji. Zmiany widoczne dla użytkowników są ograniczone do użytkowników który działa w systemie iOS 14.
Co muszę zrobić, aby zaktualizować aplikację, gdy nowa jest już dostępna wersja pakietu Cast SDK?
- Zaktualizuj pole
Info.plist
w aplikacji, aby uwzględnić sieć lokalną opisu użycia. - Dodaj
NSBonjourServices
do tych pól w swojej aplikacjiInfo.plist
i podaj nazwy usług Bonjour dla Cast i identyfikator aplikacji. - Uaktualnij aplikację nadawcy, by używała pakietu Cast SDK 4.6.0.
- Ponownie opublikuj aplikację w sklepie Apple App Store.
Dlaczego urządzenia przestały się wyświetlać na moim urządzeniu niestandardowym po uaktualnieniu do wersji 4.6.0.
To znany problem, który może wystąpić, jeśli korzystasz z urządzenia niestandardowego
zamiast standardowego selektora urządzenia. W wersji 4.4.8
Pakiet Cast SDK i wcześniejsze skanowanie urządzeń przebiegało automatycznie. Początek w wersji
4.6.0, musisz wyraźnie wywołać funkcję startDiscovery
na
GCKDiscoveryManager
, aby zainicjować wykrywanie urządzenia.
Przyczyną tej zmiany jest to, że dostęp przez sieć lokalną prośba o przyznanie uprawnień pojawi się po pierwszym przeskanowaniu aplikacji obecnie się znajdujesz. Może to spowodować wyświetlanie okien uprawnień w losowych miejscach. w aplikacji.
Deweloperzy, którzy utworzą niestandardowy selektor urządzeń dla swojej aplikacji, ma wyświetlić jednorazową reklamę pełnoekranową przed zainicjowaniem urządzenia w systemie iOS 14.
iOS 13
W iOS 13 wprowadziliśmy nowe wymagania dotyczące uprawnień, które wpływają przez pakiet SDK Google Cast.
Począwszy od Google Cast SDK w wersji 4.4.3, dostępny jest dodatkowy pakiet SDK, który
nie wymaga uprawnień Bluetooth®. Ta funkcja jest dostępna zarówno na stronie deweloperskiej
w witrynie i w nowej
google-cast-sdk-no-bluetooth
Cocoapod.
Zestawienie aplikacji
Oto zestawienie według wersji pakietu SDK na iOS, którego aktualnie używasz przy użyciu:
aplikacje stworzone za pomocą pakietu SDK na system iOS 12 lub starszego,
- Zalecane działanie. Wydajność wykrywania urządzeń może się zmniejszyć, ma system iOS 13, ale nadal działa. Zdecydowanie zalecamy deweloperzy przechodzą z pakietu Cast SDK na wersję 4.4.4, gdy tylko będzie to możliwe.
- iOS 13 poprosi użytkowników o przyznanie aplikacji uprawnień dotyczących Bluetooth®.
Aplikacje korzystające z pakietu SDK na iOS 13
- Wymagane działanie: zaktualizuj pakiet SDK Cast do wersji 4.4.4 – w przeciwnym razie przycisk przesyłania może nie działać pojawiają się, jeśli użytkownik nie udzielił dostępu do lokalizacji. Przechodzenie na pakiet SDK Cast Wersja 4.4.4 jest niezbędna do niezawodnego przesyłania na iOS 13.