在緊急情況下,多媒體資訊 (例如即時影片) 對緊急電話接線人員很有幫助。例如:
- 車禍事件:現場直播影片可協助他們瞭解事故車輛。
- 火災:瞭解火勢和損害程度。
- 醫療緊急狀況:引導使用者進行心肺復甦術,挽救生命。
ELS 現在可以攔截接線員發起的簡訊,要求使用者提供即時影像,並提供整合式視訊體驗。由於這項功能專為緊急情況設計,因此在緊急情況期間,相機權限應會預先授予。
這項功能的主要目標是為使用者提供:
- 提供順暢的直播影片體驗,無需複雜的權限
- 為所有 Android 使用者提供一致的體驗
運作方式
整合指南
1. 外接員
更新 ELS 設定以啟用即時視訊後,當使用者手機支援這項功能時,您就會開始在 HTTPS ELS 訊息中收到 live_video_token 欄位。這項功能支援搭載 Android 8 Oreo 以上版本的裝置。
代碼是裝置產生的 ID,每次通話或傳送訊息時都會變更,且包含:
- 6 個隨機字元
- 英數字元
- 大寫
2. Invitation
偵測到權杖後,請在網址中傳遞權杖,例如在含有影片串流連結的簡訊中,以網址參數的形式傳遞權杖:https://example.com/live?token=AFZ791。ELS 會在緊急電話或簡訊期間偵測收到的 SMS 訊息,並尋找相符的即時視訊權杖,在本例中為:AFZ791。
裝置偵測到有效網址和權杖時,會向使用者顯示對話方塊,詢問是否要接受要求。如果點選 Accept,系統會透過整合式網頁檢視體驗開啟要求簡訊中傳送的連結。
3. 即時影像體驗
直播影片連結必須支援兩種體驗:
A. 網頁瀏覽器體驗:
這可能包括您自己的自訂 UI,例如:
- 按鈕
- 位置資訊要求
- 對話方塊和同意聲明
B. 整合式體驗:
為此,您必須:
- 移除所有按鈕,因為觸控事件無法運作
- 直接啟動影片串流,不顯示任何對話方塊
偵測
您可以觀察含有 Live 的使用者代理程式,偵測整合模式。
行動瀏覽器體驗中的使用者代理程式範例:Mozilla/5.0 (Linux; Android
10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Mobile
Safari/537.36
整合式 WebView 體驗中的使用者代理程式範例:Mozilla/5.0 (Linux;
Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0
Chrome/125.000 Mobile Safari/537.36 Live/25.23.10
在 JavaScript 中,您可以透過下列方式達成此目的:
if (navigator.userAgent.includes("Live")) {
<!-- Render integrated experience -->
} else {
<!-- Render your your own custom UI -->
}
權限
- 整合式即時視訊應預先授予攝影機權限,您應透過 JavaScript 照常要求這些權限。
- 系統會自動拒絕位置資訊、音訊和其他權限。
吊人胃口的情節片段
為提供最佳使用者體驗,整合式體驗會提供 UI 元素,方便使用者切換相機和開啟/關閉手電筒。
| 函式名稱 | 回攻員 | 說明 | |
|---|---|---|---|
| 相機 | switchCamera |
Promise<bool> |
載入時,請先使用後置鏡頭 (面向模式 = 環境),因為這在緊急情況下最實用。每次呼叫函式時,都會在可用攝影機之間切換。成功切換攝影機後,傳回 true。 |
| 手電筒 | toggleFlashlight |
Promise<bool> |
每次呼叫函式時,都會開啟和關閉手電筒。成功切換手電筒時,傳回 true。 |
| 手電筒 | isFlashlightAvailable |
bool |
視目前相機模式是否支援手電筒功能,傳回 true 或 false。呼叫 switchCamera 後,假設傳回值會反映更新後的可用性狀態,直到 switchCamera 的 Promise 解決為止。 |
| 手電筒 | isFlashlightOn |
bool |
如果手電筒開啟,則傳回 true,否則傳回 false。呼叫 toggleFlashlight 後,假設傳回值會反映更新後的閃光燈開啟狀態,直到 toggleFlashlight 的 Promise 解決為止 |