IDO 智能手环 SDK
功能概述
适用于iOS/Android设备并支持IDO公司的手环,实现蓝牙连接控制框架库
iOS集成
使用 Cocoapods 集成
在Podfile文件中添加以下内容:
source 'https://github.com/idoosmart/IDOSmartSpec.git' platform :ios, '11.0' target 'your_target_name1' do pod 'IDOSDK-full', '~> 4.2.0' end
然后在项目根目录下执行 pod install 命令,集成。 CocoaPods的使用请参考:CocoaPods Guides
Swift Package Manager
Swift 包管理器 (SwiftPM) 是一种管理 Swift 代码分发的工具。它简化了管理 Swift 包依赖项的过程。
要使用 SwiftPM 将
IDOSDK-full
集成到您的项目中:在 Xcode 中,File > Add Package Dependency。
输入以下包存储库 URL:https://github.com/idoosmart/ios_sdk_full.git
选择适当的版本(例如特定版本、分支或提交)。
将
IDOSDK-full
添加到您的目标依赖项。
IDOSDK-full
至少需要 Swift 工具版本 5.3。
初始化Flutter
import Flutter
import FlutterPluginRegistrant
class AppDelegate: UIResponder, UIApplicationDelegate {
private var flutterEngine: FlutterEngine?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
self.initFlutterEngine()
...
return true
}
}
extension AppDelegate {
private func initFlutterEngine() {
self.flutterEngine = FlutterEngine(name: "io.flutter", project: nil)
self.flutterEngine?.run(withEntrypoint: nil)
if let engine = flutterEngine {
GeneratedPluginRegistrant.register(with: engine)
print("flutterEngine finished")
} else {
print("engine is null")
assert(false, "engine is null")
}
}
}
注册SDK
SDK分为三个模块:Protocol 协议库、Bluetooth库及Alexa库,使用前需要进行注册(全局注册一次)
import protocol_channel
// Register sdk
func registerSDK() {
// ble(仅限于使用内置蓝牙)
sdk.ble.addBleDelegate(api: self)
sdk.ble.bluetoothRegister(heartPingSecond: 5, outputToConsole: false)
sdk.ble.getBluetoothState { [weak self] stateModel in
self?.bleState = stateModel
self?.funcPage?.bleState = stateModel
}
// protocol library
sdk.bridge.setupBridge(delegate: self, logType: .release)
// alexa (没有alexa功能就不需要接入)
sdk.alexa.setupAlexa(delegate: self, clientId: clientId)
}
使用SDK
SDK的API,由全局定义常量sdk
进行调用即可
import protocol_channel
func someMethod() {
/// 设备信息
sdk.device.xx
/// 功能表
sdk.funcTable.xx
/// 指令
sdk.cmd.xx
/// 桥接
sdk.bridge.xx
/// 蓝牙 (仅限使用内置蓝牙库)
sdk.ble.xx
/// Alexa
sdk.alexa.xx
/// 文件传输
sdk.transfer.xx
/// 消息图标
sdk.messageIcon.xx
/// 数据同步
sdk.syncData.xx
/// 数据交换
sdk.dataExchange.xx
/// 设备日志
sdk.deviceLog.xx
/// 常用工具、缓存
sdk.tool.xx
}
Android集成
使用android studio 集成
1.集成sdk , sdk 分为带蓝牙和不带蓝牙(可以使用自己的蓝牙库),用户根据需求选择一种
(1)带蓝牙库的sdk如下,共5个文件(可以从example_android demo 里面的lib 拷贝,lib 里面有最新版本,也可以这里下载)
protocol_ffi_release-x.x.x.aar protocol_channel_release-x.x.x.aar native_channel_release-x.x.x.aar flutter_release-x.x.x.aar flutter_bluetooth_release-x.x.x.aar
(2)不带蓝牙库的sdk,共四个文件(可以从example_android_lite demo 里面的lib 拷贝,lib 里面有最新版本,也可以这里下载)
protocol_ffi_release-x.x.x.aar protocol_channel_release-x.x.x.aar native_channel_release-x.x.x.aar flutter_release-x.x.x.aar
将下载的 AAR 包复制到 libs 目录下
修改 build.gradle(app) 文件
dependencies {
implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')
implementation "io.flutter:flutter_embedding_release:1.0.0-0f359063c487ee70787e58b4b011cbb3c2f53fd6"
implementation "io.flutter:arm64_v8a_release:1.0.0-0f359063c487ee70787e58b4b011cbb3c2f53fd6"
implementation "io.flutter:armeabi_v7a_release:1.0.0-0f359063c487ee70787e58b4b011cbb3c2f53fd6"implementation
implementation 'no.nordicsemi.android:dfu:2.5.0'
....
}
注册SDK
SDK分为三个模块:Protocol 协议库、Bluetooth库及Alexa库,使用前需要进行注册,具体参考demo
import protocol_channel
// Register sdk
func registerSDK() {
sdk.init(this) //全局注册
// ble(仅限于使用内置蓝牙)
sdk.ble.addBleDelegate(bleDelegate: IDOBleDelegate)
sdk.ble.getBluetoothState {
}
// protocol library
sdk.bridge.setupBridge( idoBrigeDelegate : IDOBridgeDelegate, type:logType)
// alexa (没有alexa功能就不需要接入)
sdk.alexa.setupAlexa(delegate: IDOAlexaDelegate, clientId: clientId)
}
使用SDK
SDK的API,由全局定义常量sdk
进行调用即可
import protocol_channel
fun someMethod() {
/// 设备信息
sdk.device.xx
/// 功能表
sdk.funcTable.xx
/// 指令
sdk.cmd.xx
/// 桥接
sdk.bridge.xx
/// 蓝牙 (仅限使用内置蓝牙库)
sdk.ble.xx
/// Alexa
sdk.alexa.xx
/// 文件传输
sdk.transfer.xx
/// 消息图标
sdk.messageIcon.xx
/// 数据同步
sdk.syncData.xx
/// 数据交换
sdk.dataExchange.xx
/// 设备日志
sdk.deviceLog.xx
/// 常用工具、缓存
sdk.tool.xx
}