在《接入指南:一文带你了解华为帐号服务》中已经给大家介绍了华为帐号服务有哪些优势,如一键授权登录华为全场景共享、共享华为帐号所有用户资源、帐号安全可靠、接入方便快捷等,以及为什么能帮助开发者提高获客量,文章最后还提供了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. Java中Singleton的三种实现方式解析

    一.什么是Singleton? <设计模式>的作者.Eclipse和 Junit 的开发者 Erich Gamma 在它的理论体系中将 Singleton 定义为仅仅被实例化一次的类.在当 ...

  2. java中synchronized与Lock的异同

    本文转载自java中synchronized与Lock的异同 前言 synchronized和Lock通过互斥保障原子性,能够保护共享数据以实现线程安全,其作用包括保障原子性.可见性.有序性 常见问题 ...

  3. 1090 Highest Price in Supply Chain——PAT甲级真题

    1090 Highest Price in Supply Chain A supply chain is a network of retailers(零售商), distributors(经销商), ...

  4. 两个"�"="锟斤拷"?

    关于作者:程序猿石头(ID: tangleithu),现任阿里巴巴技术专家,清华学渣,前大疆后端 Leader.欢迎关注,交流和指导! 本文首发于微信公众号,原文链接,转载请全文保留. 以一首七言绝句 ...

  5. Mysql训练:第二高的薪水(IFNULL,OFFSET,LIMIT)

    编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) . +----+--------+ | Id | Salary | +----+--------+ | 1 | 100 ...

  6. yum install valgrind.x86_64

    Reference: https://cloudlinux.zendesk.com/hc/en-us/articles/115004075294-Fix-rpmdb-Thread-died-in-Be ...

  7. Tango with django 1.9 中文——3.Django基础

    让我们开始运用Django.本章主要是给你一个关于创建新项目和新应用过程的概览.在本章的末尾,你将建立起一个简单的由Django驱动的网站. 3.1 配置测试 让我们测试以下你的Python和Djan ...

  8. 看完我的笔记不懂也会懂----javascript模块化

    JavaScript模块化 模块化引子 模块化的历史进化 模块化规范 CommonJS规范 Node.js(服务器端) 下项目的结构分析 browerify(浏览器端) 下项目的结构分析 AMD规范 ...

  9. Shiro反序列化漏洞检测、dnslog

    目录 信息收集 poc 参考 信息收集 poc # pip install pycrypto import sys import base64 import uuid from random impo ...

  10. MySQL基础知识:启动管理和账号管理

    整理.记录常用的MySQL基础知识:时间久了,很多就忘记了. 操作系统环境为MacOS Catalina, MySQL版本为: 8.0.13 MySQL Community Server - GPL. ...