Demo App

更新时间:2019-09-06 17:30:18

1、概述

DemoApp 主要展示生活领域的完整业务,包括设备配网,设备绑定,用户设备的获取,用户设备状态的获取和控制;另外,还是展示各个 SDK 模块是如何使用的。

2、下载

Demo App下载说明

3、使用方式

3.1、Android Studio 导入

  • step 1: 打开 Android Studio,创建一个新工程,请注意,需要修改 Project 目录的 build.gradle 中打包插件版本为3.0.0,修改如下:com.android.tools.build:gradle:3.0.0

  • step 2: 把 Demo APP 源码作为Module导入,导入方式:File --> New --> Import Module

  • step 3: 创建一个移动应用, 请参见Android 移动应用的创建和版本配置 - 创建 appKey

  • step 4: 替换安全图片,请参见集成安全图片

  • step 5: 各功能模块的服务已默认开通,可参考各 SDK 使用到的官方服务列表对应关系:

SDK 名称 服务名称
API 通道 官方基础服务
长连接通道 应用与插件服务 长连接推送服务
用户及账号 用户服务
移动应用推送 移动应用推送服务
BoneMobile 容器 应用与插件服务
用户认证SDK 用户服务

3.2、命令构建APK

  • 在 Demo APP 目录下,执行命令 ./gradlew clean build -u

4、DemoApp 源码结构说明

image.png

代码结构分为sdk初始化模块(aep.sdk)和业务逻辑模块(ilop),图中显示为主界面实现MainActivity。
sdk初始化模块包括:APIClient,OA,RN,Push,长链接,设备模型,配网等sdk;
APIGatewaySDKDelegate: APISDK初始化,用于请求 IoT 接口业务使用;
OpenAccountSDKDelegate:OA初始化,提供账号登录,登出;
RNContainerComponentDelegate:RN容器初始化,用于展示容器的能力和接口使用;
PushManager:Push初始化,展示通知信息的提交;
DownstreamConnectorSDKDelegate:演示订阅/发送消息等功能;
ThingModuleSDKDelegate:配网SDK;
长链接,rn容器,配网sdk,设备模型sdk初始化配置在sdk_config.json文件中,启动aplication时会自动初始化。
image.png

4.1、关于调试页面的说明

image.png

DebugTabFragment调试界面,调用com.aliyun.iot.ilop.demo.view.DebugLayout布局,提供一下功能;BoneMobile插件调试:1.开发环境、生产环境切换,2.本地调试
API通道:API网管调试
长链接通道:长链接通道调试
账号和用户:登录、退出
移动推送SDK:可以查看AppKey,ClientID,DeviceID等信息

5、使用 Demo App 体验完整业务逻辑

默认 Demo App 配置为官方项目和默认支持的几类设备。

5.1、账号注册/登录


App 启动后会显示登录页面:

Screenshot_20190906_025642_com.aliyun.iot.demo.jpg


可以看到登录页面可以注册账号;点击免费注册,弹出要注册方式,输入要注册的手机号码或邮箱,然后点击下方发送短信校验码。
Screenshot_20190906_025652_com.aliyun.iot.demo.jpg

在短信校验码区域输入收到的校验码,进入下一步;然后设置密码完成登录;

注意:

  • "忘记密码"功能选择区号

    在OALoginActivity的OnCreate方法里面添加下面两行代码可以显示区号选择
    
    OpenAccountUIConfigs.AccountPasswordLoginFlow.supportForeignMobileNumbers=true;
    OpenAccountUIConfigs.MobileResetPasswordLoginFlow.supportForeignMobileNumbers=true;
    


  • 隐藏右侧的下拉框历史记录

    this.findViewById("input_history").setVisibility(View.GONE);
         this.loginIdEdit.getEditText().addTextChangedListener(new TextWatcher() {
             public void afterTextChanged(Editable s) {
                 OALoginActivity.this.loginIdEdit.showInputHistory(OALoginActivity.this.loginIdEdit,false);
             }
    
             public void beforeTextChanged(CharSequence s, int start, int count, int after) {
             }
    
             public void onTextChanged(CharSequence s, int start, int before, int count) {
             }
         });
    

