在《接入指南:一文带你了解华为帐号服务》中已经给大家介绍了华为帐号服务有哪些优势,如一键授权登录华为全场景共享、共享华为帐号所有用户资源、帐号安全可靠、接入方便快捷等,以及为什么能帮助开发者提高获客量,文章最后还提供了Demo App的下载二维码让大家下载体验华为帐号的登录授权流程,Demo非常简单,集成了3个华为帐号服务SDK接口(总共4个),本文通过指导大家快速开发此Demo,让大家熟悉华为帐号服务。

如何你还没有下载Demo,请使用浏览器扫描如下二维码下载体验:

(注:Demo中会收集相关操作信息用于用户数量统计)

Demo开发准备

1、 安装Android Studio 3.5及以上版本;

2、 安装JDK 1.8 及以上;

3、 使用SDK Platform 19及以上;

4、 使用Gradle 4.6及以上;

5、 在华为开发者联盟注册成为华为开发者,如已注册,请跳过此步骤;

6、 将github上的demo源代码下载至本地;

Demo源码地址:https://github.com/HMS-Core/huawei-account-demo/tree/quickstart

运行环境配置(2min左右)

1、 使用Android Studio打开demo工程;

2、 在安卓插件市场下载HMS Toolkit插件并安装,版本5.2.0.300或以上;

如何安装插件也可参考:如何安装HMS Toolkit

3、 在工程中新创建自己的包名,例如com.hxb.account,把demo包com.huawei.hms.accountsample原有代码移动到新建包下;修改工程中涉及的Package Name和应用ID为自己新建的包名。(不能直接使用Demo中的包名,该包名已经被其他用户在华为应用市场注册过)

新建自己的包名(新建后注意把相应的Activity等类移到您定义的新包下),便于编译过程中查找相关文件:

修改AndroidManifest.xml文件中的package为com.hxb.account

修改build.gradle中的applicationId为com.hxb.account.

4、 打开HMS菜单下的Configuration Wizard进行环境配置检查,如果没有登录华为开发者帐号,Toolkit会引导先进行登录,登录后再点击Configuration Wizard。

弹出如下页面,页面中红×部分说明Toolkit检测到华为开发者联盟对应开发帐号下没有对应包名的应用。

点击Link可直接跳转至开发者联盟,进行相关应用的创建,这部分需要手动完成,步骤如下:

A、点击应用发布

B、点击添加项目

C、创建项目

D、点击添加应用

E、添加项目

应用创建完后,点击Configuration Wizard面板中的Retry,重新进行配置检查,检查成功:

7、 添加Account kit

点击Configuration Wizard面板中Add Kits,选择Account kit进行添加

添加完结果:

8、 选择证书,当前选择Android debug certificate 选项,点击Generate生成指纹证书,如下图

9、 点击Next,自动进行其他配置,包括在华为开发者联盟上开通Account Kit服务开关、配置应用的指纹证书、下载agconnect-services.json文件到工程目录下、混淆配置、在build.gradle文件插入接入Account SDK所需要的依赖、apk签名等操作,成功后会显示Success,如果中途检查出问题,可按照指引处理。

使用Toolkit远程真机进行打包测试

环境配置完后,调用Toolkit的Cloud Debugging进行打包测试

选择需要使用的机型:



选择对应设备,点击运行,即可进行App测试:

Demo核心代码详解

1、 界面设计

帐号的交互接口主要涉及登录、静默登录、退出帐号、取消授权,Demo中展示了登录、静默登录、取消授权三个接口的使用。

其中“华为帐号登录”图标使用的是已经封装好的标准控件,实际使用时请按照华为帐号登录图标使用规范使用华为图标:

原文链接:https://developer.huawei.com/consumer/cn/forum/topic/0201524776948490132?fid=18

原作者:胡椒

