【问题标题】:Diagnosing reason for app showing as "Incompatible" on device, but "Supported" in Play Store Console诊断应用在设备上显示为“不兼容”但在 Play 商店控制台中显示为“支持”的原因
【发布时间】:2017-12-13 10:20:46
【问题描述】:

我的公司在 Play 商店中有一款旨在与手机兼容但明确排除平板电脑支持的应用。

该应用程序可以在所有现代手机上正常安装,但在一些三星 S8 (SM-G950F) 上,在设备上的 Play 商店应用程序中,它显示为“不兼容”。 p>

在网络上的 Play 商店控制台中检查,此设备的所有变体都被列为“兼容”。

我应该通过什么过程来确定应用程序无法在设备上安装的根本原因?

一位用户报告说安装 Play 商店应用更新解决了该问题,但另一位用户遇到了该问题,但没有可用的 Play 商店应用更新。

AndroidManifest.xml 包含以下内容:

<compatible-screens>
    <!-- all small size screens -->
    <screen android:screenSize="small" android:screenDensity="ldpi" />
    <!-- 120 -->
    <screen android:screenSize="small" android:screenDensity="mdpi" />
    <!-- 160 -->
    <screen android:screenSize="small" android:screenDensity="hdpi" />
    <!-- 240 -->
    <screen android:screenSize="small" android:screenDensity="280" />
    <!-- Workaround -->
    <screen android:screenSize="small" android:screenDensity="xhdpi" />
    <!-- 320 -->
    <screen android:screenSize="small" android:screenDensity="360" />
    <!-- Workaround -->
    <screen android:screenSize="small" android:screenDensity="420" />
    <!-- Workaround Google Pixel, Nexus 5x -->
    <screen android:screenSize="small" android:screenDensity="xxhdpi" />
    <!-- 480 -->
    <screen android:screenSize="small" android:screenDensity="560" />
    <!-- Workaround Google Pixel XL, Nexus 6, Nexus 6P -->
    <screen android:screenSize="small" android:screenDensity="xxxhdpi" />
    <!-- 640 -->
    <!-- all normal size screens -->
    <screen android:screenSize="normal" android:screenDensity="ldpi" />
    <!-- 120 -->
    <screen android:screenSize="normal" android:screenDensity="mdpi" />
    <!-- 160 -->
    <screen android:screenSize="normal" android:screenDensity="hdpi" />
    <!-- 240 -->
    <screen android:screenSize="normal" android:screenDensity="280" />
    <!-- Workaround -->
    <screen android:screenSize="normal" android:screenDensity="xhdpi" />
    <!-- 320 -->
    <screen android:screenSize="normal" android:screenDensity="360" />
    <!-- Workaround -->
    <screen android:screenSize="normal" android:screenDensity="420" />
    <!-- Workaround Google Pixel, Nexus 5x -->
    <screen android:screenSize="normal" android:screenDensity="xxhdpi" />
    <!-- 480 -->
    <screen android:screenSize="normal" android:screenDensity="560" />
    <!-- Workaround Google Pixel XL, Nexus 6, Nexus 6P -->
    <screen android:screenSize="normal" android:screenDensity="xxxhdpi" />
    <!-- 640 -->
</compatible-screens>

但是,我认为目前我已经排除了这种可能性,因为 S8 应该被 &lt;screen android:screenSize="normal" android:screenDensity="xxxhdpi" /&gt; 覆盖

设备在 Play 商店控制台中显示为“支持”的屏幕截图:

所有 S8 型号的摘要屏幕截图:

【问题讨论】:

  • 提到的设备不属于小型/正常。你也应该指定大
  • 我刚刚添加了屏幕截图,显示设备在 Play 商店控制台中显示为“支持”。屏幕尺寸在规格中列为“正常”。
  • 我已经看到gsmarena.com/samsung_galaxy_s8-8161.php的分辨率
  • 它显示 2960x1440 (570 ppi),为此您也应该指定大。看看developer.android.com/guide/practices/screens_support.html
  • 我现在注意到三星 S4 在网络 Play 商店中也显示为“不兼容”,尽管该设备被“正常”屏幕尺寸覆盖。也许&lt;compatible-screens&gt; 对于三星设备来说通常是坏的?

标签: android mobile google-play software-distribution


【解决方案1】:

不幸的是,您正在通过目前可用的最佳过程来找到根本原因。

对于你的根本问题,我可以给出一些建议:

您应该考虑为什么您真的要排除平板电脑支持。这完全是您的商业决策,但完全违背了 Android 理念。 “手机”或“平板电脑”没有明确的定义。 “phablets”呢?安卓电视怎么样? Chromebook 怎么样?连接到电脑显示器的手机怎么样?我们还没有想到的新设备呢?

思考这个问题的一个有用方法是“平板电脑有什么地方意味着我们不想针对它们?”

  • 如果这是他们通常不打电话的事实,那么需要使用功能android.hardware.telephony 并接受您将允许平板电脑可以打电话的事实。这没关系,因为您的业务决策是基于打电话的能力。
  • 如果他们有大屏幕,那么使用屏幕尺寸作为目标。排除大屏手机是可以的,因为商业原因是大屏。

但是说“我们不想针对平板电脑”而没有充分的技术理由来说明您不想支持的平板电脑可能是错误的,因为没有“平板电脑”的技术定义,而且有 1000 多种奇怪而精彩的 Android 设备,您可能没有想过。

关于您对三星的具体问题,现代三星手机具有一项功能,您可以通过屏幕缩放动态更改屏幕尺寸和密度。现在不能依赖任何依赖屏幕密度/尺寸来定位这些设备的东西,这就是为什么不同用户可能会得到不一致的结果。

【讨论】:

  • 谢谢四位有见地的回答。不支持平板电脑是我做出的业务/产品决定,我希望在我在新角色中更加成熟后,在适当的时候扭转这一决定。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-14
  • 1970-01-01
相关资源
最近更新 更多