web-gelistirme-sc.com

Neden Google Play'deki Uygulamam tabletlerde görünmüyor?

Telefonumu ve tabletler için uygulamamı henüz serbest bıraktım ancak tabletler için Google Play'de görünmüyor.

Nexus 7 ve Asus eeeePad'de kontrol edildi

Bu benim tezahür dosyamda sahip olduğum şey.

<compatible-screens>
    <!--no small size screens -->

    <!--Only hdpi and xhdpi for normal size screens -->
    <screen Android:screenSize="normal" Android:screenDensity="mdpi" />
    <screen Android:screenSize="normal" Android:screenDensity="hdpi" />
    <screen Android:screenSize="normal" Android:screenDensity="xhdpi" />

    <!-- all large size screens -->
    <screen Android:screenSize="large" Android:screenDensity="ldpi" />
    <screen Android:screenSize="large" Android:screenDensity="mdpi" />
    <screen Android:screenSize="large" Android:screenDensity="hdpi" />
    <screen Android:screenSize="large" Android:screenDensity="xhdpi" />

    <!-- all xlarge size screens -->
    <screen Android:screenSize="xlarge" Android:screenDensity="ldpi" />
    <screen Android:screenSize="xlarge" Android:screenDensity="mdpi" />
    <screen Android:screenSize="xlarge" Android:screenDensity="hdpi" />
    <screen Android:screenSize="xlarge" Android:screenDensity="xhdpi" />
</compatible-screens>

uses-sdk etiketi

<uses-sdk Android:minSdkVersion="8" Android:targetSdkVersion="11" />

izinler

<uses-permission Android:name="com.Android.vending.BILLING" />
<uses-permission Android:name="Android.permission.CAMERA" />
<uses-permission Android:name="Android.permission.VIBRATE" />
<uses-permission Android:name="Android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission Android:name="Android.permission.ACCESS_FINE_LOCATION" />
<uses-permission Android:name="Android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission Android:name="Android.permission.READ_PHONE_STATE" />
<uses-permission Android:name="Android.permission.INTERNET" />
<uses-permission Android:name="Android.permission.RECEIVE_SMS" />
<uses-permission Android:name="Android.permission.RECORD_AUDIO" />
<uses-permission Android:name="Android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission Android:name="Android.permission.READ_CONTACTS" />
<uses-permission Android:name="Android.permission.WRITE_CONTACTS" />
<uses-permission Android:name="Android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission Android:name="Android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission Android:name="Android.permission.GET_ACCOUNTS" />
<uses-permission Android:name="Android.permission.BROADCAST_STICKY" />
<uses-permission Android:name="Android.permission.RECEIVE_BOOT_COMPLETED"/>
<permission Android:name="com.myapp.something.permission.C2D_MESSAGE" Android:protectionLevel="signature" />

Açık bir şekilde false yanlış özellik-etiketini ekledikten sonra Asus eeeePad tablet için görünmeye başladı ancak hala nexus 7 için görünmüyor. İşte geliştirici konsolunda ne görüyorum

Bu uygulama, yalnızca uygulama bildiriminizde tanımlandığı şekilde bu özelliklere sahip cihazlar için kullanılabilir. ... Ekran yoğunluğu: LARGE,MDPI LARGE,HDPI LARGE,LDPI LARGE,XHDPI XLARGE,MDPI XLARGE,HDPI XLARGE,LDPI XLARGE,XHDPI NORMAL,MDPI NORMAL,HDPI NORMAL,XHDPI Gerekli cihaz özellikleri

Android.hardware.screen.portrait
Android.hardware.touchscreen
38
Saqib

Sonunda <compatible-screens> etiketli Nexus 7 için özel bir durum ekleyerek benim için çalıştı. Nexus 7'nin tvdpi yoğunluğu olduğu gibi

<compatible-screens>
    <!--no small size screens -->


    <!--all normal size screens -->
    <screen Android:screenSize="normal" Android:screenDensity="ldpi" />
    <screen Android:screenSize="normal" Android:screenDensity="mdpi" />
    <screen Android:screenSize="normal" Android:screenDensity="hdpi" />
    <screen Android:screenSize="normal" Android:screenDensity="xhdpi" />

    <!-- all large size screens -->
    <screen Android:screenSize="large" Android:screenDensity="ldpi" />
    <screen Android:screenSize="large" Android:screenDensity="mdpi" />
    <screen Android:screenSize="large" Android:screenDensity="hdpi" />
    <screen Android:screenSize="large" Android:screenDensity="xhdpi" />

    <!-- all xlarge size screens -->
    <screen Android:screenSize="xlarge" Android:screenDensity="ldpi" />
    <screen Android:screenSize="xlarge" Android:screenDensity="mdpi" />
    <screen Android:screenSize="xlarge" Android:screenDensity="hdpi" />
    <screen Android:screenSize="xlarge" Android:screenDensity="xhdpi" />

    <!-- Special case for Nexus 7 -->
    <screen Android:screenSize="large" Android:screenDensity="213" />

