在境外,Android 的体验将越来越好,在中国,Android 的更新可能将止步于6.0!

话题讨论:Instant App 在中国将何去何从?

以下为谷歌原创文章 2017-03-03 Google Play 谷歌开发者

我们一向致力于让用户能以更加省力的方式发现并使用各种应用,而 Android Instant App 正是这一理念的集中体现——这是一种用户无需安装即可运行 Android 应用的全新方式。

正如上图所示,由于不需要事先安装应用,Instant App 能在任何场合直接抵达用户。“瞬间抵达用户” 这个概念吸引了大量开发者的注意(事实上自去年 I/O 大会以来就变成了热点)。

我们正与部分开发者一起合作,努力改善用户和开发者的体验。如今,来自 BuzzFeed、Wish、Periscope 和 Viki 等应用的 Instant App 将首次对 Android 用户开放试用。通过收集用户反馈并在产品上进行迭代,使得我们能够将这种体验推广到更多应用,吸引更多用户。

想要开发 Instant App,您需要更新现有的 Android 应用以使其能利用 Instant App 的功能,然后对应用进行模块化处理,以使应用的部分功能模块可以被单独下载并即时运行。在这个过程中,您将使用相同的 Android API 和 Android Studio 项目。我们计划在几个月后提供完整的 SDK。而现在,您可以进行如下的操作,来为您的 Instant App 开发做好准备:

  1. 从应用程序中删除所有不必要的东西

移除任何未知 / 未使用的权限、未使用的组件、不必要的第三方依赖关系以及代码库。移除这些项目可以显著降低应用大小,并大幅提升性能。

  1. 支持 Android App Links

Instant App 使用 Android 6.0 中推出的 Android App Links 功能来自动处理网页链接。因此,Instant App 基于 URL 的导航功能需要 App Links 的支持。

Android Instant App 使用 URL 进行所有导航操作。当用户点击链接打开您的 Instant App 时,他们会进入应用的一个特定的功能模块。如果链接失效,或用户在不支持的设备上点击了链接,浏览器就会打开,并显示您的网站。此外,在 Instant App里,不能直接从一个功能模块跳转到另外一个功能模块,而是需要通过那个功能模块所对应的 URL 地址。

  1. 如有必要,重构您的应用

Android Instant App 需要由大小不超过 4MB 的可通过 URL 寻址的模块构建而成。如果应用大小超过 4MB,开发者就需要将应用重构为可下载的、响应 URL 导航独立运行的较小的模块。

开发者可以自由选择每个模块中的内容,但我们建议将不同的用户流程分为不同的模块。这使得用户在同一流程内能获得快速的响应体验,而只有当用户切换流程时,才会下载额外的模块。例如,在构建零售体验的时候,您也许会将应用划分成浏览、搜索、商品详情及付款这 4 个模块,让用户在整个购物流程中根据自身需要下载相应的模块。

  1. 实现运行时权限

Android Instant App 使用了由 Android 6.0 引入的运行时权限。同时 Instant App 的框架确保这些功能在较早版本的 Android 系统上也能正常运行。因此,请确保的您应用是针对 Android 6.0 以上的版本,并实现了运行时权限。

  1. 如果应用需要验证用户身份,则须实现Smart Lock for Passwords功能

如果 Instant App 需要用户进行登录,开发者就必须整合 Smart Lock for Passwords。这项功能允许用户使用他们保存的账户信息快速、安全地登录,并在用户进行跨应用访问时保持登录状态。

  1. 清理不应支持的功能

用户对于已安装的应用和通过 URL 直接访问的应用的期待程度可能有所不同,所以某些特定的、适用于完整安装应用的功能在 Instant App 中不应实现。使用了下列任何功能的开发者都需要对自己的应用进行重构,将不支持的功能移入单独的代码库模块中,只有完整安装的应用才能包含这些功能模块。

Instant App 不能:
在用户没意识到的情况下在后台运行。即时应用只能通过支持 App Links 的功能模块启动,自然的,各种服务、内容推送和广播接收者就无法启动 Instant App 了。此外,Instant App 目前还不支持推送通知。
在设备上访问外部存储设备。不过,Instant App 可以临时使用应用专属的内部存储空间。
发现设备上已经安装的应用列表,甚至直接与应用列表产生交互 
接收来自系统及其他已安装的应用程序的广播,或是使用 GCM。在未来,即时应用可能会在运行时支持少数几种广播。
使用符合下列特征的设备标识符:
持续时间长于 Instant App
用户无法重置(如设置 Secure Android ID(SSAID)、Build Serial、Mac 地址、IMEI、IMSI)。请注意:开发者将可以使用 Advertising ID。
更改设备的设置(如更改用户的壁纸)。

非常感谢大家对于 Instant App 的持续关注,我们期待早日收到更多的用户反馈,也希望更多开发者早日做出属于自己的 Instant App 作品。

=== 原文结束 ===

有人说:

这可能是个分水岭!
在境外,Android 的体验将越来越好,在中国,Android 的更新可能将止步于6.0!

也有人说:

