系統限制

Web 工程師在做影音播放器功能時,容易遇到在 iOS Safari 播放器點擊全螢幕,會進入 Safari 原生播放器的議題。當影片進入全螢幕模式後,會使用 iOS 原生的影片播放器介面,因此無法客製化全螢幕的 UI 介面。

Windows Browser
(ex: Chrome)

Mac Safari

iOS Safari

Android Browser
(ex: Chrome)

非全螢幕

顯示客製化 UI

顯示客製化 UI

顯示客製化 UI

顯示客製化 UI

全螢幕

顯示客製化 UI

顯示客製化 UI

強制切入原生播放器

顯示客製化 UI

此功能導致影響

廣告造成體驗不佳

目前觀察到播放中出現廣告時,會從全螢幕原生播放器「強制退出」,在非全螢幕小視窗播廣告,其實有點影響體驗,而且使用者在全螢幕原生播放器自由拖拉時間軸,沒有重複廣告出現,這可能會影響 AVOD 之類的廣告營收。

全螢幕原生播放器沒辦法客製化 UI,自然無法顯示浮水印 LOGO。

播放器客制化功能缺失

諸如某些產品客製化功能(例如追蹤觀劇紀錄與相關的 UI 提示框,是無法在原生播放器上顯示的。原生播放器增加了使用者對我們既有播放器功能缺失而客訴的風險。

OTT 怎麼做?

KKTV

實作「假全螢幕」,當使用者在 iOS Safari 非全螢幕模式下,點擊客制 UI 播放器全螢幕按鈕時,只是將他們的客製化播放器「上下左右、高度寬度撐滿」,這並不是真的全螢幕,因為瀏覽器 Safari 網址導覽列還在。

感覺不難,等於全螢幕按鈕點擊時,不調度 iOS Safari 的 Web API 進入全螢幕,而是透過 CSS 改播放器寬高而已,或許我們可以參考他們的實作方式。

Youtube

連 iOS Safari 上的 Youtube Web 版也避不了此限制,請參考錄影:會發現全螢幕時的播放器也是 Safari 原生播放器。

0:00
/0:06