</compatible-screens>

GÜNCELLEŞTİRME:

Xxhdpi cihazları için 480'i bir int değeri olarak kullanabilirsiniz

     <screen Android:screenSize="normal" Android:screenDensity="480" />
     <screen Android:screenSize="large" Android:screenDensity="480" />
     <screen Android:screenSize="xlarge" Android:screenDensity="480" />`
40
Saqib

Bu sayfa / sorununuzu tanımlar. 

<uses-feature> yerine <uses-permission> kullandığınızda, uygulamanız Market tarafından filtrelenmez, ancak bu özelliği desteklemeyen cihazları kod düzeyinde işlemenizi bekler.

Yukarıdaki sayfadaki izinlerin herhangi biri için, zımni özelliği açık bir şekilde, bir <uses-feature> öğesinde, Android:required="false" niteliği ile açık bir şekilde bildirerek, zımni özelliğe göre filtrelemeyi devre dışı bırakabilirsiniz. Örneğin, KAMERA iznine dayalı filtrelemeyi devre dışı bırakmak için bu bildirimi bildirim dosyasına eklersiniz:

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

Ancak, <uses-permission> belirttiğinizde, bu özelliğe erişimi olmayan tüm cihazlar filtrelenir.

33
Erol

Anahtarın sizin izninizde olduğuna inanıyorum. Uygulamanızın RECEIVE_SMS ve READ_PHONE_STATE kullandığını söyleyerek Google Play, bu şeyleri yapamayan cihazları (tabletleri) filtrelemek için kullanır, çünkü uygulamanızın çalışmak için bu izinleri kullanması gerektiğini düşünüyor. Android geliştirici sitesine göre: 

"Bu uygulamaların istemeden kullanıma sunulmasını önlemek için, Google Play, donanımla ilgili bazı izinlerin temelde". "Olduğunu belirtir. Temel donanım özelliklerinin varsayılan olarak gerekli olduğunu belirtir. Bir öğede BLUETOOTH İzni - eski uygulamalar için, Google Play, izin bildiriminin altta yatan Android.hardware.bluetooth özelliğinin uygulama için gerekli olduğunu ve. bu özellik. "

Ayrıca, şuna bak:

Telefon CALL_PHONE Android.hardware.telephony CALL_PRIVILEGED Android.hardware.telephony MODIFY_PHONE_STATE Android.hardware.telephony PROCESS_OUTGOING_CALLS Android.hardware.telephony READ_SMS Android.hardware.telephony RECEIVE_SMS Android.hardware.telephony RECEIVE_MMS Android.hardware.telephony RECEIVE_WAP_Push Android.hardware.telephony SEND_SMS Android.hardware.telephony WRITE_APN_SETTINGS Android.hardware.telephony WRITE_SMS Android.hardware.telephony

RECEIVE_SMS ve READ_PHONE_STATE 'a sahipsiniz, böylece otomatik olarak Android.hardware.telephony' a sahip olursunuz. Bunu yaparak düzeltebilirsiniz 

<uses-feature Android:name="Android.hardware.telephony" Android:required="false" />

Bunların hepsi daha derinlemesine açıklanmıştır burada .

19
ninge

Nexus 7 için çalışabilmesi için bu üçünü de yapmam gerekiyor. Apk'nizi yükledikten sonra, önce yeni apk'ü etkinleştirerek ayarı doğrulayabilir, ürün ayrıntılarına gidebilir ve desteklenen cihazları arayabilirsiniz. Nexus 7, "bildirim ayarlarınız nedeniyle desteklenmeyen cihazlar" altında bulunamazsa, iyisinizdir.

Not: apk'nü yükledikten sonra Google Play, 213 yoğunluğunu tvdpi'ye çevirir. Eclipse manifest aracında neden bir seçenek olmadığından emin değilim ... 

<compatible-screens>
    ....
    <screen Android:screenSize="large" Android:screenDensity="213" />
</compatible-screens>

<uses-feature Android:name="Android.hardware.camera" Android:required="false" />
<uses-feature Android:name="Android.hardware.telephony" Android:required="false" />
10
banachi

Belgeler bize kullanmaktan kaçınmamızı söyler 

<compatible-screens>


bkz. burada
yerine kullanmalısın

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


Bu sayfada verilen diğer cevapların çoğu da etkili cevaplardır. Onları kendim uyguladım. Herkese teşekkürler.

4
user2506891

developer.Android.com 'a göre

Uygulama bildirimde bir <yumlu ekranlar> öğe bildirirse, öğenin, uygulamanın desteklediği tablet ekranları için tüm boyut ve yoğunluk kombinasyonlarını belirten özellikler içermesi gerekir.

Mümkünse, uygulamanızdaki <yumlu ekranlar> öğesini kullanarak avoid kullanmanız gerektiğini unutmayın.


Bu nedenle aşağıdaki görevleri yerine getiriyorum.

1- bildiriden <yumlu ekranlar> bildiriden

<compatible-screens>
    <!-- all small size screens -->
    <screen Android:screenSize="small" Android:screenDensity="ldpi" />
    <screen Android:screenSize="small" Android:screenDensity="mdpi" />
    <screen Android:screenSize="small" Android:screenDensity="hdpi" />
    <screen Android:screenSize="small" Android:screenDensity="xhdpi" />

    <!--all normal size screens -->
    <screen Android:screenSize="normal" Android:screenDensity="ldpi" />
    <screen Android:screenSize="normal" Android:screenDensity="mdpi" />
    <screen Android:screenSize="normal" Android:screenDensity="hdpi" />
    <screen Android:screenSize="normal" Android:screenDensity="xhdpi" />

    <!-- all large size screens -->
    <screen Android:screenSize="large" Android:screenDensity="ldpi" />
    <screen Android:screenSize="large" Android:screenDensity="mdpi" />
    <screen Android:screenSize="large" Android:screenDensity="hdpi" />
    <screen Android:screenSize="large" Android:screenDensity="xhdpi" />

    <!-- all xlarge size screens -->
    <screen Android:screenSize="xlarge" Android:screenDensity="ldpi" />
    <screen Android:screenSize="xlarge" Android:screenDensity="mdpi" />
    <screen Android:screenSize="xlarge" Android:screenDensity="hdpi" />
    <screen Android:screenSize="xlarge" Android:screenDensity="xhdpi" />

    <!-- Special case for Nexus 7 -->
    <screen Android:screenSize="large" Android:screenDensity="213" />

    <screen Android:screenSize="normal" Android:screenDensity="480" />
    <screen Android:screenSize="large" Android:screenDensity="480" />
    <screen Android:screenSize="xlarge" Android:screenDensity="480" />

</compatible-screens>

2- tezahürdeki ADDED <destek ekranları> niteliği

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

3- ADDED Android: zorunlu = "yanlış" özelliği <ses-feature> (uygulama gereksinimime göre) manifest'te

<uses-feature Android:name="Android.hardware.telephony" Android:required="false" />
<uses-feature Android:name="Android.hardware.bluetooth" Android:required="false"/>
<uses-feature Android:name="Android.hardware.location.gps" Android:required="false"/>
<uses-feature Android:name="Android.hardware.camera" Android:required="false"/>
<uses-feature Android:name="Android.hardware.nfc" Android:required="false"/>

Resmi Android Özellik Gereksinimlerini İçeren İzinler ile ilgili belgeler

Android hakkında daha ayrıntılı bir açıklama: gerekli yanlış 'da mevcuttur. ATTRIBUTES: Android: zorunlu yanlış

Bir özellik için Android: required = "false" ifadesini uyguladığınızda, uygulamanın, cihazda varsa özelliği kullanmayı tercih ettiği, ancak gerekirse, belirtilen özellik olmadan çalışmak üzere tasarlanmıştır anlamına gelir. (Bu tablet durumunda Telefon izni).


Yukarıdaki değişiklikleri yaparak,

Desteklenen Android Aygıtlar listesine 2000 CİHAZIN DAHA FAZLASI eklendi

2000+ devices added

Umarım bu yardımcı olur

3
shanraisshan

Bu sorunun cevabından yardım alıyorum.

Android Phonegap tabletler için kullanılabilir duruma getirmek nasıl?

Evet. Sorun izinlerle oldu. AndroidManifest.xml dosyasındaki tüm izinleri, uygulamayı sınamaktansa kaldırırım ve eksik izin hatası alırken tek tek izin eklerim. Şimdi benim uygulama Android telefonlar yanı sıra tablet ile uyumludur. 

0
Kirit Vaghela