Android

[Android] 안드로이드 12 바뀐 점을 살펴보자! part.2

Wootaeng 2021. 12. 2. 10:01
728x90

< Android 12 를 타겟팅 하는 앱 >

이번에는 SDK 31 을 타겟팅 하는 앱에서는 변경되는 사항 과 새로운 기능을 정리해보자

커스텀 노티피케이션 변경사항

Android12에서는 커스텀 노티피케이션의 외관과 행동이 완전히 변경됨.

이전 커스텀 노티피케이션에서는 전체 노티피케이션 영역을 사용하고 노티피케이션에서 레이아웃과 스타일을 제공했지만 이로 인해 사용자를 혼란스럽게하거나 다른 장치에서 레이아웃 호환성 문제를 일으킬 수 있는 안티 패턴이 발생했다.

표준 템플릿은 커스텀 노티피케이션이 확장 및 축소된 상태에서 노티피케이션의 앱아이콘 이나 이름 등 모든 상태에서 다른 노티피케이션과 동일한 양식을 갖도록 한다.

일관성 있고 쉽게 접근할 수 있는 친숙한 UI/UX를 사용자에게 제공한다.

노티피케이션을 커스텀 할 수 있는 영역은 다음과 같다.

다음 그림은 표준 템플릿의 맞춤 알림을 보여 줍니다.

보안 및 개인 정보 보호

  • 대략적인 위치

Android 12 이상을 타겟팅하는 앱을 사용할 때 앱이 대략적인 위치 정보에만 액세스하도록 사용자가 요청할 수 있습니다.

참고: 앱이 ACCESS_COARSE_LOCATION은 요청하지만 ACCESS_FINE_LOCATION은 요청하지 않는다면 이 변경사항은 앱에 영향을 미치지 않습니다.

앱이 Android 12 이상을 타겟팅하고 ACCESS_FINE_LOCATION 런타임 권한을 요청하면 ACCESS_COARSE_LOCATION 권한도 요청해야 합니다. 단일 런타임 요청에 두 권한을 모두 포함해야 합니다.

앱이 ACCESS_FINE_LOCATION과 ACCESS_COARSE_LOCATION을 모두 요청하면 시스템 권한 대화상자에는 그림 1과 같이 새로운 사용자 옵션이 포함됩니다.

정확한 위치: 정확한 위치 정보에 액세스할 수 있습니다.

대략적인 위치: 대략적인 위치 정보에만 액세스할 수 있습니다.

움직임 감지 센서의 속도가 제한

잠재적으로 민감한 사용자 정보를 보호하기 위해 앱이 Android 12 이상을 타겟팅하는 경우 시스템은 특정 움직임 감지 센서와 위치 센서의 데이터 새로고침 빈도를 제한합니다.

  • 잠재적으로 민감한 사용자 정보를 보호하기 위해 모션 센서 및 포지션 센서 데이터 갱신 주기를 200Hz로 제한
  • 만약 더 많은 모션 센서 데이터를 더 빠른 주기로 얻고 싶다면,
    HIGH_SAMPLING_RATE_SENSORS 권한을 선언해야 한다. 그렇지 않으면 SecurityException이 발생한다.

웹뷰에서 최신 SameSite 쿠키 적용

Android12부터 WebView에는 타사 쿠키의 기본처리에 대한 변경사항이 포함된다.

  • 기본값 SameSite=Lax
  • SameSite=None 이 있는 쿠키는 Secure 속성을 지정해야함.
  • HTTP버전과 HTTPS 버전 간의 링크는 SameSite=None; Secure로 적절하게 표시되지 않는 한 전송되지 않는다.

앱 최대 절전 모드

Android 12에서는 Android 11(API 수준 30)에서 도입된 권한 자동 초기화 동작을 확장합니다. 앱이 Android 12를 타겟팅하고 사용자가 몇 달 동안 앱과 상호작용하지 않는다면 시스템은 부여된 모든 권한을 자동 초기화하고 앱을 최대 절전 모드 상태로 전환합니다.

ADB 백업 제한

Android 12에서는 adb backup 명령어의 기본 동작이 변경 되었다.

  • Android12를 타겟팅하는 앱의 경우 기기에서 내보내는 다른 시스템 데이터에서 앱 데이터가 제외 됨.
  • 테스트 및 개발 목적으로 adb backup을 사용하는 경우 메니페스트에서 android:debuggable 속성을 true로 지정할 수 있다.

< 새로 생긴 기능 >

리치 햅틱 환경

Android 12에서는 유익한 UI 이벤트 햅틱 반응과 몰입도 높고 재미있는 게임 효과, 생산성을 위한 주의를 끄는 햅틱을 만드는 도구를 확장합니다.

