在境外,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. Lazy.js : 让 JavaScript 变懒

    Lazy.js : 让 JavaScript 变懒 http://segmentfault.com/a/1190000000358463

  2. Spring3.2AOP实现需要添加的三个包

    Spring3.2AOP实现需要添加的三个包 http://down.51cto.com/data/1001395 http://down.51cto.com/data/519542

  3. 源码(08) -- java.util.ListIterator<E>

    java.util.ListIterator<E> 源码分析(JDK1.7) ------------------------------------------------------- ...

  4. ThreadLocal模式的原理

    在JDK的早期版本中,提供了一种解决多线程并发问题的方案:java.lang.ThreadLocal类.ThreadLocal类在维护变量时,实际使用了当前线程(Thread)中的一个叫做Thread ...

  5. IIS7上搭建网站的基本方法(系统推荐的安全方案)

    1.创建的程序池命名默认为网站名称,程序池的标识采用默认的ApplicationPoolIdentity,这个会自动生成虚拟的用户,系统推荐的安全方案: 2.网站右键 基本设置 --> 连接为 ...

  6. 用phpcms如何将静态页面制作成企业网站,头部加尾部

    首先,先要准备好这个静态网页的源文件,如图 bs里面是一些css和js的文件,img则是放图片的,文件中的index是网页的首页 运行一下,看看 是这样的 然后打开phpcms文件,上篇博客中有提到, ...

  7. 原生js实现轮播图

    原生js实现轮播图 很多网站上都有轮播图,但找到一个系统讲解的却很难,因此这里做一个简单的介绍,希望大家都能有所收获,如果有哪些不正确的地方,希望大家可以指出. 原理: 将一些图片在一行中平铺,然后计 ...

  8. 利用hexo+github+nodejs搭建自我博客的一天

    放一张比较喜欢的背景图镇楼,伪文艺一波.因为刚刚抱着四个快递从公司大门走到宿舍,快递都比我高,坐电梯的时候电梯里面的灯一闪一闪,电梯还摇晃,上演了一波鬼吹灯,惊魂未定... 说正题:我喜欢的博客应该是 ...

  9. jQuery_第一章_JavaScript基础

    JavaScript基础 JavaScript不难,但是对于初学者来讲比较的怪异. 是一种客户端语言,在浏览器执行的.是一种脚本语言,直接就能解释执行的叫脚本代码.像dos命令还有SQL也是. 为什么 ...

  10. jQuery ajax() 参数,回调函数,数据类型,发送数据到服务器,高级选项

    $.ajax({ options:/*类型:Object;  可选.AJAX 请求设置.所有选项都是可选的.*/ async:/*类型:Boolean; 默认值: true.默认设置下,所有请求均为异 ...