当前位置: 首页 > news >正文

华为官方出品:首本HMS Core技术解析图书问世

导读:华为HMS是Huawei Mobile Service的缩写,即华为移动服务。简单来说,HMS就是用来为手机提供基础服务的,比如云空间、应用市场、支付钱包等。与HMS相对应的,是谷歌的GMS,全称为Google Mobile Service。

伴随着移动网络从2G发展到4G,20年间移动互联网发生了翻天覆地的变化,吸引了无数移动应用开发从业人员,造就了今天移动应用的“浩瀚星海”,带动移动互联网整体产业和生态圈的飞速发展。华为HMS(Huawei Mobile services)生态仅用一年时间,就已跃居全球第三大移动应用生态,得到了全球开发者的接受和喜爱。

对于开发者群体,华为HMS生态提供了从技术开放到商业运营的系统解决方案。华为已经向开发者开放了包括地图、搜索、支付、浏览、广告等在内的五大根服务引擎,以及应用服务、图形、人工智能、媒体、系统、安全、智能终端等七大领域的核心技术能力。

为了让更多开发者和用户认识、了解华为HMS生态并加入其建设进程,华为官方首次出版了《华为HMS生态与应用开发实战》一书。

点击了解详情

本书基于作者多年在华为终端云服务方面的技术积累和对生态发展的理解,以开发者应用的“D(开发)/G(成长)/E(变现)模型”为切入点,通过实战方式向读者详细介绍如何使用HMS开放能力快速打造一款优质App,同时有效获客和快速变现。对于广大开发者关心的华为HMS发展历程、移动应用生态商业逻辑与价值分配,以及隐私合规框架等问题,书中也做了阐述。

本书内容

第1~2章,介绍HMS生态发展历程与HMS Core生态整体架构及接入机制,帮助开发者了解移动应用生态、HMS蓝图与架构,适合所有人员阅读。

 

第3~11章,介绍Kit快速集成,搭建实战环境,深入讲解每个Kit的功能原理,并通过一个支撑所有Kit集成业务的场景,详解每个Kit的实战环节,包括Account Kit、IAP Kit、Push Kit、Location Kit、Map Kit、Site Kit、Safety Detect、FIDO Kit等,以帮助开发者了解如何快速接入HMS开放的各项能力。

 

第12章,介绍华为提供的App测试服务及华为应用市场上架过程,协助开发者快速进行应用多机型测试和上架到华为应用市场。

 

附录部分主要介绍客服支持、论坛、代码实验室、开发者学院以及开发者扶持计划等常见开发者服务。

适合谁读

  • 移动应用设计、开发、测试工程师;

  • 移动应用生态产品、运营、营销等环节的从业者;

  • 移动应用生态理念传播的布道师;

  • 对移动应用生态未来发展趋势感兴趣的推动者、从业者和潜在的生态建设参与者;

  • 开设移动应用开发相关课程的院校师生。

如果你是一位有着一定经验的资深移动开发人员,可把本书当作案头参考书。然而,如果你是一名初学者,请在开始本书阅读之前,先学习一些Android基础开发知识。 

名人推荐

利益相关者是谁?创新发生在哪里?新的商业趋势是什么?华为HMS是如何做到的?我相信每一个读者通过这本书会了解到华为HMS生态的价值,也会有更好的视角去审视这些问题。

华为通过HMS Core全面开放“芯-端-云”的能力,帮助开发者实现开发、成长、变现;每一位程序员,都可以通过本书了解华为HMS生态的历程,以及HMS Core详细的开放接口和能力,从而高效地构建应用程序。我相信每一位阅读者都会非常兴奋地看到,一个真正独立自主的生态远景图被渐渐地描绘出来并实现。

—陈湘宇,深圳创梦天地科技有限公司联合创始人兼CEO

 

华为作为终端和5G技术的领导者,在手机硬件领域获得了全球用户的肯定。在5G崛起的当下,华为开发者联盟和HMS Core专家团队秉承一贯的数字化创新精神,将多年积累的终端与云服务方面的技术实战经验集结成书。

