zoukankan      html  css  js  c++  java
  • Android App在Google App Store中搜不到

    情景:Android App在Google App Store上架成功,三星手机可以在Google App Store中搜索到,但是三星tablet却无法在Google App Store中搜索到,目标用户在韩国,手中也没有测试的Tablet,怎么办?

    问题产生的原因

    Google Play存在过滤功能,在某些情况下,您通过<uses-permission>请求的权限可影响Google Play如何过滤您的应用。举个例子,您通过<uses-permission>请求了打电话的权限,而这款设备不具备通话的硬件,那这个设备在Google Play中就无法搜索到你的App。Android官方文档对这个有详细介绍:

     

    解决办法:

    添加一条<uses-permission>,同时添加一条<uses-feature>与之对应,并在<uses-feature>中设置android:requires="false"。

    <manifest ...>
        <uses-permission android:name="android.permission.CALL_PHONE" />
        <uses-feature android:name="android.hardware.telephony" android:required="false" />
        ...
    </manifest>

    如果只想解决上面的问题,可以到此结束了,下面的内容是记录<uses-permission>和<uses-feature>的2个知识点。

    知识点介绍:

    <uses-permission>

    语法:

    <uses-permission android:name="string"
            android:maxSdkVersion="integer" />

    <uses-permission>中只有name和maxSdkVersion这2个属性。<uses-permission>请求的权限可能会影响Google Play如何过滤你的应用。如果你不想Google Play根据<uses-permission>过滤你的应用,请将<uses-feature>和<uses-permission>配合使用。

    <uses-feature>

     语法:

    <uses-feature
      android:name="string"
      android:required=["true" | "false"]
      android:glEsVersion="integer" />

    属性

    android:name
    以描述符字符串形式指定应用使用的单一硬件或软件功能。 硬件功能和软件功能部分列出了有效的属性值。 这些属性值区分大小写。
    android:required
    表示应用是否需要 android:name 中所指定功能的布尔值。
    当您为某项功能声明 android:required="true" 时,即是规定当设备不具有该指定功能时,应用无法正常工作,或设计为无法正常工作。
    当您为某项功能声明 android:required="false" 时,则意味着如果设备具有该功能,应用会在必要时优先使用该功能,但应用设计为不使用该指定功能也可正常工作。
    如果未予声明,android:required 的默认值为 "true"。

    android:glEsVersion
    应用需要的 OpenGL ES 版本。高 16 位表示主版本号,低 16 位表示次版本号。 例如,要指定 OpenGL ES 2.0 版,您需要将其值设置为“0x00020000”;要指定 OpenGL ES 3.2,则需将其值设置为“0x00030002”。
    应用应在其清单中至多指定一个 android:glEsVersion。 如果指定不止一个,将使用数值最高的 android:glEsVersion,任何其他值都会被忽略。

    如果应用不指定 android:glEsVersion 属性,则系统假定应用只需要 OpenGL ES 1.0,即所有 Android 设备都支持的版本。

    应用可以假定,如果平台支持给定 OpenGL ES 版本,也同样支持所有数值更低的 OpenGL ES 版本。 因此,同时需要 OpenGL ES 1.0 和 OpenGL ES 2.0 的应用必须指定它需要 OpenGL ES 2.0。

    能够使用几种 OpenGL ES 版本中任一版本的应用只应指定它需要的数值最低的 OpenGL ES 版本。 (它可以在运行时检查是否有更高版本的 OpenGL ES 可用)。

    如需了解有关如何使用 OpenGL ES(包括如何在运行时检查支持的 OpenGL ES 版本)的详细信息,请参阅 OpenGL ES API 指南。

    隐式<uses-permission>和<uses-feature>对应表:

     

    参考链接:

    https://developer.android.com/guide/topics/manifest/uses-permission-element.html

    https://developer.android.com/guide/topics/manifest/uses-feature-element.html#sw-features

  • 相关阅读:
    Entity Framework 学习 Code First(1)
    CLR via C# 读书笔记 运行时序列化
    Entity Framework 学习 Model First
    轻量级开发工具 SharpDevelop
    bit加载失败
    [Reminder] 影响EMIF16异步读写性能因素
    Field Alert: Initial Voltage Level Setting of CVDD rail power supplies
    PHP函数Imap电子邮件系统函数
    PHP函数PHP选项及相关信息函数
    PHP函数Soap函数
  • 原文地址:https://www.cnblogs.com/wobuyayi/p/7903405.html
Copyright © 2011-2022 走看看