即時監控畫面

在緊急情況下,多媒體資訊 (例如即時影片) 對緊急電話接線人員很有幫助。例如:

  • 車禍事件:現場直播影片可協助他們瞭解事故車輛。
  • 火災:瞭解火勢和損害程度。
  • 醫療緊急狀況:引導使用者進行心肺復甦術,挽救生命。

ELS 現在可以攔截接線員發起的簡訊,要求使用者提供即時影像,並提供整合式視訊體驗。由於這項功能專為緊急情況設計,因此在緊急情況期間,相機權限應會預先授予。

這項功能的主要目標是為使用者提供:

  • 提供順暢的直播影片體驗,無需複雜的權限
  • 為所有 Android 使用者提供一致的體驗

運作方式

ELS 即時視訊流程,顯示 Android 使用者的緊急電話或訊息如何觸發 ELS,包括新的即時視訊權杖。接聽電話的軟體偵測到這個權杖,並透過簡訊將權杖和 WebRTC 即時視訊串流的連結傳回給 Android 使用者後,ELS 就能提供整合式視訊體驗。

整合指南

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 視目前相機模式是否支援手電筒功能,傳回 truefalse。呼叫 switchCamera 後,假設傳回值會反映更新後的可用性狀態,直到 switchCamera 的 Promise 解決為止。
手電筒 isFlashlightOn bool 如果手電筒開啟,則傳回 true,否則傳回 false。呼叫 toggleFlashlight 後,假設傳回值會反映更新後的閃光燈開啟狀態,直到 toggleFlashlight 的 Promise 解決為止