【接入指南】一个Demo带你玩转华为帐号服务的更多相关文章

  1. 一个Demo带你彻底掌握View的滑动冲突

    本文已授权微信公众号:鸿洋(hongyangAndroid)在微信公众号平台原创首发. 近期在又一次学习Android自己定义View这一块的内容.遇到了平时开发中常常碰到的一个棘手问题:View的滑 ...

  2. iOS支付 IPAPayment demo iTunes Conection里面添加测试帐号,添加商品,实现购买过程

    https://github.com/ccguo/IAPPaymentDemo 发一个demo

  3. 一个winform带你玩转rabbitMQ

    源码已放出 https://github.com/dubing/MaoyaRabbit 本章分3部分 一.安装部署初探 二.进阶 三.api相关 安装 部署 初探 先上图 一. 安装部署 下载 rab ...

  4. 由浅入深一个Demo带你认识Restful风格的架构

    java作为一门后端语言,其厉害之处在于web,大家比较熟知的各种网络应用,java都能做,那么在这个移动优先的时代,如何继续发挥java的强大之处呢? 通常是让java作为一个app的服务端,为ap ...

  5. 玩转华为物联网IoTDA服务系列三-自动售货机销售分析场景示例

    场景简介 通过收集自动售货机系统的销售数据,EI数据分析售货销量状况. 该场景主要描述的是设备可以通过MQTT协议与物联网平台进行交互,应用侧可以到物联网平台订阅设备侧变化的通知,用户可以在控制台或通 ...

  6. 转: 带你玩转Visual Studio——带你理解多字节编码与Unicode码

    上一篇文章带你玩转Visual Studio——带你跳出坑爹的Runtime Library坑帮我们理解了Windows中的各种类型C/C++运行时库及它的来龙去脉,这是C++开发中特别容易误入歧途的 ...

  7. 微信公众号开发C#系列-2、微信公众平台接入指南

    概述 微信公众平台消息接口的工作原理大概可以这样理解:从用户端到公众号端一个流程是这样的,用户发送消息到微信服务器,微信服务器将接收到的消息post到用户接入时填写的url中,在url处理程序中,首先 ...

  8. 带你玩转Visual Studio——带你理解多字节编码与Unicode码

    目录(?)[-] 多字节字符与宽字节字符 char与wchar_t string与wstring string 与 wstring的相关转换 字符集Charcater Set与字符编码Encoding ...

  9. Mars Android 接入指南

    Mars Android 接入指南 https://github.com/Tencent/mars/wiki/Mars-Android-%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8 ...

随机推荐

  1. NGK项目好不好?

    在谈NGK项目之前,我们不得不提到NGK背后的研发团队,硅谷顶尖技术团队灵石团队.硅谷作为全世界最顶尖的高新技术和科技创新产业区,NGK.IO区块链系统正是在此处诞生. 灵石部门核心成员曾负责过多个P ...

  2. 第47天学习打卡(HTML)

    什么是HTML HTML Hyper Text Markup Language(超文本标记语言) 超文本包括:文字,图片,音频,视频,动画等 HTML5,提供了一些新的元素和一些有趣的新特性,同时也建 ...

  3. Jmeter的脚本参数化

    一.变量 Jmeter中的变量用法:${变量名称} 变量定义:两种 1.用户定义变量 User Defined Variables 2.用户参数  User Parameters 1.1用户定义变量 ...

  4. Linear Algebra From Data

    Linear Algebra Learning From Data 1.1 Multiplication Ax Using Columns of A 有关于矩阵乘法的理解深入 矩阵乘法理解为左侧有是一 ...

  5. 184. 部门工资最高的员工 + join + in

    184. 部门工资最高的员工 LeetCode_MySql_184 题目描述 题解分析 1.首先需要使用group by找出工资最高的值 2. 然后考虑到最高工资的可能有多位,所以使用in语句找到所有 ...

  6. LeetCode-重建二叉树(前序遍历+中序遍历)

    重建二叉树 LeetCode-105 首次需要知道前序遍历和中序遍历的性质. 解题思路如下:首先使用前序比遍历找到根节点,然后使用中序遍历找到左右子树的范围,再分别对左右子树实施递归重建. 本题的难点 ...

  7. 干货满满-原来这才是hooks-React Hooks使用心得

    序言 ---最后有招聘信息哦-React是一个库,它不是一个框架.用于构建用户界面的Javascript库.这里大家需要认识这一点.react的核心在于它仅仅是考虑了如何将dom节点更快更好更合适的渲 ...

  8. 用c++解一元二次方程

    解方程 github项目地址 这两天得知初二的表妹学了一元二次方程,听说还不会解,我就想着试试用C语言编写解方程. 一元二次方程 用公式法 这种方法效果很好: #include"funct. ...

  9. Docker系列——InfluxDB+Grafana+Jmeter性能监控平台搭建(一)

    在做性能测试的时候,重点关注点是各项性能指标,用Jmeter工具,查看指标数据,就是借助于聚合报告,但查看时也并不方便.那如何能更直观的查看各项数据呢?可以通过InfluxDB+Grafana+Jme ...

  10. Codeforces Round #685 (Div. 2)

    待补 A #include <bits/stdc++.h> using namespace std; int n; int main() { int __; scanf("%d& ...