แอปพลิเคชันที่สแกนหาอุปกรณ์ในเครือข่ายภายในจะแสดงกล่องโต้ตอบสิทธิ์ครั้งเดียวให้ผู้ใช้เห็นเพื่อค้นหาและเชื่อมต่อกับอุปกรณ์ในเครือข่ายภายใน แพลตฟอร์ม Cast ใช้เครือข่ายภายในเพื่อค้นหาและควบคุมอุปกรณ์ Cast ดังนั้นหากผู้ใช้ปฏิเสธสิทธิ์ ก็จะแคสต์ไม่ได้
เรากำลังทำการปรับเปลี่ยน UX บางอย่างใน SDK สำหรับแอปที่ใช้เครื่องมือเลือกอุปกรณ์มาตรฐานเพื่อปรับปรุงประสบการณ์ของผู้ใช้ การปรับเปลี่ยน UX เหล่านี้ช่วยให้ผู้ใช้เข้าใจได้ชัดเจนยิ่งขึ้นว่าเหตุใดจึงต้องมีสิทธิ์เข้าถึงเครือข่าย LAN รวมถึงวิธีเปิดใช้การแคสต์หากปิดใช้การเข้าถึงอุปกรณ์ในเครือข่าย LAN ไว้
คุณสามารถเพิ่ม Cast iOS SDK v4.6.0 ขึ้นไปได้ด้วย Swift Package Manager โดยทำตามการตั้งค่า Swift Package Manager หรือดาวน์โหลดด้วยตนเองโดยทำตามการตั้งค่าด้วยตนเอง รุ่นนี้มีการเปลี่ยนแปลงกลไกการค้นหาที่สำคัญเพื่ออนุญาตให้แอปที่สร้างด้วย Xcode 12 ค้นหาอุปกรณ์แคสต์ในเครือข่ายได้ ปุ่มแคสต์ควรจะแสดงอยู่เสมอแล้ว หากไม่มีอุปกรณ์ที่พร้อมใช้งานเมื่อผู้ใช้แตะปุ่มแคสต์ กล่องโต้ตอบจะแสดงขึ้นเพื่อระบุสาเหตุที่อุปกรณ์อาจไม่พร้อมใช้งาน รวมถึงข้อมูลเกี่ยวกับวิธีเปิดใช้สิทธิ์เข้าถึงเครือข่าย LAN อีกครั้ง
การเปลี่ยนแปลง Cast SDK
การแคสต์ครั้งแรก
ครั้งแรกที่ผู้ใช้พยายามแคสต์ กล่องโต้ตอบคั่นระหว่างหน้าสำหรับการเข้าถึงเครือข่ายภายใน (LNA) จะปรากฏขึ้นเพื่ออธิบายสาเหตุที่จำเป็นต้องเข้าถึงเครือข่ายภายใน ตามด้วยข้อความแจ้งสิทธิ์การเข้าถึงเครือข่ายภายในของ iOS ที่ Apple มีให้ ภาพจำลองด้านล่างแสดงขั้นตอนการทำงาน

แคสต์ไม่ได้
ตั้งแต่ iOS Sender SDK 4.6.0 เป็นต้นไป ปุ่มแคสต์จะปรากฏขึ้นเสมอเมื่อผู้ใช้เชื่อมต่อกับ Wi-Fi เมื่ออุปกรณ์แคสต์ไม่พร้อมใช้งาน การแตะปุ่มแคสต์จะแสดงกล่องโต้ตอบที่ให้คำแนะนำแก่ผู้ใช้เกี่ยวกับสาเหตุที่เป็นไปได้ที่ทำให้แคสต์ไม่พร้อมใช้งาน ดังที่แสดงในตัวอย่างด้านล่าง

