반응형
안드로이드 앱을 마켓에 등록하려면 이제 타깃 SDK를 33 이상으로 설정해야만 구글 플레이 스토어 마켓에 등록할 수 있게 정책이 변경되었다.
그것은 안드로이드 S/W 버전 13 이상을 의미하는 것인데 안드로이드 버전 13부터는 그런데 퍼미션 정책이 변경 되어서 코드 수정 작업을 해 줘야 한다.
gradle : app 레벨에서 아래와 같이 타깃 SDK를 33 이상으로 설정한 뒤 Sync Project (Ctrl + Shift + O) 를 해 준다
targetSdk = 33
※ 아래는 메니페스트 AndroidManifest.mxl 파일에서 작업해 줘야 하는 부분이다.
1. 알림 권한 선언
푸시 알림 권한도 이제 메니페스트에서 선언을 해 주고 사용자의 수락을 받아야 한다
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"
android:minSdkVersion="33" />
2. READ_ MEDIA & WRITE_MEDIA 선언의 변경
READ_ MEDIA & WRITE_MEDIA 권한이 통합 되고 아래와 같이 3가지로 변경되었다.
READ_MEDIA_IMAGES // READ_MEDIA_VIDEO // READ_MEDIA_AUDIO
<uses-permission android:name= "android.permission.READ_MEDIA_IMAGES" android:minSdkVersion="33" />
<uses-permission android:name= "android.permission.READ_MEDIA_VIDEO" android:minSdkVersion="33" />
<uses-permission android:name= "android.permission.READ_MEDIA_AUDIO" android:minSdkVersion="33" />
※ 기존의 READ_ MEDIA & WRITE_MEDIA 권한도 아래와 같이 선언을 해 주도록 한다
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
3. 애드몹 광고 ID 선언
아래와 같이 애드몹 광고 권한도 선언을 해 줘야 한다
<uses-permission android:name="com.google.android.gms.permission.@string/admob_app_ID" android:minSdkVersion="33"/>
※ 아래는 메니페스트 전체 권한 선언 예시 코드이다
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<!-- 안드로이드 13부터 알림 권한 선언해야 함-->
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"
android:minSdkVersion="33" />
<!-- 안드로이드 13부터 READ_MEDIA는 아래 3개로 선언해야 함-->
<uses-permission android:name= "android.permission.READ_MEDIA_IMAGES" android:minSdkVersion="33" />
<uses-permission android:name= "android.permission.READ_MEDIA_VIDEO" android:minSdkVersion="33" />
<uses-permission android:name= "android.permission.READ_MEDIA_AUDIO" android:minSdkVersion="33" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<!-- 카메라 퍼미션 -->
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<!-- 안드로이드 13부터 광고 권한 선언해야 함 -->
<uses-permission android:name="com.google.android.gms.permission.@string/admob_app_ID" android:minSdkVersion="33"/>
다음 [2편]에서 계속..
반응형