Android 集权或将加速分裂!

还有人说:

这是中国OS大厂的3月3!

你,怎么看?

Instant App 即将到来,Android 集权或将加速分裂的更多相关文章

  1. android上instant app介绍 类似于微信小程序

    android上instant app介绍 类似于微信小程序instant app 是谷歌推出的类似于微信小程序(或者说小程序类似于instant app)的一项技术,用户无须安装应用,用完就走,同时 ...

  2. 即将到来的Android N,将具备这些新特性

    原文转自:http://www.leiphone.com/news/201602/pSRQAuAjMFJITqHe.html         原创 訾竣喆 即将到来的Android N,将具备这些新特 ...

  3. [翻译] 初看 ASP.NET Core 3.0 即将到来的变化

    [翻译] 初看 ASP.NET Core 3.0 即将到来的变化 原文: A first look at changes coming in ASP.NET Core 3.0 在我们努力完成下一个 m ...

  4. repo: 创建local manifest以及如何添加app到CM/Android build系统中

    The local manifest Creating a local manifest allows you to customize the list of repositories on you ...

  5. Web程序员开发App系列 - 调试Android和IOS手机代码(补图)

    Web程序员开发App系列 Web程序员开发App系列 - 认识HBuilder Web程序员开发App系列 - 申请苹果开发者账号 Web程序员开发App系列 - 调试Android和iOS手机代码 ...

  6. 《大话移动APP测试:Android与iOS应用测试指南》

    <大话移动app测试:android与ios应用测试指南> 基本信息 作者: 陈晔 出版社:清华大学出版社 ISBN:9787302368793 上架时间:2014-7-7 出版日期:20 ...

  7. 企业SAAS的春天,将以手机应用的形式,即将到来

    派尔科技吴春福 *本文是派尔为什么要投身企业移动应用的内部分享文章: *我没有仔细核查资料,仅代表个人看法,思路也是在整理过程,逻辑未必很完整,看官将就着看. 企业SAAS,概念起源是N年前,先行者也 ...

  8. Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.process.ProcessException

    异常Log: Error:Execution failed for task ‘:app:dexDebug’. > com.android.ide.common.process.ProcessE ...

  9. 准备:新V8即将到来,Node.js的性能正在改变

    V8的Turbofan的性能特点将如何对我们优化的方式产生影响 审阅:来自V8团队的Franziska Hinkelmann和Benedikt Meurer. **更新:Node.js 8.3.0已经 ...

随机推荐

  1. ASP.NET MVC和jQuery DataTable整合

    本文包含代码示例说明如何jQuery插件开发者可以集成到ASP.NET MVC应用程序. 下载源代码- 87.4 KB Introduction The jQuery DataTables plug- ...

  2. Flex中操作XML的E4X方法

    用于处理 XML 的 E4X 方法 Flash Player 9 和更高版本,Adobe AIR 1.0 和更高版本   ECMAScript for XML 规范定义了一组用于使用 XML 数据的类 ...

  3. Eclipse中TODO的分类,以及自动去除

    Window-Preference-Java-Compiler-Task Tags; 这里面进行TaskTag标签的定义,默认支持FIXME.TODO.XXX三种:优先级高的在taskview中 会显 ...

  4. Fourier分析基础(二)——由级数导出连续Fourier变换

    此处推导参考(照抄) A First Course in Wavelets with Fourier Analysis Second Edition, Albert Boggess& Fran ...

  5. 编写JQuery插件-3

    该了解我们也知道的差不多了,接下来编写我们第一个jq插件吧 封装对象方法的插件 我们编写一个设置和获取颜色的插件,我们需要实现两个功能 1.设置匹配元素的颜色 2.获取匹配元素(元素集合的第一个)的颜 ...

  6. .Net基础体系和跨框架开发普及

    .net体系经过十几年发展,发生了很多变化.特别是在最近两年,随着开源和跨平台的发展,衍生出很多概念,像标准库,可移植库,.Net Core等,相信有不少同学对他们之间的关系是有一些困惑的,这里我从基 ...

  7. C++编程练习(7)----“KMP模式匹配算法“字符串匹配

    子串在主串中的定位操作通常称做串的模式匹配. KMP模式匹配算法实现: /* Index_KMP.h头文件 */ #include<string> #include<sstream& ...

  8. 安装Oracle服务端后配置注册表与PL/SQL

    1.流程: 1.安装Oracle客户端(绿色版和安装版均可,建议安装在和Oracle服务端文件夹并行的路径下,例:E:\app\yginuo\product\11.2.0) 2.配置环境变量和注册表( ...

  9. 笑谈ArcToolbox (2) 开启ArcToolbox的钥匙

    笑谈ArcToolbox (2) 开启ArcToolbox的钥匙 by 李远祥 GIS人遇到ArcToolbox就像找到了宝藏一样兴奋,但并不是每个找到宝藏的人都具备开启宝藏的钥匙.有时候功能强大并不 ...

  10. NSMutableAttributedString

    开发过程中,经常会遇到动态计算行高的问题, - (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)op ...