Почему в Google Play Store не отображается причина недоступности устройства для приложения?

Я разработчик мобильных приложений и работаю как с родным, так и с телефоном.

Я создал одно приложение в Phonegap, которое отлично работает на устройстве, но не работает на некоторых вкладках.

Что я нашел здесь в соответствии с политикой Google Play Store. Но почему они не показывают причину, из-за какого-то такого неправильного кода или из-за какой-то определенной ошибки, которую Google не позволяет вам запускать на каком-то конкретном устройстве.

Запрос 1: У меня есть вкладка Samsung Galaxy 2 и вкладка 3. Мое приложение не работает в обоих планшетах в соответствии с списком доступности неподдерживаемых устройств и при поиске пользователей из планшета, тогда они не могут найти приложение также в игровом магазине.

В моем приложении я установил все требования для всех устройств и планшетов, как показано ниже,

 <?xml version="1.0" encoding="utf-8" ?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="my_pkg" android:hardwareAccelerated="true" android:versionCode="6" android:versionName="1.5" android:windowSoftInputMode="adjustPan">

    <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />

    <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="18" />

    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.BROADCAST_STICKY" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.VIBRATE" />


    <application android:debuggable="false" android:hardwareAccelerated="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name">
        <receiver android:name="my_pkg.AlarmReceiver">
        </receiver>
        <receiver android:name="my_pkg.AlarmRestoreOnBoot">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>

        <activity android:name="my_pkg.MainActivity" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/app_name" android:theme="@android:style/Theme.Black.NoTitleBar" android:windowSoftInputMode="adjustPan">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Итак, я застрял здесь в чем проблема с моим приложением и почему хранилище Google не позволяет установить мое приложение на некоторых устройствах и планшетах.

До недели общее количество неподдерживаемых устройств и планшетов составляет 1550, а теперь - 1153.

Запрос 2:. Как я могу найти ошибки, из-за которых я не могу запустить приложение в планшетах и ​​как его решить?

Пожалуйста, помогите мне, как решить эту проблему, потому что не зная причины, как я могу ее решить.

Ответ 1

Наконец, потратив много времени на RnD, я нашел решение. На самом деле я не сольный основатель для этого ответа. Я действительно благодарю всех, кто помог мне решить эту проблему.

Дивеш Салианский ответ очень близок. Я старался в соответствии с его инструкцией, и вместе с тем я изменил свой файл config.xml, у которого есть ненужные теги <features></features>.

Я задал свой вопрос в форме разработчика Samsung, а также попытался проверить мое приложение в RTL, но я не смог войти в веб-браузер, не знаю почему?

и, наконец, я применил еще одну альтернативу в отношении <uses-feature></uses-feature>

 <uses-feature
        android:name="android.hardware.telephony"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.microphone"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.camera"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.camera.autofocus"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.camera.front"
        android:required="false" />
    <uses-feature
        android:name="android.software.input_methods"
        android:required="false" />

Я использую выше функции, но не собираюсь фильтровать базу приложений на этом, поэтому я установил android:required="false" для некоторых конкретных функций.

Уход за вещами, если вы обнаружите этот тип проблем

Я надеюсь, что эти ссылки решит вашу проблему определенно.

Спасибо всем!

Ответ 2

Попробуйте добавить это в файл манифеста, раньше он работал у меня

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

Ответ 3

Ну, чтобы расшифровать проблему, создайте учетную запись Samsung Developers и отправьте свое приложение. Их инженеры проведут тестирование приложения на разных устройствах (телефоне и планшете) и дадут вам подробный отчет и видео о любой проблеме, с которой они сталкиваются при тестировании приложения.

Я уверен, что это решит вашу проблему.

Ответ 4

Попробуйте запустить приложение через Android-эмулятор и проверьте лог-код на наличие ошибок.

Во-вторых, если приложение было построено с помощью HTML5 и Javascript, попробуйте и проверьте теги html и проверьте свои функции javascript.

Убедитесь, что у вас есть нулевые значения для некоторых определенных полей. Добавьте сообщения консоли в свои javascript-функции, чтобы проверить все значения, необходимые для приложения.

Пример:   

function TestMe() {

var a1 = document.getElementById("textboxname").value;

console.log(a1); //this line is to show that you don't have a null value.

}

</script>