限制在平板电脑上从 Google Play 下载
Restrict download on Tablet from Google Play
我知道有一个话题已经讲过了:
Here
<manifest ... >
<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" />
<screen android:screenSize="small" android:screenDensity="xxhdpi" />
<screen android:screenSize="small" android:screenDensity="xxxhdpi" />
<!-- 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" />
<screen android:screenSize="normal" android:screenDensity="xxhdpi" />
<screen android:screenSize="normal" android:screenDensity="xxxhdpi" />
</compatible-screens>
</manifest>
我已将上述代码应用到我的项目中,但不知为何某些设备仍被识别为平板电脑:
• Samsung S8+ Android 7.0 ( 2960x1440 6.2')
• Nexus 5X Android 8.0 ( 1920x1080 5.2')
• Google Pixel 2 Android 8.0 ( 1920x1080 5')
消息"your device isn't compatible with this version"显示在应用程序页面上。
那么有没有什么办法可以保证所有手机都能下载app而不是平板?
非常感谢
我认为这与 this question 相同,但我的回答没有被投票或接受,所以它不会让我标记为重复。所以我会在这里重现我的答案。该答案是关于排除平板电脑,但限制为平板电脑有类似的答案。
Android 不仅仅是 phone 和平板电脑。
您应该考虑为什么您真的要排除对平板电脑的支持。这完全是您的业务决定,但完全违背了 Android 的理念。 "phone"或"tablet"没有明确的定义。 “phablets”呢? Android 电视呢? Chromebook 呢?停靠在电脑显示器上的手机怎么样?我们还没有考虑过的新设备呢?
一个有用的思考方式是 "What is it about tablets that means we don't want to target them?"
- 如果事实是他们通常不拨打 phone 电话,则需要使用功能 android.hardware.telephony 并接受您允许可以拨打 phone 的平板电脑这一事实电话。这没问题,因为您的业务决策取决于拨打 phone 电话的能力。
- 如果他们有大屏幕这一事实,则使用屏幕尺寸作为目标。排除phones 大屏就可以了,因为商业原因是大屏。你提到的 phones 有大屏幕。
但是在没有充分的技术理由的情况下说 "we don't want to target tablets" 关于您不想支持的平板电脑可能是错误的,因为 "tablet" 没有技术定义,并且有数以千计的奇怪而美妙的 Android 设备在那里你可能没有想过。
让我们尝试以下操作:
<compatible-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" />
<screen android:screenSize="small" android:screenDensity="420" />
<screen android:screenSize="small" android:screenDensity="480" />
<screen android:screenSize="small" android:screenDensity="560" />
<screen android:screenSize="small" android:screenDensity="640" />
<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" />
<screen android:screenSize="normal" android:screenDensity="420" />
<screen android:screenSize="normal" android:screenDensity="480" />
<screen android:screenSize="normal" android:screenDensity="560" />
<screen android:screenSize="normal" android:screenDensity="640" />
<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" />
<screen android:screenSize="large" android:screenDensity="420" />
<screen android:screenSize="large" android:screenDensity="480" />
<screen android:screenSize="large" android:screenDensity="560" />
<screen android:screenSize="large" android:screenDensity="640" />
</compatible-screens>
希望对您有所帮助。
我知道有一个话题已经讲过了: Here
<manifest ... >
<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" />
<screen android:screenSize="small" android:screenDensity="xxhdpi" />
<screen android:screenSize="small" android:screenDensity="xxxhdpi" />
<!-- 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" />
<screen android:screenSize="normal" android:screenDensity="xxhdpi" />
<screen android:screenSize="normal" android:screenDensity="xxxhdpi" />
</compatible-screens>
</manifest>
我已将上述代码应用到我的项目中,但不知为何某些设备仍被识别为平板电脑:
• Samsung S8+ Android 7.0 ( 2960x1440 6.2')
• Nexus 5X Android 8.0 ( 1920x1080 5.2')
• Google Pixel 2 Android 8.0 ( 1920x1080 5')
消息"your device isn't compatible with this version"显示在应用程序页面上。
那么有没有什么办法可以保证所有手机都能下载app而不是平板?
非常感谢
我认为这与 this question 相同,但我的回答没有被投票或接受,所以它不会让我标记为重复。所以我会在这里重现我的答案。该答案是关于排除平板电脑,但限制为平板电脑有类似的答案。
Android 不仅仅是 phone 和平板电脑。
您应该考虑为什么您真的要排除对平板电脑的支持。这完全是您的业务决定,但完全违背了 Android 的理念。 "phone"或"tablet"没有明确的定义。 “phablets”呢? Android 电视呢? Chromebook 呢?停靠在电脑显示器上的手机怎么样?我们还没有考虑过的新设备呢?
一个有用的思考方式是 "What is it about tablets that means we don't want to target them?"
- 如果事实是他们通常不拨打 phone 电话,则需要使用功能 android.hardware.telephony 并接受您允许可以拨打 phone 的平板电脑这一事实电话。这没问题,因为您的业务决策取决于拨打 phone 电话的能力。
- 如果他们有大屏幕这一事实,则使用屏幕尺寸作为目标。排除phones 大屏就可以了,因为商业原因是大屏。你提到的 phones 有大屏幕。
但是在没有充分的技术理由的情况下说 "we don't want to target tablets" 关于您不想支持的平板电脑可能是错误的,因为 "tablet" 没有技术定义,并且有数以千计的奇怪而美妙的 Android 设备在那里你可能没有想过。
让我们尝试以下操作:
<compatible-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" />
<screen android:screenSize="small" android:screenDensity="420" />
<screen android:screenSize="small" android:screenDensity="480" />
<screen android:screenSize="small" android:screenDensity="560" />
<screen android:screenSize="small" android:screenDensity="640" />
<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" />
<screen android:screenSize="normal" android:screenDensity="420" />
<screen android:screenSize="normal" android:screenDensity="480" />
<screen android:screenSize="normal" android:screenDensity="560" />
<screen android:screenSize="normal" android:screenDensity="640" />
<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" />
<screen android:screenSize="large" android:screenDensity="420" />
<screen android:screenSize="large" android:screenDensity="480" />
<screen android:screenSize="large" android:screenDensity="560" />
<screen android:screenSize="large" android:screenDensity="640" />
</compatible-screens>
希望对您有所帮助。