ตั้งแต่ iOS 14 เป็นต้นไป ระบบปฏิบัติการจะบังคับใช้ข้อจำกัดใหม่และ สิทธิ์ที่ส่งผลต่อประสบการณ์ของผู้ใช้ Cast และยังส่งผลต่อวิธีที่คุณ สร้าง Cast SDK ในแอปของคุณ เพื่อให้แอปรักษาฟังก์ชันการแคสต์ไว้ ใน iOS เวอร์ชันล่าสุด คุณต้องทำการอัปเดตเพื่อจัดการ การเปลี่ยนแปลงสิทธิ์
iOS 14
นักพัฒนาซอฟต์แวร์ควรอัปเดตแอปผู้ส่ง iOS Cast เป็น Google Cast SDK v4.6.0 ขึ้นไป เวอร์ชันเหล่านี้รองรับ iOS 14 และข้อกําหนดของ iOS
แอปพลิเคชันที่สแกนหาอุปกรณ์ในเครือข่าย LAN เริ่มตั้งแต่ iOS 14 จะแสดงข้อความแจ้งผู้ใช้ด้วยกล่องโต้ตอบสิทธิ์แบบครั้งเดียวเพื่อค้นหาและเชื่อมต่อ อุปกรณ์เครือข่ายภายใน แพลตฟอร์ม Cast ใช้เครือข่ายเฉพาะที่เพื่อสำรวจและ ควบคุมอุปกรณ์แคสต์ ดังนั้นหากผู้ใช้ปฏิเสธสิทธิ์ ก็จะไม่สามารถ แคสต์
เรากำลังปรับเปลี่ยน UX บางส่วนใน SDK เพื่อปรับปรุงประสบการณ์ของผู้ใช้ สำหรับแอปที่ใช้เครื่องมือเลือกอุปกรณ์มาตรฐาน การแก้ไข UX เหล่านี้ ทำให้ผู้ใช้เข้าใจได้ชัดเจนยิ่งขึ้นว่าทำไมจึงต้องมีสิทธิ์เข้าถึงเครือข่ายภายใน รวมถึงวิธีเปิดใช้การแคสต์หากมีการเข้าถึงอุปกรณ์เครือข่ายภายใน ปิดใช้อยู่
แอปที่สร้างด้วย Cast SDK เวอร์ชันที่ใช้ v4.4.8 หรือเก่ากว่านั้นจะทำงานต่อ ใช้งานได้ตราบใดที่อุปกรณ์สร้างด้วย Xcode 11.7 หรือรุ่นก่อนหน้า หากคุณ สำหรับ iOS 14 ที่มี Xcode 12 ขึ้นไป เราขอแนะนำให้อัปเดตเป็น Cast SDK เวอร์ชัน 4.6.0 ขึ้นไปเพื่อให้แน่ใจว่าแอป Cast จะทำงานต่อไปได้อย่างถูกต้อง
คุณสามารถดาวน์โหลด Cast iOS SDK v4.6.0 ขึ้นไปได้ด้วย CocoaPods โดยทำตามขั้นตอนต่อไปนี้ การตั้งค่า CocoaPods หรือด้วยตนเองโดย ตามการตั้งค่าด้วยตนเอง รุ่นนี้ มีการเปลี่ยนแปลงกลไกการค้นหาที่สำคัญ เพื่อให้แอปที่ ที่สร้างด้วย Xcode 12 เพื่อค้นหาอุปกรณ์แคสต์ในเครือข่าย ปุ่ม "แคสต์" ควร เป็นจอแสดงผลตลอดเวลา หากไม่มีอุปกรณ์ที่พร้อมใช้งานเมื่อผู้ใช้แตะ "แคสต์" กล่องโต้ตอบจะปรากฏขึ้น ซึ่งจะแนะนำสาเหตุที่อุปกรณ์ ซึ่งรวมถึงข้อมูลเกี่ยวกับวิธีเปิดใช้การเข้าถึงเครือข่ายภายในอีกครั้ง สิทธิ์
การเปลี่ยนแปลง Cast SDK
การแคสต์ครั้งแรก
ครั้งแรกที่ผู้ใช้พยายามแคสต์ ซึ่งเป็นการเข้าถึงเครือข่ายภายใน (LNA) กล่องโต้ตอบคั่นระหว่างหน้าจะปรากฏขึ้นเพื่ออธิบายเหตุผลที่การเข้าถึงเครือข่ายท้องถิ่น ตามด้วยสิทธิ์การเข้าถึงเครือข่ายภายในของ iOS จาก Apple ปรากฏขึ้น ภาพจำลองด้านล่างแสดงให้เห็นลักษณะการเคลื่อนไหว
แคสต์ไม่พร้อมใช้งาน
สำหรับ SDK ผู้ส่ง iOS 4.6.0 เป็นต้นไป ปุ่ม "แคสต์" จะปรากฏเสมอเมื่อผู้ใช้ เชื่อมต่อกับ Wi-Fi อยู่ เมื่ออุปกรณ์แคสต์ไม่พร้อมใช้งาน การแตะปุ่ม "แคสต์" จะแสดงกล่องโต้ตอบที่ให้ผู้ใช้ คำแนะนำเกี่ยวกับสาเหตุที่อาจทำให้ Cast ไม่พร้อมใช้งาน ตามที่แสดงในภาพจำลองด้านล่าง
การอัปเดตแอปใน iOS 14
-
เพิ่ม Cast iOS SDK 4.8.3 ลงในโปรเจ็กต์ของคุณ
หากใช้ CocoaPods ให้ใช้
pod update
เพื่อเพิ่ม SDK 4.8.3 ในโปรเจ็กต์ของคุณหรือไม่เช่นนั้น ดึง SDK ด้วยตัวเอง
-
เพิ่ม
NSBonjourServices
ลงในInfo.plist
ระบุ
NSBonjourServices
ในInfo.plist
เพื่อ ทำให้การค้นหาเครือข่าย LAN ประสบความสำเร็จใน iOS 14คุณจะต้องเพิ่มทั้ง
_googlecast._tcp
และ_<your-app-id>._googlecast._tcp
เป็นบริการสำหรับอุปกรณ์ เพื่อให้การค้นหาทำงานได้อย่างเหมาะสมappID คือ ReceiverID ซึ่งเป็นรหัสเดียวกับที่ระบุไว้ใน
GCKDiscoveryCriteria
อัปเดตตัวอย่างคำจำกัดความ
NSBonjourServices
ต่อไปนี้และ แทนที่ "ABCD1234" ด้วยรหัสแอปของคุณ -
เพิ่ม
NSLocalNetworkUsageDescription
ลงในInfo.plist
เราขอแนะนำให้คุณปรับแต่งข้อความที่แสดงใน ข้อความแจ้งเกี่ยวกับเครือข่ายด้วยการเพิ่มสตริงสิทธิ์เฉพาะแอปลงใน
Info.plist
ไฟล์สำหรับNSLocalNetworkUsageDescription
เช่น เพื่ออธิบายการแคสต์ บริการสำรวจและบริการค้นพบอื่นๆ เช่น DIALข้อความนี้จะปรากฏเป็นส่วนหนึ่งของกล่องโต้ตอบการเข้าถึงเครือข่าย LAN ของ iOS เป็น ที่แสดงในภาพจำลอง
-
เผยแพร่แอปใน Apple App Store อีกครั้ง
เราขอแนะนำให้คุณเปิดตัวแอปอีกครั้งโดยใช้ 4.8.3 ด้วย โดยเร็วที่สุด
การปรับแต่ง
การเริ่มต้นการค้นหาอุปกรณ์แคสต์
โดยค่าเริ่มต้น การค้นหาอุปกรณ์แคสต์จะเริ่มขึ้นเมื่อผู้ใช้แตะเป็นครั้งแรก
ปุ่ม "แคสต์" (GCKUICastButton
) หากนี่เป็นครั้งแรกที่ผู้ใช้
พยายามใช้แอป Cast บนเครือข่ายภายในหลังจากอัปเกรดเป็น iOS
14 โฆษณาคั่นระหว่างหน้า LNA ใหม่จะปรากฏขึ้น ตามด้วยเครือข่ายท้องถิ่นของ iOS
กล่องโต้ตอบสิทธิ์การเข้าถึง
มีแฟล็กใหม่ซึ่งช่วยให้คุณควบคุมเวลาที่การค้นหาอุปกรณ์จะเริ่มต้นได้ และลักษณะการทำงานขององค์ประกอบบางอย่างของ UX ได้แก่
startDiscoveryAfterFirstTapOnCastButton: BOOL(true/false)
ค่าเริ่มต้นคือ true
การตั้งค่าสถานะนี้จะใช้ได้เฉพาะเมื่อมีการตั้งค่าสถานะ
GCKCastOptions::disableDiscoveryAutostart
ตั้งค่าเป็น false
หากตั้งค่าเป็น true
การค้นพบอุปกรณ์แคสต์จะเริ่มต้นเมื่อผู้ใช้แตะ
GCKUICastButton
เป็นครั้งแรก ข้อความให้ข้อมูลจะ
เพื่อแจ้งให้ผู้ใช้ทราบว่าทำไมต้องใช้สิทธิ์เข้าถึงเครือข่ายภายใน
ที่จำเป็น หลังจากข้อความดังกล่าว ข้อความ iOS 14 LNA จะแสดงขึ้นมา
การค้นหาอุปกรณ์แคสต์จะเริ่มต้นหลังจากที่รับทราบข้อความแล้ว
ในการเปิดตัวแอปครั้งต่อๆ ไป GCKUICastButton
จะแสดงเสมอ
หากตั้งค่าเป็น false
การค้นพบอุปกรณ์จะเริ่มขึ้นตามค่าของ
แจ้งว่าไม่เหมาะสม
GCKCastOptions::disableDiscoveryAutostart
คำถามที่พบบ่อย
จะเกิดอะไรขึ้นหากฉันเผยแพร่ แอปผู้ส่งแคสต์ที่มี Cast SDK v4.4.8 และ Xcode 12 ใช่ไหม
แอปของคุณอาจไม่พบอุปกรณ์แคสต์ในเครือข่ายภายใน เว้นแต่คุณได้รับสิทธิ์เครือข่ายมัลติแคสต์จาก Apple โปรดทราบว่า Apple จะไม่ให้สิทธิ์มัลติแคสต์สำหรับ จุดประสงค์ในการรองรับ Cast หากวางแผนที่จะสร้างด้วย Xcode 12 คุณควรเผยแพร่แอป พร้อมแคสต์ 4.6.0
หากฉันเปิดตัวแอปอีกครั้งด้วย Cast SDK ใหม่ ผู้ใช้ของฉันจะใช้ iOS 13 หรือเวอร์ชันก่อนหน้าไหม
โดยผู้ใช้จะยังคงเห็นประสบการณ์การใช้งานแบบเดิม นำแอปมาเผยแพร่อีกครั้ง การเปลี่ยนแปลงที่ผู้ใช้มองเห็นจะจำกัดเฉพาะผู้ใช้เท่านั้น ที่ทำงานใน iOS 14
ฉันจะต้องทำอย่างไรเพื่ออัปเดตแอปเมื่อ Cast SDK เปิดตัวแล้วใช่ไหม
- อัปเดต
Info.plist
ของแอปให้รวมเครือข่ายภายใน คำอธิบายการใช้งาน - เพิ่ม
NSBonjourServices
ลงในแอปInfo.plist
และระบุชื่อบริการ Bonjour สำหรับการแคสต์ และรหัสแอปของคุณ - อัปเกรดแอปผู้ส่งเพื่อใช้ Cast SDK 4.6.0
- เผยแพร่แอปใน Apple App Store อีกครั้ง
ทำไมอุปกรณ์จึงหยุดแสดงในอุปกรณ์ที่กำหนดเองของฉัน หลังจากอัปเกรดเป็น 4.6.0
กรณีนี้เป็นปัญหาที่ทราบอยู่แล้ว ซึ่งอาจเกิดขึ้นได้หากคุณใช้อุปกรณ์ที่กำหนดเอง
แทนเครื่องมือเลือกอุปกรณ์มาตรฐาน ในเวอร์ชัน 4.4.8
Cast SDK และเวอร์ชันก่อนหน้าเป็นการสแกนอุปกรณ์โดยอัตโนมัติ เริ่มต้นในเวอร์ชัน
4.6.0 คุณจะต้องเรียกใช้ startDiscovery
อย่างชัดแจ้ง
ใน
GCKDiscoveryManager
เพื่อเริ่มการค้นหาอุปกรณ์
สาเหตุของการเปลี่ยนแปลงนี้เนื่องจากการเข้าถึงเครือข่าย LAN (LNA) ข้อความแจ้งสิทธิ์จะปรากฏขึ้นหลังจากที่แอปสแกน การดำเนินการนี้อาจส่งผลให้กล่องโต้ตอบสิทธิ์ปรากฏขึ้นในตำแหน่งแบบสุ่ม ในแอปของคุณ
นักพัฒนาแอปที่สร้างเครื่องมือเลือกอุปกรณ์ที่กำหนดเองสำหรับแอปของตนจะ จะต้องแสดงโฆษณาคั่นระหว่างหน้าแบบครั้งเดียวก่อนเริ่มต้นอุปกรณ์ สแกนเป็นครั้งแรกใน iOS 14
iOS 13
ใน iOS 13 เราได้เปิดตัวข้อกำหนดใหม่เกี่ยวกับสิทธิ์ซึ่งส่งผลต่อ แอปที่ใช้ Google Cast SDK
สำหรับ Google Cast SDK v4.4.3 เป็นต้นไป มี SDK เพิ่มเติมพร้อมให้บริการที่
ไม่ต้องใช้สิทธิ์ Bluetooth® วิธีนี้ใช้ได้ทั้งในเวอร์ชันนักพัฒนาซอฟต์แวร์
ในเว็บไซต์และในเว็บไซต์
CocoaPods google-cast-sdk-no-bluetooth
รายการ
รายละเอียดแอป
ต่อไปนี้เป็นรายละเอียดโดยขึ้นอยู่กับเวอร์ชันของ iOS SDK ที่คุณใช้อยู่ในปัจจุบัน โดยใช้:
แอปที่สร้างด้วย iOS 12 SDK หรือเวอร์ชันก่อนหน้า
- การดำเนินการที่แนะนำ ประสิทธิภาพการค้นหาอุปกรณ์อาจลดลงเมื่อ ที่ทำงานบน iOS 13 แต่จะยังคงใช้งานได้ ขอแนะนำอย่างยิ่ง ก็อัปเกรดเป็น Cast SDK v4.4.4 เมื่อพร้อมใช้งาน
- iOS 13 จะแจ้งให้ผู้ใช้ให้สิทธิ์ Bluetooth® กับแอป
แอปที่สร้างด้วย iOS 13 SDK
- ขอให้ดำเนินการ: อัปเดตเป็น Cast SDK 4.4.4 มิฉะนั้นปุ่ม "แคสต์" อาจไม่ จะปรากฏขึ้นหากผู้ใช้ไม่ให้สิทธิ์เข้าถึงตําแหน่ง การอัปเกรดเป็น Cast SDK จำเป็นต้องมี 4.4.4 เพื่อประสบการณ์การแคสต์ที่เชื่อถือได้บน iOS 13