Android Market 对用户地区的限制是件很恼火的事情,这其中并不是简单地只有指定地区用户才可以看到并购买付费应用,有些免费应用同样有区域限制,让人很不爽。
Google 确实声明了 Market Filters,从 manifest 文件到访问 market 的机器的硬件再到 SIM 卡等等都是 filter 的参考条件。所谓区域限制,在用户看来,就是某些软件在手机的 Android Market 中搜都搜不到,即便拍摄二维码,试图在 market 中打开也报告错误说找不到这个 app。而付费软件,指明只在某些国家的用户可以购买,大致和当年 八国联军 的名单符合(截至今日有 14 个国家),少许差别是还有 韩国,瑞士,新西兰,但是没有 俄罗斯 而已 ^_^。而对开发者来说,是否能销售也有不同,可以发布付费 app 的国家名单比可以购买付费应用的 N国联军 还短,澳大利亚,加拿大,韩国,新西兰和瑞士就不能能出售,悲剧。
地区限制这回事儿:
. 和身处的物理位置无关,不管是你的肉身所在,通过 WiFi,基站还是 GPS 得到的定位
. 与购买手机的地点,渠道,无关;在英国,美国还是纳米比亚,通过电器经销商还是运营商门店,unlock 的还是运营商定制的,均无关
. 和是否 root 过无直接关联
. 和刷的 ROM 无直接关联
. 和 locale 设置无关,也就是系统选择的地点,语言,数据显示格式等无关
. 和联网时是不是走了 VPN,即便有一个美国的 IP 也无简单关系
. 和是不是不走运营商数据链接,仅通过 WiFi 折腾无简单关系
. 和登录的 Google 账户所指明的所在区域无关
. 最后,和人品无关

那,折腾来折腾去,绕过地区限制有什么好处呢?
. 让用户觉得有主宰感
. 有很多优秀的,无论付费还是免费的 Android app,只有某些地区才能看到并下载或购买。举个例子,免费的软件比如,Google Earth 在“某些”区域的用户手机上就看不到,mint 和 paypal 的 Android 应用亦然,还有 Bank of America 和 Wells Fargo 的 Android app 都是免费但是看不见 —- 这是件相当让人抓狂的事情。付费应用:Lonely Planet 系列,CoPilot 等 GPS 软件,稍微上道一点的游戏,无一不是付费的,很多软件也不贵,可我连花钱的机会都没有?!
好,兜了半天圈子,入正题。方法有二:
一是“有人说” Market Enabler,可实际上,这个 app 的网站可以访问(在 Google Code 上),却无法下载,我过去一个星期一直在试,结果都是一样。
二,考虑到 美利坚 内部绝对处于满足所有条件,没有限制的情况,再 review 一下前面提到的 market filters,有这么几个关键地方可以下手:
Priced Status
Not all users can see paid apps. To show paid apps, a device must have a SIM card and be running Android 1.1 or later, and it must be in a country (as determined by SIM carrier) in which paid apps are available.
Country / Carrier Targeting
When you upload your app to the Android Market, you can select specific countries to target. The app will only be visible to the countries (carriers) that you select, as follows:
* A device’s country is determined based on the carrier, if a carrier is available. If no carrier can be determined, the Market application tries to determine the country based on IP.
* Carrier is determined based on the device’s SIM (for GSM devices), not the current roaming carrier.
看来核心是“运营商”,那……就弄一张“别处”的 SIM 卡(此处和后面用词不区分 SIM 和 USIM),只要 market 支持付费应用的国家的运营商的 SIM 卡就行。
如果是美国,弄张 AT&T,或者 T-Mobile 的 SIM 卡 —- CDMA2000 的运营基本没有 SIM 卡这种东西,所以自然要找 WCDMA,moto 的 droid 系列我也不知道该怎么办了 —- 我有一张 T-Mo,两张 ATT,可以交叉验证,一张不行下一张还能前仆后继。好,关机,取电池,新 SIM 放入手机,开机,ATT 卡无法在中移动/联通注册是很自然的,不过没关系,其他什么也没有改变,无需刷机,无需任何 tricky 的动作。
进入手机会要求重输入当前 Google 账户的密码,重输好了,然后启动 market 应用,哈哈,是不一样了吧:首页原来是空白,现在有内容了,可以看到插入比如内地运营商 SIM 卡时看不到的很多 app 了,原来只有 top free 和 just in,现在各门类下 top paid 也有了,搜索能出来各色付费免费 app 了,原来看不到的 mint 和 Google Earth 也出来了。只需换 SIM 卡即可,IP 地址理论上会作为复合条件加以考虑,不过按我现在的试验,貌似没有负面影响。

那 ATT 等的 SIM 卡会是个瓶颈吗?嘿嘿,这个问题很不幸,早已经因为另外一件事而被解决啦—- iPhone 激活。美版 iPhone 需要 ATT SIM 卡激活,这门生意早就在国内红火了,淘宝上 ATT SIM 的售价大概 30 左右。买一张来,先谢国家,然后谢 Apple,最后插入 Android 手机,开始享受。当然,注意不是 micro SIM 就好。
至于购买付费 app 就直接了,付费应用点击 BUY,走 Google Checkout,确认后会用绑定的信用卡支付,10 秒不到就可以走完。然后是 market 自动下载该 app。非常便捷,Google Checkout 绑定卡片没什么多的限制,常见的发卡机构出来的信用卡都支持。
当然,这个方法的短处也很显然,换了 SIM 卡,电信业务就不用想了,电话短信没了,而且上网只能走 WiFi。只有装完 app 后换回原来的 SIM 卡。我纳闷,以后 Android 有了支持多 SIM,多网的方案,是不是可以插一张废 ATT,再插一张真正用的 SIM 就一劳永逸呢~~~