`
寻梦者
  • 浏览: 637398 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

android market过滤规则研究

 
阅读更多

首先,只有通过android设备访问Android Market,过滤规则才会生效,过滤规则使得不同的设备在market上看见的app都不尽相同。
 
Android Market通过一个app(应用)触发的filters(过滤器)来决定该app是否对某台设备可见。若某app对某设备不可见,则无论该设备在Android Market上怎么搜索都搜不到该app,即使通过扫描二维码,或是直接进入该app的market链接,也会报告错误说找不到该app。
 
一个app可触发多个filters,它们的组合过滤效果是所有filters效果的“或”,例如,某app触发了“只支持API level 在2或者以上的设备”和“不支持小屏幕设备”两个filters,若该设备是小屏设备,即使它的API level 为3,也无法在Android Market上搜到该app。
 
filters由app的AndroidManifest.xml中设置的项来触发,但不是所有项都能触发filters,下面列举所有能触发filters的manifest项,并给出增强app可见性的建议 :
 
1,
<supports-screens android:resizeable=["true" | "false"]
                  android:smallScreens=["true" | "false"] 
                  android:normalScreens=["true" | "false"] 
                  android:largeScreens=["true" | "false"] 
                  android:xlargeScreens=["true" | "false"]
                  android:anyDensity=["true" | "false"] />
该项决定了app只能支持的设备的屏幕大小。如果多种大小被置为true,则app支持拥有其中最小尺寸的或更大尺寸的设备。
当API level在3或以下时,该设置项未定义,这时候market假定该app默认支持中屏或更大尺寸屏设备,也就是说该app对小屏设备不可见。
当API level在4或以上时,若不声明该项,则默认支持所有屏幕尺寸。
 
2,
<uses-configuration android:reqFiveWayNav=["true" | "false"] 
                    android:reqHardKeyboard=["true" | "false"]
                    android:reqKeyboardType=["undefined" | "nokeys" | "qwerty" | "twelvekey"]
                    android:reqNavigation=["undefined" | "nonav" | "dpad" | "trackball" | "wheel"]
                    android:reqTouchScreen=["undefined" | "notouch" | "stylus" | "finger"] />
该项决定了app只能支持的设备的键盘属性,例如:
<uses-configuration android:reqFiveWayNav="true" android:reqTouchScreen="finger"
                    android:reqKeyboardType="qwerty" />
<uses-configuration android:reqFiveWayNav="true" android:reqTouchScreen="finger"
                    android:reqKeyboardType="twelvekey" />
表示该app只支持这样的设备:拥有五向键键盘、可用手指控制的触屏屏幕,且拥有qwerty键盘或12键键盘。
 
3、
<uses-feature android:name="string"/>
该项决定了app只能支持某些拥有特定软硬件特性的设备,如:
<uses-feature android:name="android.hardware.bluetooth"
      android:name="android.software.live_wallpaper"/>
表示app只支持配有蓝牙和支持动态桌面的设备。
 
4、
<uses-library android:name="string"/>
该项决定了app只能支持某些支持特定lib的设备,如:
<uses-feature android:name="com.google.android.maps"/>
表示app对不支持google maps库的设备不可见。
 
5、
<uses-permission android:name="string"/>
该项定义了app的权限,权限不会直接触发filters,但某些权限被设置等同于某些<uses-feature>标签被设置,导致filters间接被触发,例如:
定义了<uses-permission android:name="android.permission.CAMERA"/>,等同于定义了
<use-feature android:name="android.harware.camera"/>,即使实际上没有声明<use-feature>项。这时候相应的filter就会被触发。
 
6,
<uses-sdk android:minSdkVersion="integer"/>
该项表明app只能支持指定API level或以上的设备。
若该项没设置,则默认API level为1。
 
 
另外,SIM卡的有无、区域限制等也会影响app的可见性,但这些都是开发者不可控的,故不描述。
分享到:
评论

相关推荐

    Android官方原生市场_Android market_2.3.6

    在Android Market 2.3.6这个版本中,我们可以探讨以下几个关键知识点: 1. **Android版本**:2.3.6属于 Gingerbread(姜饼)版本,发布于2010年底,是Android系统的一个重要里程碑。这个版本主要提升了系统的性能和...

    Android Market及应用发布

    ### Android Market及应用发布 #### 一、Android Market简介 Android Market,现在称为Google Play Store,是谷歌为Android操作系统提供的一款官方应用商店。它不仅包含了各种应用程序、游戏、电子书等资源,还...

    Android Market模式分析报告

    **Android Market模式分析报告** **一、Android Market概述** Android Market是谷歌为Android操作系统开发的应用程序商店,旨在为用户提供一个集中下载和购买各种应用程序、游戏、电子书等数字内容的平台。自2008...

    android market上的产品发布流程

    在Android Market,也就是现在的Google Play商店,发布应用是一个至关重要的步骤,它涉及到多个环节,包括应用的准备、打包、测试、上传以及最后的发布。以下将详细解释这一过程中的关键知识点。 1. **应用准备**:...

    google android market发布流程与攻略

    google android market发布流程与攻略 pdf 市场

    android market

    最近因为工作原因找android market个不同版本,来验证兼容性。发现网上虽然很多android market,但大多是同一个版本的(如:2.2.7),其他版本的不好找。所以把我找到的共享出来,哈哈~~下面说明具体版本:V1.6.1/V...

    Android 模拟器安装Android Market

    NULL 博文链接:https://keepye.iteye.com/blog/1292618

    androidMarket01

    "androidMarket01"项目就是这样一个实例,它展示了如何从零开始搭建一个小型的安卓市场框架。在这个项目中,我们将深入探讨以下几个关键知识点: 1. **基本架构设计**:在创建任何应用程序之前,首先要规划其架构。...

    Android market api for php

    通过这个API,开发者可以轻松地获取到关于Android应用程序的各种信息,比如应用详情、用户评价、下载量等,从而实现自定义报告、数据分析或市场研究。 标签“php”表明这是与PHP编程语言相关的,意味着API是用PHP...

    多国语言的Android Market APK

    NobileStyle电子市场,终生免费,永不收取任何...Nobilestyle旨在为全球用户提供多国语言的Android相关服务,包括:Android系统及其相关行业的最新动态,Adnroid第三方应用程序下载,关于Android系统的门户型网站等。

    【PPT】Android程序创意过滤与失败经验谈

    ### Android程序创意过滤与失败经验谈 随着iPhone的风靡全球,Android Market作为一个后起之秀,也逐渐崭露头角。本篇文章将基于提供的文件信息进行深入分析,旨在探讨Android应用市场的现状、发展趋势以及开发者...

    eoeAndroid特刊第三期:AndroidMarket及应用发布pdf版最新版本

    eoeAndroid特刊第三期:Android+Market及应用发布 pdf Android Market并不仅仅是Google的一个应用程序商店。虽然应用程序也很重要,但是在谷歌的Android Market中,它们却仅仅是微不足道的变量。这一平台最大的特点...

    android market 2.2.11.apk

    【Android Market 2.2.11.apk】 Android Market,后来更名为Google Play Store,是Android操作系统中的核心组件之一,它是Google为Android设备提供的官方应用商店。2.2.11版是该市场应用程序的一个特定迭代,对应于...

    google android market发布流程与攻略.pdf

    讲述如何在android market发布自己的应用程序

    上传android应用到googlemarket步骤

    【上传Android应用到Google Market步骤】 在Android平台上,开发者对Android Market(现称为Google Play)的支持至关重要,因为应用的数量和质量直接影响着平台的吸引力。为了让更多优质应用进入市场,谷歌为开发者...

    先锋Android Market CMS内容管理系统 X1.0.zip

    先锋Android Market CMS内容管理系统是基于先锋CMS系统开发而成的一套安卓应用市场管理系统,继承了先锋CMS智能人性、简单易用、安全高效的特点。   1、智能人性、简单易用、安全高效:先锋AndroidMarket CMS内容...

    Android Market

    这篇http://blog.csdn.net/ichliebephone/archive/2010/12/31/6110519.aspx博文中用到的文件。

    谷歌Android Market的五大优势

    谷歌Android Market,现称为Google Play商店,是全球最大的Android应用分发平台,为数亿用户提供海量的应用程序、游戏、音乐、电影和其他数字内容。本文将深入探讨其五大核心优势,帮助用户更好地理解其价值和影响力...

    eoeAndroid特刊第三期:Android+Market及应用发布 pdf

    eoeAndroid特刊第三期:Android+Market及应用发布 pdf  本期特刊主题是Android Market,其内容包含如下文章:  1、Google Checkout简介&开通流程--介绍什么是Google Checkout以及开通Google Checkout的流程。 ...

Global site tag (gtag.js) - Google Analytics