개발/Android

구글 플레이스토어 지원하는 기기 0대 안드로이드 앱 배포 후

6Developer 2019. 9. 4. 09:15

 

구글 플레이스토어 지원하는 기기 0대 안드로이드 앱 배포 후 

 

안드로이드 개발자들은 참 이런일 저런일 참 많겠다

힘내요 모두들

 

 

1. 어떤 문제가 발생했는가

 

구글 플레이 콘솔에서 출시 관리 -> 기기 카탈로그에 들어가 보았더니 앱에서 지원하는 기기가 0건으로 표시되는 문제를 해결해보았다

필자는 해결 후 캡쳐화면이라 이 앱에서 제외된 기기가 0대로 표시된다

 

 

2. 문제 파악

 

필자가 배포한 앱의 경우 디바이스의 특정 하드웨어인 카메라 기능를 사용하고 앱 매니페스트에 선언된 <uses-feature> 요소 를 통하여

camera에 대한 하드웨어 기능들을 작성해두었다 여기에서 문제가 발생했다.


기능에 대해 android:required="true"을 선언하는 것은 기기에 지정된 기능이 없는 경우 애플리케이션이 기능을 작동할 수 없거나 작동하도록 고안되지 않았음을 나타냅니다.
기능에 대해 android:required="false"를 선언하는 것은 기기에 지정된 기능이 있는 경우에는 애플리케이션이 기능을 사용하는 것을 선호하지만 필요한 경우 지정된 기능 없이 작동하도록 고안되었음을 의미합니다.
선언하지 않은 경우 android:required의 기본값은 "true"입니다.

위 내용은 구글 안드로이드 개발자 가이드에 명시된 내용이다 

android:required를 "true"로 선언하면 하드웨어 및 소프트웨어 기능에서 요구사항을 충족하지 않는 기기는 필터링 된다고 나와있고

이 속성을 선언하지 않을 경우 기본값이 "true"로 선언된다는 내용이다

 

필자의 경우 아래 5가지를 매니패스트 <uses-feature> 요소에 작성해두었으나 android:required를 별도로 선언하지 않아

기본값으로 지정이 되었을 것이다. 

검색해본 결과 아래 1과 2를 동시에 지원하는 안드로이드 모바일 디바이스 혹은 버전이 없다고 한다

기존에 작성한 앱 매니패스트에서는 아래 1~5를 동시에 지원하는 기기만 구글 플레이 스토어에 지원하는 기기로 표시되도록 작성했다

아주 바보같은 짓이었다

 

1. android.hardware.camera

2. android.hardware.camera2

3. android.hardware.camera.front

4. android.hardware.camera.any

5. android.hardware.camera.autofocus

 

3. 해결

 

<uses-feature
        android:name="android.hardware.camera2"
        android:required="false"/>
<uses-feature
        android:name="android.hardware.camera"
        android:required="false"/>
<uses-feature
        android:name="android.hardware.camera.front"
        android:required="false"/>
<uses-feature
        android:name="android.hardware.camera.any"
        android:required="false"/>
<uses-feature
        android:name="android.hardware.camera.autofocus"
        android:required="false"/>

 

위와 같이 하드웨어를 사용할 수 없는 기기가 플레이 스토어에서 필터링 되지 않도록 android:required를 "false"로 선언하였다

그리하여 안드로이드 앱 배포 후 구글 플레이스토어 지원하는 기기 0대로 표시되는 문제가 수정되었다

 

오늘도 힘냅시다 개발자 여러분들