本书旨在帮助全球的开发者快速完成移动应用开发,并期待广大开发者持续与HMS生态共同为全球用户创造更大的社会价值,共建生态,共享繁荣。因此,把本书推荐给广大开发者朋友,相信本书能帮助大家与用户建立更高效、细致的交互。

—王洪浩,58集团CMO

 

作为华为的紧密合作伙伴,去哪儿网是最早一批集成华为HMS Core的使用者之一。旅游是一个履约链条较长的行业,涉及较多的服务环节,覆盖行前攻略搜索、产品预订、行中交通履约、酒店住宿、景点玩乐、行后游记分享等环节,整个过程中与华为HMS系统能力有非常多的结合点。通过情景智能套件的接入让用户在整个旅行过程中获得智能和周到的服务。通过账户套件和消息推送套件的接入,有效地提升了用户的终端使用体验,降低了公司运营成本。相信随着HMS生态的不断发展,每一个创新都将更易于落地实现,越来越多的开发者会加入到这个队伍中,给用户提供更高效、更智能的产品和服务。

—黄小杰,去哪儿旅行CMO

 

在全球化的今天,让每一个创新都能获得激励支持成为可能,因为开发者不再是一个单一的个体,而是与彼此、与平台紧密地联系在一起。华为HMS的推出,更是将几十年的技术积累开放给广大的开发者,实现了技术赋能,科技普及天下的宏伟理想。本书从生态发展、技术架构、支持体系等多个维度立体化地介绍了HMS的生态和技术,可极大地帮助开发者了解并加入华为HMS生态建设这一历史进程中。

—占雪亮,小红书增长技术负责人

目录

●第1章 HMS生态概述  1

1.1 移动应用生态分析  1

1.1.1 移动互联网发展简介  1

1.1.2 移动应用生态发展历程  2

1.1.3移动应用生态的价值分配  5

1.2 华为HMS生态发展历程  9

1.2.1 华为终端与云服务  9

1.2.2 HMS生态发展历程  10

1.2.3 HMS生态发展现状  13

1.3 HMS生态架构  15

1.3.1 HMS能力开放架构  15

1.3.2 HMS隐私合规架构  17

1.4 小结  19

●第2章 HMS Core整体介绍  20

2.1 HMS Core能力开放视图  20

2.1.1开发:低成本快速构建优质应用  21

2.1.2增长:持续提升用户量和活跃度  23

2.1.3盈利:利用多渠道实现开发者变现  24

2.2 能力开放机制  26

2.2.1 HMS Core SDK开放模式  26

2.2.2 RESTful接口开放模式  26

2.3 能力接入授权机制  27

2.3.1 API Key使用  27

2.3.2 OAuth Client使用  29

2.3.3 Service Account使用  30

2.4 小结  33

●第3章 集成快速入手  34

3.1 注册与实名认证  34

3.1.1 注册账号  34

3.1.2 实名认证  36

3.2 开发环境搭建  40

3.3 创建宠物商城App项目  41

3.3.1 功能需求分析  42

3.3.2 创建Android项目  42

3.3.3 创建签名文件  43

3.3.4 配置签名  45

3.4 宠物商城App开发  46

3.4.1 首页开发  47

3.4.2 宠物视频功能模块开发  48

3.4.3 登录功能模块开发  49

3.4.4 账号注册功能模块开发  49

3.4.5 个人中心功能模块开发  51

3.4.6 设置功能模块开发  52

3.5 小结  53

●第4章 Account Kit开发详解  54

4.1 原理和功能分析  54

4.2 开发准备  55

4.2.1 账号注册、实名认证  56

4.2.2 创建应用  56

4.2.3 生成签名证书指纹  58

4.2.4 配置签名证书指纹  58

4.2.5 开通账号服务  60

4.2.6 集成Account SDK  60

4.3 华为账号登录  63

4.3.1 华为账号登录图标设计  63

4.3.2 ID Token模式登录  65

4.3.3 Authorization Code模式登录  73

4.3.4 静默登录  78

4.4 华为账号登出  80

4.4.1 登出业务流程  80

4.4.2 实战编码  81

4.5 华为账号取消授权  82

4.5.1 取消授权业务流程  83

4.5.2 实战编码  83

4.6 自动读取短信验证码  84

