실시간 동영상과 같은 멀티미디어 정보는 위급한 상황에서 긴급 전화 수신자에게 도움이 될 수 있습니다. 예를 들면 다음과 같습니다.
- 자동차 사고: 현장의 라이브 동영상을 통해 관련 차량을 파악할 수 있습니다.
- 화재: 화재 및 피해의 정도를 파악합니다.
- 의료 응급 상황: 사용자가 심폐소생술을 통해 생명을 구할 수 있도록 안내합니다.
이제 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. 라이브 동영상 환경
라이브 동영상 링크는 다음 두 가지 환경을 지원해야 합니다.
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> |
로드 시 비상 상황에서 가장 유용한 후면 카메라 (facing mode = environment)로 시작합니다. 함수가 호출될 때마다 사용 가능한 카메라 간에 전환합니다. 카메라 전환이 성공하면 true를 반환합니다. |
| 손전등 | toggleFlashlight |
Promise<bool> |
함수가 호출될 때마다 손전등을 켜고 끕니다. 손전등 전환이 성공하면 true를 반환합니다. |
| 손전등 | isFlashlightAvailable |
bool |
현재 카메라 모드의 손전등 사용 가능 여부에 따라 true 또는 false를 반환합니다. switchCamera 호출 후 switchCamera의 Promise가 해결되는 즉시 반환 값이 업데이트된 사용 가능 상태를 반영한다고 가정합니다. |
| 손전등 | isFlashlightOn |
bool |
손전등이 켜져 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다. toggleFlashlight 호출 후 toggleFlashlight의 Promise가 해결되는 즉시 반환 값이 업데이트된 손전등 상태를 반영한다고 가정 |