앱에서 리치 콘텐츠를 클립보드나 키보드, 드래그 앤 드롭 등을 통해 수신할 수 있는 새로운 통합 API 제공.

  • 하위 버전 호환성을 위한 AndroidX 라이브러리 제공
  • Android API 24이상부터 지원

애플리케이션 오버레이 창 숨기기

사용자가 개발자의 앱과 상호작용할 때 사용자에게 표시되는 내용을 개발자가 더 세밀하게 제어할 수 있도록 Android 12에서는 SYSTEM_ALERT_WINDOW 권한이 있는 앱이 그린 오버레이 창을 숨기는 기능을 도입합니다.

  • HIDE_OVERLAY_WINDOWS 권한을 선언한 후 앱에서는 setHideOverlayWindows()를 호출하여 TYPE_APPLICATION_OVERLAY 유형의 모든 창을 앱의 자체 창이 표시될 때 숨겨야 한다고 나타낼 수 있습니다. 앱은 트랜잭션 확인 흐름과 같은 민감한 화면을 표시할 때 이 작업을 실행할 수 있습니다.
  • TYPE_APPLICATION_OVERLAY 유형의 창이 표시되는 앱에서는 PIP 모드대화창과 같은 사용 사례에 더 적합할 수 있는 대안을 고려해야 합니다.

PIP 모드 개선사항

  • 한 번 탭하기와 두 번 탭하기의 동작 개선사항

PIP 창을 한 번 탭하면 사용자를 위한 컨트롤이 표시됩니다. 이전에는 한 번 탭하면 PIP 창이 확장되며 컨트롤이 표시되었습니다.

이제 PIP 창을 두 번 탭하면 현재 PIP 크기와 최대 PIP 크기 간에 전환됩니다. 이전에는 두 번 탭하면 PIP 모드가 전체 화면 모드로 전환되었습니다.

  • 새로운 기능

Android 12에서 도입된 PIP 모드의 새로운 기능은 다음과 같습니다.

코드 구성 변경

동작 탐색에서 PIP 모드로 더 원활하게 전환하는 새 API 플래그

동영상이 아닌 콘텐츠의 원활한 크기 조절을 사용 중지하는 새 API 플래그

PIP 모드를 종료할 때 더 매끄러운 애니메이션

새 동작 지원

호환 되는 미디어 트랜스 코딩

Android 12에서는 동영상 캡처 앱이 다른 앱과의 호환성을 유지하면서 기기에 녹화 된 동영상에 대해 보다 효율적인 인코딩을 제공한다.

아래의 포맷은 기기에서 생성 된 콘텐츠에 대해 자동으로 트랜스 코딩 될 수 있다.

Google은 현재 HEVC (High Efficiency Video Coding) 비디오 압축 표준을 지원하지 않는 앱이 훨씬 향상된 비디오 압축을 활용할 수 있도록 Android 12에 새로운 트랜스 코딩 레이어를 추가하고 있다. 이 새로운 표준은 널리 사용되는 AVC(Advanced Video Coding) 압축 형식의 후속 형식이며 동일한 비디오 품질 수준에서 25-50 % 향상된 데이터 압축을 제공한다.

그래픽 과 이미지

  • AVIF 이미지 지원

Android 12는 AV1 이미지 파일 형식(AVIF)을 사용하는 이미지를 지원합니다. AVIF는 AV1을 사용하여 인코딩된 이미지 및 이미지 시퀀스의 컨테이너 형식입니다. 동영상 압축에서 프레임 내 인코딩 콘텐츠를 활용합니다. 이렇게 하면 JPEG와 같은 기존 이미지 형식과 비교할 때 동일한 파일 크기의 이미지 품질이 크게 향상됩니다. 이 형식의 장점에 관한 자세한 내용은 제이크 아치볼드의 블로그 게시물을 참고하세요.

  • 더 쉬워진 블러, 색상 필터 및 기타 효과

View 및 렌더링 계층에 일반적인 그래픽 효과를 더 쉽게 적용할 수 있다.
RenderEffect를 사용하여 블러, 컬러 필터 등을 적용하고 이를 체이닝 할 수 있다.

  • 둥근 모서리 지원

최근 디바이스들은 둥근 모서리의 스크린으로 출시. 이를 지원하기 위해 새로운 API를 제공한다.

RoundedCorner는 radius, centerpoint 등의 정보를 가지고 있다. Display.getRoundedCorner() 호출을 통해 모서리 정보를 얻을수 있고, WindowInsets.getRoundedCorner()를 호출하면 앱의 경계에 관련된 모서리 정보를 얻을 수 있다.

저장용량

Android 12에서는 다음과 같은 저장용량 관리 기능을 도입합니다.

 

 

참고자료 : 안드로이 12 , 동작변경사항 모든앱 , 동작변경사항 타겟 , 새로운 기능 API

728x90
반응형