4.6.1自动读取短信验证码业务流程  84

4.6.2 实战编码  84

4.7 小结  87

●第5章 IAP Kit开发详解  88

5.1 功能原理分析  88

5.2 开发准备  89

5.2.1 开通支付服务  90

5.2.2 集成IAP SDK  91

5.3 使用PMS创建商品  92

5.3.1 PMS功能原理  92

5.3.2 配置商品  93

5.4 购买商品  98

5.4.1 确认是否支持IAP  99

5.4.2 获取商品信息  100

5.4.3 发起支付  102

5.4.4 确认交易  104

5.4.5 帮助开发者实现补单机制  107

5.4.6 查询已购商品和订单  109

5.5 使用商品  113

5.5.1 理解订阅型商品  113

5.5.2 提供商品服务  116

5.5.3 订阅管理  120

5.6 沙盒测试  122

5.6.1 功能原理  122

5.6.2 实战操作  123

5.7 IAP Server侧功能开放  125

5.7.1 功能原理  126

5.7.2 功能实现  127

5.8 小结  143

●第6章 Push Kit开发详解  144

6.1 功能原理分析  145

6.2 开发准备  146

6.2.1 开通推送服务  146

6.2.2 集成Push SDK  147

6.3 获取Push Token  148

6.3.1 请求Push Token流程  149

6.3.2 接收Push Token流程  149

6.3.3 实战编码  150

6.3.4 快速测试  152

6.4 订阅主题  154

6.4.1 订阅主题流程  154

6.4.2 实战编码  155

6.5 AppGallery Connect推送  158

6.5.1 推送到通知栏  158

6.5.2 推送到应用  161

6.6 App Server推送  166

6.6.1 功能原理  166

6.6.2 实战编码  167

6.7 消息回执  174

6.7.1 功能原理  174

6.7.2 实战编码  175

6.8 小结  177

●第7章 Location Kit开发详解  178

7.1 功能与架构  178

7.1.1 融合定位  179

7.1.2 活动识别  180

7.1.3 地理围栏  180

7.1.4 地理编码  181

7.2 开发准备  181

7.2.1 开通定位服务  181

7.2.2 集成Location SDK  182

7.3 融合定位功能开发  182

7.3.1 配置定位权限  182

7.3.2 实战编码  183

7.4 位置模拟功能开发  186

7.4.1 选择位置模拟应用  186

7.4.2 实战编码  187

7.5 活动识别功能开发  188

7.5.1 配置活动识别权限  188

7.5.2 实战编码  189

7.6 地理围栏功能开发  192

7.6.1 创建地理围栏  192

7.6.2 实战编码  193

7.7 小结  196

●第8章 Site Kit 开发详解  197

8.1 功能原理分析  197

8.2 开发准备  198

8.3 位置搜索  201

8.3.1 关键字搜索  202

8.3.2 地点搜索建议  204

8.3.3 地点详情  206

8.3.4 周边搜索  207

8.4 地理编码  209

8.4.1 正地理编码  210

8.4.2 逆地理编码  211

8.5 获取时区  212

8.6 小结  213

●第9章 Map Kit开发详解  214

9.1 功能原理分析  214

9.2 开发准备  215

9.3 创建地图  217

9.3.1 创建地图实例  217

9.3.2 设置地图类型  221

9.3.3 设置内边距  222

9.3.4 实战编码  223

9.4 地图交互  224

9.4.1 地图相机  224

9.4.2 UI控件与手势  226

9.4.3 地图事件  229

9.5 地图绘制  232

9.5.1 标记  232

9.5.2 覆盖物  239

9.5.3 形状  240

9.5.4 瓦片图层  246

9.6 自定义地图样式  249

9.6.1 使用样例  249

9.6.2 样式参考  250

9.6.3 实战编码  251

9.7 路径规划  252

9.7.1 功能介绍  252

9.7.2 实战编码  253

9.8 小结  259

●第10章 Safety Detect开发详解  260

10.1 功能原理  260

10.2 开发准备  261

10.3 系统完整性检测  263

10.3.1 功能原理  263

10.3.2 实战编码  264

10.4 应用安全检测  270

10.4.1 功能原理  270

