XeeSDK 4.1.3

XeeSDK 4.1.3

测试已测试
语言语言 SwiftSwift
许可证 未知
发布最后发布2018年6月
SPM支持 SPM

Jean-Baptiste Dujardin Julien CholinOscar Rezoloco 维护。



XeeSDK 4.1.3

Xee iOS SDK

Version License Platform

这个 SDK使得在 iOS 设备上使用Xee API更简便。它使用 Swift 编写

示例

要运行示例项目,请克隆存储库,然后首先从 Example 目录运行 pod install

要求

此SDK适用于iOS版本>= 8.0

安装

XeeSDK可通过CocoaPods获取。要安装,只需将以下行添加到您的Podfile

pod 'XeeSDK'

然后启动命令

pod install

配置

在我们的开发者空间创建一个应用以获取凭据,查看如何创建应用

在您的AppDelegate中导入SDK

import XeeSDK

接着,在didFinishLaunchingWithOptions方法中,创建一个包含您应用所有信息的XeeConfig对象,然后将它传递给ConnectManager单例

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

    let xeeConfig = XeeConfig(withClientID: "<App Client ID>",
        SecretKet: "<App Secret Key>",
        Scopes: ["<App Scope list>"],
        RedirectURI: "<App Redirect URI>",
        Environment: <App Environment>)
        
    XeeConnectManager.shared.config = xeeConfig
        
    return true
}

示例

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

    let xeeConfig = XeeConfig(withClientID: "0123456789abcdefghijklmnopqrstuvwxyz",
        SecretKet: "0123456789abcdefghijklmnopqrstuvwxyz",
        Scopes: ["account.read", "vehicles.read", "vehicles.signals.read", "vehicles.locations.read", "vehicles.trips.read"],
        RedirectURI: "xee-sdk-example://app",
        Environment: .XeeEnvironmentCLOUD)
        
    XeeConnectManager.shared.config = xeeConfig
        
    return true
}

然后在open url方法中添加此行

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
    XeeConnectManager.shared.openURL(URL: url)
    return true
}

别忘了在您的URL Scheme("xee-sdk-example",本例中)中添加redirectURI

alt text

你已经准备好了!

注意,我们会保持这个SDK更新以提供您在API的第4版本上可用的所有端点

认证

创建账户

XeeConnectManagerDelegate协议添加到您的视图控制器中

当您想要用户创建账户时,调用connectManager单例的connect方法。

XeeConnectManager.shared.delegate = self
XeeConnectManager.shared.createAccount()

用户认证

XeeConnectManagerDelegate协议添加到您的视图控制器中

当您需要用户登录以获取有效的访问令牌时,请调用connectManager单例的connect方法。

XeeConnectManager.shared.delegate = self
XeeConnectManager.shared.connect()

断开用户连接

XeeConnectManagerDelegate协议添加到您的视图控制器中

当您想要断开用户连接时,请调用connectManager单例的disconnect方法。

XeeConnectManager.shared.delegate = self
XeeConnectManager.shared.disconnect()

XeeConnectManagerDelegate

四种情况

extension YourViewController : XeeConnectManagerDelegate {
    
    func didSuccess(token: XeeToken) {
        // Success
    }
    
    func didFail(WithError error: Error) {
        // Fail
    }
    
    func didCancel() {
        // Cancel
    }
    
    func didDisconnected() {
        // Disconnected
    }
    
}

如果没有访问令牌或令牌无效,SDK将在应用内打开safari以使用OAuth2进行认证。一旦safari回调您的应用,将调用<强的 didSuccess 方法。

车辆

关于您车辆的全部信息

关联车辆

为指定device_id和pin码的用户设置一辆车辆

XeeRequestManager.shared.associateVehicle(WithXeeConnectId: <XeeConnect ID>, PinCode: <Pin Code>, completionHandler: { (error, vehicle) in
    // Your code here
})

