Skip to content

tencentyun/iot-link-android

Repository files navigation

产品介绍

腾讯云物联网开发平台(Tencent IoT)是集智能生活、智能制造、智能人居等功能于一体的解决方案。如家庭生活类产品,智能门锁可通过 wifi 设备接入腾讯云 IoT 平台进行管理。

项目工程中包含三大块,App 体验模块、SDK Demo、SDK 模块。 用户可通过 App 体验产品功能,通过现有 App 快速搭建起属于自己的 IoT 应用。 也可通过 SDK 接入到自己的工程来完成与腾讯云物联网开发平台对接功能。

下载安装

腾讯连连下载

接入的第三方组件

腾讯连连是一个完整的应用项目,集成了业内主流的推送、定位、日志系统、性能统计和微信授权登录等功能。推送集成了信鸽推送,定位使用了腾讯地图,日志系统和性能统计依赖 Firebase,微信授权登录则需要微信的支持。

快速开始

用户需要根据实际情况调整 app-config.json 中的内容,app-config.json 位于项目的根目录。

app-config.json 需要配置的内容,如下:

  "WXAccessAppId": "",
  "TencentIotLinkAppkey": "请输入从物联网开发平台申请的 App key,正式发布前务必填写",
  "TencentIotLinkAppSecret": "请输入从物联网开发平台申请的 App Secret,App Secret 请保存在服务端,此处仅为演示,如有泄露概不负责",
  "XgAccessId": "",
  "XgAccessKey": "",
  "TencentMapSDKValue": "",
  "TencentIotLinkSDKDemoAppkey": " ",
  "HEweatherKey": ""

1、物联网平台

  • TencentIotLinkAppkeyTencentIotLinkAppSecret 请使用在物联网开发平台创建应用时生成的 APP KeyAPP SecretApp Key 和 App Secret 用于访问应用端 API 时生成签名串,参见应用端 API 简介。签名算法务必在服务端实现,腾讯连连 App 开源版的使用方式仅为演示,请勿将 App Key 和 App Secret 保存在客户端,避免泄露

2、信鸽(可选)

  腾讯连连开源体验版集成了信鸽推送,用于实现消息推送。

  • 若不使用推送功能,XgAccessIdXgAccessKey 设置为长度为0的字符串即可。
  • 若确认使用推送功能,需要前往信鸽推送平台申请获得的 AccessIDAccessKey申请步骤
  • 将申请获得的 AccessIDAccessKey,填写到物联网开发平台中
  • 将申请获得的 AccessIDAccessKey,写入在app-config.json文件中对应位置。
{
  "WXAccessAppId": "",
  "TencentIotLinkAppkey": "请输入从物联网开发平台申请的Appkey, 正式发布前务必填写",
  "TencentIotLinkAppSecret": "请输入从物联网开发平台申请的AppSecrect, AppSecrect请保存在服务端,此处仅为演示,如有泄露概不负责",
  "XgAccessId": "请输入从信鸽推送平台申请的AccessID",
  "XgAccessKey": "请输入从信鸽推送平台申请的AccessKey"
}

3、Firebase(可选)

连连开源体验版集成了 Firebase 插件,用于记录应用的异常日志和性能状况。

  • 若用户确认使用 Firebase 插件,需通过 Firebase 官网 创建应用并获取 google-services.json 文件;将 google-services.json 文件放在 app 目录下。

  • 若不依赖 Firebase 插件,需要在以下文件中注释掉对应依赖

    在项目级 build.gradle(<iot-link-android>/build.gradle)中注释掉dependencies中以下三个依赖项

    dependencies {
    //        classpath 'com.google.gms:google-services:4.3.3'
    //        classpath 'com.google.firebase:firebase-crashlytics-gradle:2.1.1'
    //        classpath 'com.google.firebase:perf-plugin:1.3.1'
    }
    

    在应用级 build.gradle(<iot-link-android>/<app>/build.gradle)中注释掉以下三个应用插件和三个依赖项

    //apply plugin: 'com.google.gms.google-services'
    //apply plugin: 'com.google.firebase.crashlytics'
    //apply plugin: 'com.google.firebase.firebase-perf'
    
    dependencies {
    //    implementation 'com.google.firebase:firebase-analytics-ktx:17.4.3'
    //    implementation 'com.google.firebase:firebase-crashlytics:17.0.1'
    //    implementation 'com.google.firebase:firebase-perf:19.0.7'
    }
    

4、腾讯地图(可选)

连连开源体验版集成了腾讯地图,用于实现定位。

  • 若确认使用自定义的定位功能,需要前往腾讯地图开放平台申请获得 key申请步骤
  • 若确认使用默认定位功能,无需修改 TencentMapSDKValue 配置项内容 。
  • 若不使用定位功能,TencentMapSDKValue 设置为长度为0的字符串即可。

5、微信授权登录(可选)

连连开源体验版集成了微信授权登录。

  • 若确认使用自定义的微信授权登录,需要在微信开放平台注册开发者帐号,创建移动应用,审核通过后,即可获得相应的 AppID 和 AppSecret,申请步骤;同时需要自行搭建微信授权登录的接入服务器,可参考接入服务器的接口

    使用微信授权登录还需:

    • opensource_keystore.jks 文件替换成自己的签名文件并给应用签字

    • 前往微信开放平台下载签名生成工具,使用该工具生成应用的数字签名(需要将该工具和应用同时安装到手机上,打开签名生成工具输入应用包名即可生成数字签名)

    • 将该数字签名和应用包名登记到微信开放平台,否则微信授权登录将不可用

    最后将配置项 WXAccessAppId 设置为在微信开放平台申请并获得的 AppID同时请遵从官方建议自建微信接入服务器,保证 AppSecret 不被泄露

  • 若不使用微信授权登录功能,WXAccessAppId 设置为长度为0的字符串即可。

6、和风天气(可选)

连连开源体验版集成了和风天气,用于实现实时天气功能。

  • 若确认使用自定义的实时天气功能,需要前往和风天气开发平台申请获得 Key
  • 若不使用实时天气功能,HEweatherKey 设置为长度为0的字符串即可。

完成上述配置后,依赖 Android studio 的构建,即可在手机上运行。

SDK接入指引