问题 在清单中指定Android Market RAM


有些人继续在拥有100MB内存的手机上下载并安装我们的高清游戏并给我们一个糟糕的评价...... :)

有没有办法限制应用程序下载到只有很多内存的智能手机,或者可能限制新的型号/ CPU。


8321
2017-09-02 07:42


起源



答案:


我的最终解决方案来自Raghav Sood的提示...... 经过一番研究后,我发现对下面的屏幕进行限制将限制为具有512Mb + RAM的设备。这不是100%安全,但它是我发现的最好的解决方案:)

只需在清单文件中添加这些过滤器。

    <compatible-screens>
        <!-- some normal size screens -->
        <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>

请注意,一些新手机的密度比xhdpi高,所以它们会被封锁!我正在尝试新的过滤器:

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

到目前为止,一切都很好。我发现我在支持的列表上有低端设备,但到目前为止没有人抱怨,(对于设备相关的错误,下载量为85k)。

我会推荐第二种解决方案,但请谨慎使用! 我肯定会在即将到来的游戏中使用它。

欢迎您提供反馈!


9
2017-10-02 21:07





你说你的应用程序是高清。你为什么不过滤掉不是的设备?任何具有高清屏幕的设备通常都应该有足够的RAM来运行您的应用程序。你可以使用 supports-screen 标签以排除具有ldpi和mdpi屏幕的设备。虽然这可能无法锁定所有低端设备,但它会锁定很多低端设备。


2
2017-09-02 08:26



嗯......这可能会有所帮助..会尝试做一点研究。我认为这是一个接近的:) - Tom


答案:


我的最终解决方案来自Raghav Sood的提示...... 经过一番研究后,我发现对下面的屏幕进行限制将限制为具有512Mb + RAM的设备。这不是100%安全,但它是我发现的最好的解决方案:)

只需在清单文件中添加这些过滤器。

    <compatible-screens>
        <!-- some normal size screens -->
        <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>

请注意,一些新手机的密度比xhdpi高,所以它们会被封锁!我正在尝试新的过滤器:

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

到目前为止,一切都很好。我发现我在支持的列表上有低端设备,但到目前为止没有人抱怨,(对于设备相关的错误,下载量为85k)。

我会推荐第二种解决方案,但请谨慎使用! 我肯定会在即将到来的游戏中使用它。

欢迎您提供反馈!


9
2017-10-02 21:07





你说你的应用程序是高清。你为什么不过滤掉不是的设备?任何具有高清屏幕的设备通常都应该有足够的RAM来运行您的应用程序。你可以使用 supports-screen 标签以排除具有ldpi和mdpi屏幕的设备。虽然这可能无法锁定所有低端设备,但它会锁定很多低端设备。


2
2017-09-02 08:26



嗯......这可能会有所帮助..会尝试做一点研究。我认为这是一个接近的:) - Tom


阅读有关记忆的内容

此外,您可以在开发控制台中取消选中您不想要的设备。


1
2017-09-02 08:02



tnx在回复但我需要编辑清单文件,因此它不允许具有低端设备的用户下载游戏以保护自己免受不良评级。我列出了1600台设备。我不能一个接一个地去禁用它们。 - Tom
你读过另一个问题吗?您可以在应用程序启动之前运行测试,并发出一条消息,说明您的设备不受支持。当他们在你的应用程序中间做某事时,t优于强制关闭。 - wtsang02
是的,我做了,但它不是我正在寻找..我仍然希望有一种方法来解决清单文件。但是现在只有我拥有的东西 - Tom
我希望它有所帮助,满足用户比世界和平更难。 - wtsang02
呵呵......你是对的。 tnx在回复中我将继续寻找替代方案,但看起来我将不得不按你的方式进行。 - Tom


据我所知,它不是Google Play的过滤器之一。 http://developer.android.com/guide/google/play/filters.html

我想你可以:

  • 过滤掉您知道不符合条件的设备。您可以从Android Developer Console执行此操作(只需列出您的应用可以运行的设备,然后点击排除将其添加到手动排除列表中)。但考虑到Android设备的数量,这可能很难。

  • 在应用程序中,检查分配给您的内存,如果不足以获得良好的体验,请对其进行操作。让用户知道(并退还,如果它已付款:))等。只有当你确定记忆是唯一的限制因素。


1
2017-09-02 08:05



tnx回复...有没有办法限制新的CPU或他们的时钟?这也有助于过滤掉低端设备。 - Tom
我不相信有。您可以回到基础并请求更高的minSDK版本。您关注的低端设备很可能会运行古老版本的Android。 - Alex Florescu