检索用户车辆

返回指定用户ID对应的车辆信息

XeeRequestManager.shared.getVehicles(WithUserID: <User ID or nil for "me">, completionHandler: { (error, vehicules) in
    // Your code here
})

解除车辆关联

删除车辆与设备的配对

// TODO

检索车辆

返回与指定ID对应的车辆

XeeRequestManager.shared.getVehicle(WithVehicleID: <Vehicle ID>, completionHandler: { (error, vehicule) in
    // Your code here
})

更新车辆

更新具有指定ID的车辆

XeeRequestManager.shared.updateVehicle(WithVehicle: <XeeVehicle object>, completionHandler: { (error, vehicle) in
    // Your code here
})

检索车辆状态

返回车辆状态

XeeRequestManager.shared.getStatus(WithVehicleID: <Vehicle ID>, completionHandler: { (error, status) in
    // Your code here
})

用户

访问您的个人资料

检索用户

返回指定ID对应的用户,me代表当前用户

XeeRequestManager.shared.getUser(WithUserID: <User ID or nil for "me">, completionHandler: { (error, user) in
    // Your code here
})

更新用户

更新具有指定ID的用户

XeeRequestManager.shared.updateUser(WithUser: <XeeUser object>, completionHandler: { (error, user) in
    // Your code here
})

信号

车辆信号(CAN信号、GPS和加速度计)

获取加速度计数据

获取指定日期范围内的车辆加速度计数据

// TODO

获取设备数据

获取指定时间范围内的车辆设备数据

// TODO

获取位置信息

获取指定日期范围内的车辆位置信息

// TODO

获取信号

获取指定日期范围内的车辆信号

// TODO

隐私

关于隐私操作的说明

停止隐私

停止现有的隐私会话

XeeRequestManager.shared.stopPrivacy(ForVPrivacyID: <Privacy ID>, completionHandler: { (error, privacy) in
    // Your code here
})

检索隐私信息

返回包含两个日期之间的车辆隐私

XeeRequestManager.shared.getPrivacies(ForVehicleID: <Vdehicle ID>, From: <Date or nil>, To: <Date or nil>, Limit: <Int or nil>, completionHandler: { (error, privacies) in
    // Your code here
})

创建新的隐私

在此车辆上创建新的隐私会话

XeeRequestManager.shared.startPrivacy(ForVehicleID: <Vehicle ID>, completionHandler: { (error, privacy) in
    // Your code here
})

行程

访问车辆的行程

检索行程

返回指定行程 ID 对应的行程

XeeRequestManager.shared.getTrip(WithTripID: <Trip ID>, completionHandler: { (error, trip) in
    // Your code here
})

检索行程位置

通过将日期范围重定向到信号 API 来返回行程位置

XeeRequestManager.shared.getLocations(WithTripID: <Trip ID>, completionHandler: { (error, locations) in
    // Your code here
})

检索行程信号

通过将日期范围重定向到信号 API 来返回行程信号

XeeRequestManager.shared.getSignals(WithTripID: <Trip ID>, completionHandler: { (error, signals) in
    // Your code here
})

检索车辆行程

根据指定的车辆ID返回相应的行程。按日期请求包含在内。例如,如果行程从15:00开始至16:00结束,那么从15:15到15:45的请求将返回这一行程。

XeeRequestManager.shared.getTrips(WithVehicleID: <Vehicle ID>, completionHandler: { (error, trips) in
    // Your code here
})

授权

管理OAuth授权

撤销授权

撤销指定的授权

// TODO

检索用户的授权

返回与指定用户ID相对应的授权

// TODO

问题

我们正在努力提供一个无问题的SDK,但我们是凡人,所以我们可能犯错

如果您发现什么问题,请随时提交一个issue或/和分支仓库以修复它!

作者

Xee,

许可

XeeSDK 在 Apache License 2.0 许可下可用。有关更多信息,请参阅许可文件