모바일 데이터 사용은 비용이 많이 드는데 데이터 요금제 비용이 저렴하지 않은 경우에는 더욱더 그러합니다. Android 사용자는 데이터 사용량을 줄이거나 앱에서 완전히 차단할 수 있는 기능이 필요합니다. Android 7.0 버전의 데이터 절약 모드 기능은 사용자에게 이 기능을 제공합니다.
데이터 절약 모드 기능은 사용자가 켜거나 끌 수 있습니다. 앱 개발자는 새로운 API를 사용하여 데이터 절약 모드가 켜져 있는지 확인해야 합니다. 이 모드가 켜져 있으면 앱 개발자는 데이터 액세스 수준이 거의 또는 전혀 없는 조건에 맞게 애플리케이션을 조정하여 상황을 적절하게 처리할 수 있습니다.
최종 사용자는 이 모드를 통해 백그라운드에서 데이터에 액세스하는 앱과 포그라운드에서만 데이터에 액세스하는 앱을 간편하게 제어할 수 있습니다. 이렇게 하면 데이터 절약 모드가 사용자 제어에 따라 켜질 때 원하는 백그라운드 데이터 교환이 이루어집니다.
구현
데이터 절약 모드는 플랫폼의 기능이므로 기기 제조업체는 기본적으로 N 버전에 포함된 기능을 사용합니다. 소스 파일은 다음에서 찾을 수 있습니다.
packages/apps/Settings/src/com/android/settings/datausage
설정 인터페이스
기본 데이터 절약 모드 설정 사용자 인터페이스는 Android 오픈소스 프로젝트(AOSP)에서 제공됩니다. 예제는 아래의 스크린샷을 참조하세요.
다음 스크린샷은 사용 중인 데이터 절약 모드를 보여줍니다.
앱
중요 사항: 기기 구현자는 앱을 허용 목록에 포함해서는 안 됩니다. 포함하더라도 사용자가 삭제할 수 있습니다. 다른 앱을 포함하면 데이터 절약 모드를 적용할 앱을 사용자가 결정해야 합니다.
미리 로드된 앱이 있는 OEM 및 이동통신사를 포함하여 모든 앱 개발자는 데이터 절약 모드를 구현해야 합니다. 데이터 절약 모드 상태 감지 및 모니터링에 관한 앱 개발자 안내는 developer.android.com의 데이터 절약 모드를 참조하세요. 파트너에게 유용한 추가 세부정보는 아래 섹션을 참조하세요.
데이터 절약 모드를 최적화하려면 앱에서 다음 작업을 실행해야 합니다.
- 불필요한 이미지 삭제
- 나머지 이미지에 더 낮은 해상도 사용
- 더 낮은 비트 전송률 동영상 사용
- 기존의 '라이트' 환경 트리거
- 데이터 압축
- 데이터 절약 모드가 꺼져 있어도 데이터 전송량 제한이 있는 네트워크 상태와 무제한 네트워크 상태 유지
반대로 데이터 절약 모드가 제대로 작동하려면 앱이 다음을 실행해서는 안 됩니다.
- 동영상 자동재생
- 콘텐츠/첨부파일 미리 가져오기
- 업데이트/코드 다운로드
- 백그라운드 데이터가 핵심 기능의 일부가 아닌 경우 허용 목록에 포함하도록 요청
- 허용 목록을 라이선스로 사용하여 더 많은 대역폭 사용
유효성 검사
구현자는 다음 CTS 테스트를 실행하여 구현자 버전의 기능이 의도한 대로 작동하는지 확인할 수 있습니다.
com.android.cts.net.HostsideRestrictBackgroundNetworkTests
또한, adb
명령어를 먼저 실행하여 사용 가능한 모든 옵션을 확인한 후 이 명령어를 사용하여 수동으로 테스트를 실행할 수 있습니다.
adb shell cmd netpolicy
예를 들어 다음 명령어는 허용된 앱의 UID를 반환합니다.
adb shell cmd netpolicy list restrict-background-whitelist