创建 Android Dev Summit 应用并发布具有即时体验的应用程序包的总结。
11 月 7 日和 8 日,在加利福尼亚州山景城的 Android Dev Summit 举办时,会议使用的应用程序已经发布给所有与会者及远程观众。
Android Dev Summit 应用
从 IO-Sched 到 ADS-Sched
The Android Dev Summit 应用(adssched)基于 Google I/O 应用(iosched)开发,这是一个在 Github 上可用的开源项目。移除了一些不需要的功能,比如:
- 预约 [main commit]。此功能与应用的每一层深度耦合,严重增加了数据库的复杂度。在 I/O 应用中,我们使用了一个 endpoint 来指明一个用户是否是注册的与会者。未注册的与会者具有不同的用户体验。在 adssched 中,所有的用户都是相同的,这使得业务逻辑更加简洁。
- 地图 [commit]。会议只有两条路线,因此不需要地图。这在底部导航中释放了位置,让我们能够将议程提升到醒目的位置。
我们还添加了一些新功能:
- 通知 [commit]。使用 AlarmManager 在已加星标的项目开始时间 5 分钟前设置提醒。
- 即时应用 [commit]。从一个 Android Studio 项目构建一个 instant app 非常容易。我们使用 flavor 来生成两个不同的 bundle(installed /instant)这是目前的要求,但是在将来你能够上传单个 bundle。
即时应用统计信息
这是我们第一次发布会议应用程序作为即时应用,我们很好奇有多少人会使用这个模型。
安装的应用程序与即时体验的应用程序使用情况对比 [10 月 30 日至 11 月 15 日]
大约 25% 的即时用户(占总用户的 15%)跳转到已安装的应用:
即时体验使用 + 已安装的应用使用情况
采纳:
- 在会议召开一周前公布应用程序时,我们看到大约 40% 的用户通过即时应用体验程序。即时应用可以通过在搜索结果和 Play 上的立即尝试按钮访问。
“立即尝试”按钮可提供即时体验
- 在会议期间,该数字下降到 30%,可能是由于通知的可用性。
- 同样有趣的时,会议结束后安装次数减少,即时应用用户数量增加。用户似乎发现了通知时两者之间的唯一区别。
在发布即时应用之前,请按照本指南设置分析,并为即时安装流程添加事件(遗憾的是我们没有!)。
添加即时体验后的分析
运作良好的:
- 认证机制不需要修改。Firebase Auth 和 Google Smart Lock for Passwords 负责一切,因此即时应用登录体验非常流畅。
- 用户在 Android 手机上搜索峰会即可找到即时应用。
Google 搜索结果显示峰会的即时应用
- 从即时应用到安装应用程序的流程由 Google Play 无缝处理。
Google Play 从即时应用到安装应用的流程
可以改进的地方:
- 问题 activity-alias 标签阻止了应用程序在即时应用启动后出现在启动器上。它出现在最近页面上,但这远非理想中的效果。由于时间限制,我们未能及时发布错误修复程序。
- 即时应用无法直接提供通知功能。但你可以通过 Play 服务发送推送通知(目前处于测试阶段)。但这需要后端代码的支持,所以我们决定从即时应用转化到安装应用后才可展示通知。这也是两者间的唯一区别。
开源 adssched
IOSched 原意始终是一个示例(从包名可以看出)用以学习目的以及作为其他会议应用程序的基础。但是,I/O 具有的某些要求使得其相对常规会议应用的需求复杂很多(例如预定系统)。
Android Dev Summit 的规模和要求与其他会议类似,因此更适合 Fork 并重用。新版本仅需要 Firebase 项目(我们建议使用第二个暂存项目,链接到 Debug 构建类型)和一个托管会议 JSON 数据文件,它的格式很简单。
如果你需要我们帮助为会议创建分支,随时可以在 Github 项目上打开一个问题。
这个即时应用实验取得了成功并带来了非常有趣的数据,但我们的需求非常简单,因此完整的应用也足够小。我们只有一个即时入口点,用户群体也有限。我们等不及想要看看开发人员会在哪些场景使用即时应用程序以及社区会用 adssched 构建什么新东西了!
致谢:Ben Weiss(adssched 即时应用功能的所有者),Nick Butcher(魔法 GIF 的创造者)
感谢 Nick Butcher 和 Ben Weiss。
如果发现译文存在错误或其他需要改进的地方,欢迎到 掘金翻译计划 对译文进行修改并 PR,也可获得相应奖励积分。文章开头的 本文永久链接 即为本文在 GitHub 上的 MarkDown 链接。
掘金翻译计划 是一个翻译优质互联网技术文章的社区,文章来源为 掘金 上的英文分享文章。内容覆盖 Android、iOS、前端、后端、区块链、产品、设计、人工智能等领域,想要查看更多优质译文请持续关注 掘金翻译计划、官方微博、知乎专栏。
本文转自 https://juejin.cn/post/6844903777783250958,如有侵权,请联系删除。# 最后
按照国际惯例,给大家分享一套十分好用的Android进阶资料:《全网最全Android开发笔记》。
整个笔记一共8大模块、729个知识点,3382页,66万字,可以说覆盖了当下Android开发最前沿的技术点,和阿里、腾讯、字节等等大厂面试看重的技术。
因为所包含的内容足够多,所以,这份笔记不仅仅可以用来当学习资料,还可以当工具书用。
如果你需要了解某个知识点,不管是Shift+F 搜索,还是按目录进行检索,都能用最快的速度找到你要的内容。
相对于我们平时看的碎片化内容,这份笔记的知识点更系统化,更容易理解和记忆,是严格按照整个知识体系编排的。
详细文档可以点我下载,记得点赞哦~
(一)架构师必备Java基础
1、深入理解Java泛型
2、注解深入浅出
3、并发编程
4、数据传输与序列化
5、Java虚拟机原理
6、高效IO
……
(二)设计思想解读开源框架
1、热修复设计
2、插件化框架设计
3、组件化框架设计
4、图片加载框架
5、网络访问框架设计
6、RXJava响应式编程框架设计
……
(三)360°全方位性能优化
1、设计思想与代码质量优化
2、程序性能优化
- 启动速度与执行效率优化
- 布局检测与优化
- 内存优化
- 耗电优化
- 网络传输与数据储存优化
- APK大小优化
3、开发效率优化
- 分布式版本控制系统Git
- 自动化构建系统Gradle
……
(四)Android框架体系架构
1、高级UI晋升
2、Android内核组件
3、大型项目必备IPC
4、数据持久与序列化
5、Framework内核解析
……
(五)NDK模块开发
1、NDK开发之C/C++入门
2、JNI模块开发
3、Linux编程
4、底层图片处理
5、音视频开发
6、机器学习
……
(六)Flutter学习进阶
1、Flutter跨平台开发概述
2、Windows中Flutter开发环境搭建
3、编写你的第一个Flutter APP
4、Flutter Dart语言系统入门
……
(七)微信小程序开发
1、小程序概述及入门
2、小程序UI开发
3、API操作
4、购物商场项目实战
……
(八)kotlin从入门到精通
1、准备开始
2、基础
3、类和对象
4、函数和lambda表达式
5、其他
……
好啦,这份资料就给大家介绍到这了,*有需要详细文档的小伙伴可以点我下载~~~~*