ライブ動画などのマルチメディア情報は、緊急通報の受付担当者が緊急事態に対処する際に役立ちます。次に例を示します。
- 自動車事故: 現場のライブ動画は、事故に関与した車両を把握するのに役立ちます。
- 火災: 火災の規模と被害の程度を把握するため。
- 医療上の緊急事態: 心肺蘇生法をユーザーに案内して命を救います。
ELS は、ユーザーからのライブ動画のリクエストを伴う通話受付担当者からの SMS を傍受し、統合された動画機能を提示できるようになりました。これは緊急事態専用であるため、緊急事態の間はカメラの権限が事前に付与されるというメリットがあります。
この機能の主な目的は、ユーザーに以下のものを提供することです。
- 複雑な権限を必要としない、スムーズなライブ動画エクスペリエンス
- すべての Android ユーザーに一貫したエクスペリエンスを提供
仕組み
統合ガイド
1. レシーブ
ELS 構成を更新してライブ動画を有効にすると、ユーザーのスマートフォンがこの機能をサポートしている場合、HTTPS ELS メッセージで live_video_token フィールドを受信できるようになります。この機能は Android 8 Oreo 以降のデバイスでサポートされています。
トークンは、通話やテキストごとに変化するデバイス上で生成される ID で、次の要素で構成されます。
- 6 文字のランダムな文字列
- 英数字
- 大文字
2. 調査依頼メール
トークンを検出したら、動画ストリームへのリンクを含む SMS の URL(URL パラメータなど)で渡します(例: https://example.com/live?token=AFZ791)。ELS は、緊急通報または緊急テキスト メッセージの受信 SMS メッセージを検出し、一致するライブ動画トークン(この場合は AFZ791)を探します。
デバイスが有効な URL とトークンを検出すると、リクエストを承認するかどうかを尋ねるダイアログがユーザーに表示されます。Accept をクリックすると、リクエスト SMS で送信されたリンクが統合されたウェブビューで開きます。
3. ライブ動画の視聴
ライブ動画のリンクは、次の 2 つのエクスペリエンスに対応している必要があります。
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 が解決するとすぐに、戻り値が更新された懐中電灯のオン状態を反映すると想定 |