การอัปเดตแอป
-
เพิ่ม Cast iOS SDK 4.8.6 ลงในโปรเจ็กต์
หากใช้ Swift Package Manager ให้อัปเดตแพ็กเกจ
google-cast-ios-sdkเป็นเวอร์ชัน 4.8.6หรือ ดึง SDK ด้วยตนเอง
-
เพิ่ม
NSBonjourServicesลงในInfo.plistระบุ
NSBonjourServicesในInfo.plistเพื่อให้การค้นหาเครือข่ายภายในสำเร็จคุณจะต้องเพิ่มทั้ง
_googlecast._tcpและ_<your-app-id>._googlecast._tcpเป็นบริการเพื่อให้การค้นหาอุปกรณ์ทำงานได้อย่างถูกต้องappID คือ receiverID ซึ่งเป็นรหัสเดียวกับที่กำหนดไว้ใน
GCKDiscoveryCriteriaอัปเดตคำจำกัดความ
NSBonjourServicesต่อไปนี้และแทนที่ "ABCD1234" ด้วย appID ของคุณ -
เพิ่ม
NSLocalNetworkUsageDescriptionลงในInfo.plistเราขอแนะนำอย่างยิ่งให้คุณปรับแต่งข้อความที่แสดงในข้อความแจ้งของเครือข่าย LAN โดยเพิ่มสตริงสิทธิ์เฉพาะแอปในไฟล์
Info.plistของแอปสำหรับNSLocalNetworkUsageDescriptionเช่น เพื่ออธิบายการค้นพบ Cast และบริการการค้นพบอื่นๆ เช่น DIALข้อความนี้จะปรากฏเป็นส่วนหนึ่งของกล่องโต้ตอบการเข้าถึงเครือข่ายภายในของ iOS ดังที่แสดงในตัวอย่างจำลอง
-
เผยแพร่แอปอีกครั้งใน Apple App Store
เราขอแนะนำให้คุณเปิดตัวแอปอีกครั้งโดยใช้ 4.8.6 โดยเร็วที่สุด
การปรับแต่ง
การเริ่มต้นการค้นหาอุปกรณ์แคสต์
โดยค่าเริ่มต้น การค้นหาอุปกรณ์แคสต์จะเริ่มขึ้นเมื่อผู้ใช้แตะปุ่มแคสต์ (GCKUICastButton) เป็นครั้งแรก หากนี่เป็นครั้งแรกที่ผู้ใช้พยายามใช้แอปแคสต์ในเครือข่าย LAN โฆษณาคั่นระหว่างหน้า LNA ใหม่จะปรากฏขึ้น ตามด้วยกล่องโต้ตอบสิทธิ์เข้าถึงเครือข่าย LAN ของ iOS
มี Flag ใหม่ที่ช่วยให้คุณควบคุมเวลาที่การค้นหาอุปกรณ์จะเริ่มขึ้นและลักษณะการทำงานขององค์ประกอบบางอย่างของ UX ได้ ดังนี้
startDiscoveryAfterFirstTapOnCastButton: BOOL(true/false)
ค่าเริ่มต้นคือ true แฟล็กนี้จะใช้ได้เฉพาะเมื่อตั้งค่าแฟล็ก
GCKCastOptions::disableDiscoveryAutostart
เป็น false
หากตั้งค่าเป็น true การค้นหาอุปกรณ์แคสต์จะเริ่มขึ้นเมื่อผู้ใช้แตะGCKUICastButtonเป็นครั้งแรก ข้อความแสดงข้อมูลจะแสดงให้ผู้ใช้ทราบถึงเหตุผลที่ต้องใช้สิทธิ์เข้าถึงเครือข่าย LAN หลังจากข้อความดังกล่าว ระบบจะแสดงข้อความ LNA ของ iOS
การค้นหาอุปกรณ์แคสต์จะเริ่มขึ้นหลังจากรับทราบข้อความแล้ว
ในการเปิดแอปครั้งต่อๆ ไป GCKUICastButton จะแสดงเสมอ
หากตั้งค่าเป็น false การค้นหาอุปกรณ์จะเริ่มขึ้นตามค่าของแฟล็ก GCKCastOptions::disableDiscoveryAutostart
คำถามที่พบบ่อย
จะเกิดอะไรขึ้นหากฉันเผยแพร่แอปผู้ส่ง Cast อีกครั้งด้วย Cast SDK v4.4.8 และ Xcode 12
แอปของคุณอาจไม่สามารถค้นพบอุปกรณ์แคสต์ในเครือข่ายเฉพาะที่ เว้นแต่คุณจะได้รับสิทธิ์มัลติแคสต์เครือข่ายจาก Apple โปรดทราบว่า Apple จะไม่ให้สิทธิ์มัลติแคสต์เพื่อวัตถุประสงค์ในการรองรับ Cast เพียงอย่างเดียว หากวางแผนที่จะสร้างด้วย Xcode 12 คุณควรเผยแพร่แอปด้วย Cast 4.6.0
ฉันต้องทำอะไรบ้างเพื่ออัปเดตแอปเมื่อ Cast SDK เวอร์ชันใหม่เปิดตัว
- อัปเดต
Info.plistของแอปเพื่อรวมคำอธิบายการใช้งานเครือข่ายภายใน - เพิ่ม
NSBonjourServicesลงในInfo.plistของแอป และระบุชื่อบริการ Bonjour สำหรับ Cast และรหัสแอป - อัปเกรดแอปผู้ส่งเพื่อใช้ Cast SDK 4.6.0
- เผยแพร่แอปอีกครั้งใน Apple App Store
เหตุใดอุปกรณ์จึงหยุดแสดงในเครื่องมือเลือกอุปกรณ์ที่กำหนดเองหลังจากที่ฉันอัปเกรดเป็น 4.6.0
ปัญหานี้เป็นปัญหาที่ทราบอยู่แล้วซึ่งอาจเกิดขึ้นได้หากคุณใช้เครื่องมือเลือกอุปกรณ์ที่กำหนดเองแทนเครื่องมือเลือกอุปกรณ์มาตรฐาน ใน Cast SDK เวอร์ชัน 4.4.8 และก่อนหน้า การสแกนอุปกรณ์จะเป็นแบบอัตโนมัติ ตั้งแต่เวอร์ชัน 4.6.0 เป็นต้นไป คุณจะต้องเรียกใช้เมธอด startDiscovery ในคลาส
GCKDiscoveryManager อย่างชัดแจ้งเพื่อเริ่มการค้นหาอุปกรณ์
สาเหตุของการเปลี่ยนแปลงนี้คือข้อความแจ้งสิทธิ์การเข้าถึงเครือข่ายภายใน (LNA) จะปรากฏขึ้นหลังจากที่แอปสแกนเป็นครั้งแรก ซึ่งอาจส่งผลให้กล่องโต้ตอบสิทธิ์ปรากฏขึ้นแบบสุ่มในแอป
นักพัฒนาแอปที่สร้างเครื่องมือเลือกอุปกรณ์ที่กำหนดเองสำหรับแอปของตนจะต้องแสดงโฆษณาคั่นระหว่างหน้าแบบครั้งเดียวก่อนที่จะเริ่มสแกนอุปกรณ์เป็นครั้งแรก