5.2、设备控制

进入主页面,如下图:

image.png

可以看到,默认已经存在4个虚拟设备,分别对应插座-Demo,风扇-Demo,灯-Demo和加湿器-Demo;可以点击任意一个设备,进入相应的设备面板页面;

image.png

5.3、添加设备

添加设备,可以点击首页右上角新增按钮;

image.png

然后选择添加设备,进入添加设备页面;

image.png


添加设备支持两种形式,一种是通过产品列表的形式进行配置,如上图支持添加的设备;还有一种是通过本地网络发现的设备,或者有支持零配配网方案的设备,如上图本地发现设备,如果能发现到本地设备,则会显示出来;

通过产品列表添加需要使用官方项目对应的接入产品,这一步目前并没有真实设备可以使用;如果想体验这个流程,建议通过自主研发App的形式来完成。

6、使用 Demo App 支持自主研发 App

6.1、项目创建

进入飞燕平台,创建自己的项目;
image.png


新建项目:

image.png

输入项目名称Demo(可以按自己的需要创建项目名称),点击确定,之后提示创建成功后进入下个页面;

image.png

6.2、产品接入


为了模拟正常的全链路流程,我们可以先从产品接入开始;

首先,新建产品;
image.png

输入要创建的产品名称,并选择节点类型和通讯方式,还有数据格式;具体值的类型可以根据实际接入的设备类型来选择,此处仅为演示使用;点击确认,进入下一步。
image.png


创建产品成功之后,会进入产品研发流程;可以根据具体的产品进行功能定义、设备调试、人机交互等信息,调试完成之后可以进行批量投产。
image.png

7、自主研发APP

7.1、应用创建

点击自主研发APP,然后弹出新建APP应用窗口,输入APP名称和应用包名,点击确认:
image.png

确认后进入自由APP配置界面,可以选择要关联的产品,设置内置账号,配置APP界面和下载SDK信息。
image.png

关联产品配置:可以打开或是关闭产品关联信息
image.png
配置用户账号信息:如果使用内置账号,可以根据文档配置,如果使用自有账号体系先吃药配置访问的url等信息。
image.png

配置APP界面信息:选择要配置的模块,点击生成代码,点击复制,才可以生效,不可直接复制。

image.png

SDK下载:根据产品功能,选择要下载sdk的版本和类型。Android 下载生成dependency.gradle文件。
image.png

消息推送设置:在sdk下载时,可以设置推送配置,安卓可以设置小米,GCM/FCM,华为推送。

image.png

image.png

7.2、开发信息

下载安全图片:可以将demoAPP中的包名和签名替换,然后使用demoapp重新构建打realse包,将打好的上传,上传成功之后,就可以下载安全图片。(yw_1222_114d.jpg)
image.png

将下载完成的安全图片放在drawable文件夹下,相关sdk初始化的时候会使用到安全图片。
image.png

7.3、编译工程并运行

安全图片替换完成后,就可以编译并运行 Demo App 工程;

7.4、使用虚拟设备体验设备控制


在没有真实设备可以走通链路的情况下,也可以使用虚拟设备进行体验和开发,比如上面首页提到的虚拟设备。

自主研发App需要在源码LinkViewController中更新产品对应的productKey,替换为自己项目的产品productKey; 每个产品可以申请1个虚拟设备,如下图:
image.png
上图选中的部分产品productKey更新为与项目对应的产品productKey,可以在项目页面中查看;
image.png
更新成功之后,使用新的账号注册并登录,进入首页后会检查当前用户是否存在虚拟设备,没有则会注册并绑定虚拟设备,然后可以体验;生成虚拟设备后,如果无法进入面板,参考上面提到的集成界面部分进行配置。

8、注意

登录界面:

demoapp 配置:

  • 请配置 JDK 为1.8版本

  • 3.0.0版本的打包插件,需要 Android Studio 3.0以上的版本支持

  • 3.0.0版本的打包插件,目前需要访问 Google 的仓库,请注意网络环境。

results matching ""

    No results matching ""