系統限制
Web 工程師在做影音播放器功能時,容易遇到在 iOS Safari 播放器點擊全螢幕,會進入 Safari 原生播放器的議題。當影片進入全螢幕模式後,會使用 iOS 原生的影片播放器介面,因此無法客製化全螢幕的 UI 介面。
Windows Browser | Mac Safari | iOS Safari | Android Browser | |
---|---|---|---|---|
非全螢幕 | 顯示客製化 UI | 顯示客製化 UI | 顯示客製化 UI | 顯示客製化 UI |
全螢幕 | 顯示客製化 UI | 顯示客製化 UI | 強制切入原生播放器 | 顯示客製化 UI |
此功能導致影響
廣告造成體驗不佳
目前觀察到播放中出現廣告時,會從全螢幕原生播放器「強制退出」,在非全螢幕小視窗播廣告,其實有點影響體驗,而且使用者在全螢幕原生播放器自由拖拉時間軸,沒有重複廣告出現,這可能會影響 AVOD 之類的廣告營收。
浮水印 LOGO
全螢幕原生播放器沒辦法客製化 UI,自然無法顯示浮水印 LOGO。
播放器客制化功能缺失
諸如某些產品客製化功能(例如追蹤觀劇紀錄與相關的 UI 提示框,是無法在原生播放器上顯示的。原生播放器增加了使用者對我們既有播放器功能缺失而客訴的風險。
OTT 怎麼做?
KKTV
實作「假全螢幕」,當使用者在 iOS Safari 非全螢幕模式下,點擊客制 UI 播放器全螢幕按鈕時,只是將他們的客製化播放器「上下左右、高度寬度撐滿」,這並不是真的全螢幕,因為瀏覽器 Safari 網址導覽列還在。
感覺不難,等於全螢幕按鈕點擊時,不調度 iOS Safari 的 Web API 進入全螢幕,而是透過 CSS 改播放器寬高而已,或許我們可以參考他們的實作方式。
Youtube
連 iOS Safari 上的 Youtube Web 版也避不了此限制,請參考錄影:會發現全螢幕時的播放器也是 Safari 原生播放器。
0:00
/0:06