创建品牌APP
更新时间:2019-06-18 11:47:59
每个项目中,允许创建一个自有品牌APP。每个APP应用包括4个实际的APP:
iOS | 测试版本(用于开发调试) |
---|---|
正式版本(用于正式对外发布) | |
Android | 测试版本(用于开发调试) |
正式版本(用于正式对外发布 |
填写应用名称和包名,应用名称后期可以修改,包名后期不可修改。
关联产品
此步骤页面里会列出该项目下创建的所有产品,如果希望该APP可以绑定某个产品,请开启关联状态的开关。
关联后,在APP端调用待配网设备的API时,可以获取到该产品的信息。
1、开发状态决定产品是否具备进入正式版APP的能力:
“开发中”,具备默认进入测试版APP的能力;
“已发布”,具备进入正式版APP的能力;
2、关联状态决定测试版APP和正式版APP是否显示该产品的配网入口;
若开关开启,且该产品开发中,则默认展示在测试版APP的配网入口;
若开关开启,且该产品已发布,则默认展示在正式版APP的配网入口;
若开关关闭,该产品无论开发中还是已发布,测试版和正式版APP配网入口都隐藏;
用户账号
此步骤页面用来配置用户账号信息。
用户账号支持两种账号体系:内置账号体系和自有账号体系;
如果开发者没有自己的账号体系,可以采用内置账号体系,内置账号体系无需配置,已经内置在SDK套餐包中,提供文档调用方法;
如果开发者有自己的账号体系,可以采用自有账号体系,若勾选自有账号体系,则必须填写页面中的配置信息,否则自有账号将无法正常使用。
APP界面
平台提供了一些常用的免开发界面,如配网、设备界面、定时、自动化场景、意见反馈等智能生活类APP常用的页面模块。详见 插件使用指南
SDK下载
此步骤用来选择和下载SDK。
根据关联的产品,首先选择合适的 “API Level”(SDK套餐包版本),其次勾选和配置需要的SDK套餐项,然后平台会自动以此生成的SDK配置包;最后下载集成开发即可;
API Level 是SDK套餐项的功能版本等级,用来解决新老SDK套餐项不兼容问题,每个API Level包含一组SDK套餐项,不同API Level的SDK套餐项功能不同,先选择适合的API Level,查看版本详情;
IOS 集成 SDK
本 SDK 采用 cocoapods 管理依赖,建议采用 1.1.1 以上版本,SDK 的集成请参考以下步骤:
请将下载的IOS SDK Podfile
文件放到工程文件夹根目录, 并将 Podfile
文件中的 target
名称修改成和 xcode
工程的设置一致。
然后执行命令
pod update
Android 集成 SDK
我们推荐的开发工具为 Google 官方的 Android Studio (建议最新的3.0.x) 。SDK 的集成, 请参考以下步骤:
请把下载的Android SDK Pom dependency.gradle
文件放到 Module 的根目录下,然后在模块的根目录的 build.gradle
文件中添加如下代码
apply from:'dependency.gradle'
安全图片获取方法
(IOS)安全图片集成
下载后的安全图片的文件名为 yw_1222_07e8.jpg
,请放到工程根目录,并将其拖入到 xcodeproj
根目录,如下二图所示:
- 安全图片位于工程根目录
- 安全图片位于
xcodeproj
根目录
iOS
上为了安全性,安全图片需要和应用bundleID
搭配使用,请确保工程的bundleID
和平台上创建appKey
时输入的bundleID
(包名)保持一致。
问题排查
接入后运行工程
crash
,报错*** Terminating app due to uncaught exception 'com.openaccount.SecurityGuard.SECURITY_PICTURE_NOT_FOUND', reason: '(null)'
请检查应用创建时所输入的
bundleID
是否与当前工程bundleID
一致安全图片是否放到了工程根目录以及
xcodeproj
根目录
(Android)安全图片集成
下载后的安全图片的文件名为 yw_1222_xxxx.jpg ,请放到工程根目录,如下二图所示
- 安全图片,请放置于Android工程目录中的 res/drawable 下
- 签名配置, 因为 Android 端上,安全图片是需要和签名搭配使用的,所以要正确的配置签名:
android{
signingConfigs {
debug {
storeFile file("./debug.keystore")
storePassword '123456'
keyAlias 'android'
keyPassword '123456'
}
}
buildTypes{
debug {
signingConfig signingConfigs.debug
}
}
}