10.4.2 实战编码  271

10.5 恶意网址检测  272

10.5.1 功能原理  272

10.5.2 实战编码  273

10.6 虚假用户检测  275

10.6.1 功能原理  275

10.6.2 实战编码  276

10.7 小结  281

●第11章 FIDO Kit开发详解  282

11.1 功能原理分析  282

11.1.1线上快速身份验证原理  283

11.1.2本地生物特征认证原理  285

11.2 开发准备  285

11.3 线上快速身份认证  287

11.3.1 初始化FIDO2客户端  288

11.3.2 发起注册流程  288

11.3.3 接收注册处理结果  291

11.3.4 发起认证流程  291

11.3.5 接收认证处理结果  294

11.4 本地生物特征认证   295

11.4.1 指纹认证示例  295

11.4.2 3D面容认证示例  296

11.5 小结  297

●第12章 测试及上架  299

12.1 华为云测试服务  299

12.1.1 云测试  301

12.1.2 云调试  308

12.2 提交应用上架  315

12.2.1 登录并发布应用  315

12.2.2 应用基础信息设置  315

12.2.3 分发信息设置  317

12.2.4 提交上架确认  320

12.3 小结  320

附录 HMS生态相关概念  321

上下滑动查看

今天,华为HMS生态犹如一轮初升的红日,向全球终端用户和开发者展现出蓬勃生机与活力。期待更多的读者了解、熟悉并加入HMS生态,与HMS一起不断前进和成长,一起共建开放、安全、共赢的生态大厦。

更多精彩回顾

书讯 | 12月书讯 | 年末上新,好书不断

书单 | 机器人时代已来!推荐几本机器人学硬核好书

干货 | 中国量子计算原型机“九章”问世,普通人怎样初识量子计算?

收藏 | 43种机器学习开源数据集(附地址/调用方法)

上新 | 复杂的密码学也可以人人可懂

赠书 | 【第35期】数字化转型到底该怎么做?

点击阅读全文购买

相关文章:

  • 系统学习WebAssembly —— 理论篇
  • Hi~大家好,我是今年的圣诞老人华章妹!
  • 8本书助你了解人民日报“创作大脑”
  • 2020 PostgreSQL中国技术大会盛大开启
  • 【第36期】最强Redis特性导图
  • Python 新人笑、C# 旧人哭,你立的技术 Flag 2020 实现了吗?
  • 阿里云、华为云、谷歌云都已入局,盘点13家云计算厂商的RPA
  • 移动生态盘点与HMS生态解析
  • ​2020 年大前端技术趋势解读
  • 重磅!达摩院2021十大科技趋势
  • 游戏用户体验设计入门必读
  • 中国游戏大数据:市场规模全球第一,直播已进入黄金期
  • 1月书讯:Hello 2021! (上)
  • 1月书讯:Hello 2021! (下)
  • 官方出品!手把手教你在华为HMS平台开发App
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • es的写入过程
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • httpie使用详解
  • IP路由与转发
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • tensorflow学习笔记3——MNIST应用篇
  • Travix是如何部署应用程序到Kubernetes上的
  • win10下安装mysql5.7
  • 从零搭建Koa2 Server
  • 从零开始在ubuntu上搭建node开发环境
  • 给github项目添加CI badge
  • 前嗅ForeSpider采集配置界面介绍
  • 区块链将重新定义世界
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 深入 Nginx 之配置篇
  • 事件委托的小应用
  • 自定义函数
  • mysql面试题分组并合并列
  • RDS-Mysql 物理备份恢复到本地数据库上
  • 选择阿里云数据库HBase版十大理由
  • #includecmath
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • .equals()到底是什么意思?
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .NET 5种线程安全集合
  • .net 流——流的类型体系简单介绍
  • .NET 中创建支持集合初始化器的类型
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .net6+aspose.words导出word并转pdf
  • .NetCore 如何动态路由
  • .NET基础篇——反射的奥妙
  • .pyc文件还原.py文件_Python什么情况下会生成pyc文件?
  • :O)修改linux硬件时间
  • @DateTimeFormat 和 @JsonFormat 注解详解
  • @Transaction注解失效的几种场景(附有示例代码)