在境外,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. jQuery事件触发和参数传递

    jQuery事件触发和参数传递: 参考:http://www.jb51.net/article/36249.htm <%@ page language="java" impo ...

  2. repeater控件自定义Url分页带参数

    repeater控件的效果图如下: 该页面实现的功能如下: 1.上下分页,(也可以带首页和末页,我只是禁掉了没用) 2.根据用户输入的指定分页索引进行跳转 3.根据筛选数据的参数进行URL分页的参数传 ...

  3. 对angularjs时间过滤格式

    在最近的项目中,我遇到这样的一个小问题,从后台传过来一个时间值,格式如下: "/Date(1484743002000)/" 至于为什么是这种格式,后台的开发说数据库中就是这个存的( ...

  4. 从新手到高手c++全方位学习 pdf + 视频教程 共18章

    淘宝已经和谐了这个网站,原网址:https://item.taobao.com/item.htm?spm=a1z09.8149145.0.0.mb00D0&id=17350311256& ...

  5. 微信面试题-获取元素的最终background-color

    一.题目  用JS代码求出页面上一个元素的最终的background-color,不考虑IE浏览器,不考虑元素float情况. 二.题目解析  1.考察底层JavaScript基础  前端开发,日常最 ...

  6. Ionic start 创建项目报错 Error with start undefined

    转自:http://blog.csdn.net/wenzigui_qy/article/details/52874542 在Installing npm packages的时候报错,如下: Insta ...

  7. java udp socket通信(仅发送)

    实现功能:客户端发送一个字符串(可以为汉字),服务器端接收并显示 服务器端程序: package udpServer; import java.io.*; import java.net.*; /** ...

  8. 关于hibernate注解的简单应用

    @Override 用途:重写父类的同名方法 单元测试注解 @Test 用途:用于测试 @Before 用途:单测方法走之前执行 @After 用途:单测方法走之后执行 注解的目标:替换小配置.替换h ...

  9. 一键打包并发布到Nuget平台

    目标是只要执行一个命令就自动发布新版本到nuget平台 第一步在nuget官网注册一个账号 会有一个APIKEY 如下图   在工程里面添加一个Gruntfile.js 然后copy以下代码 在vs里 ...

  10. C# 6 与 .NET Core 1.0 高级编程 - 40 ASP.NET Core(下)

    译文,个人原创,转载请注明出处(C# 6 与 .NET Core 1.0 高级编程 - 40 章  ASP.NET Core(下)),不对的地方欢迎指出与交流. 章节出自<Professiona ...