DriversitiSDK 2.0.2

DriversitiSDK 2.0.2

测试测试过的
语言语言 Obj-CObjective C
许可证 定制
发布最后发布2017年6月

Brandon BodnarJeff Behrbaum吴瑞安Ibrahim Kurabi 维护。



 
依赖
Godzippa>= 0
Firebase~> 2.5.1
 

DriversitiSDK for iOS

DriversitiSDK for iOS 允许正驾驶公司跟踪驾驶员行为并接收注册驾驶员的实时事件通知。除了实时通知外,这些行为和事件还将上传到 Driversiti 云,允许 Driversiti 的客户以后访问其公司驾驶员的行为和整体驾驶评分。

如果 DriversitiSDK 使用手机的传感器检测到车辆碰撞,它将使用专利的实时碰撞检测来通知主机应用程序。

对 iOS 版本的要求和受支持的设备

  • iOS 7.1 及更高版本
  • iPhone 5S、SE、6、6 Plus、6S、6S Plus、7 和 7 Plus
  • 主机应用程序必须启用 location UIBackgroundMode 和位置始终使用
  • 如果提示,用户必须允许在后台访问 GPS 和访问活动监视器。

入门

  • 收到一个 DriversitiSDK 开发者密钥
  • 安装 DriversitiSDK(建议使用 CocoaPods)
  • 更改项目设置以启用 SDK
  • 在 App 中使用 SDK。
  • cocoadocs 上查看完整的 SDK 文档。
  • 查看 维基 了解特定主题的详细信息。

变更和发布说明

  • 所有 AP 类都已重命名为关联的 Driversiti 类型。
  • 例如:APTrip 现在是 DriversitiTrip,APTripEvent 现在是 DriversitiEvent

  • 请务必更改所有已弃用调用,因为它们因安全漏洞而被弃用,并且不再返回有效的对象。

  • 使用推荐和相关调用将正常工作,它们将返回新数据类型的有效数据。

1. 收到一个 DriversitiSDK 开发者密钥

在 DriversitiSDK 启动操作之前,您的组织需要获取一个 DriversitiSDK 开发者密钥,您可以通过Driversiti SDK 密钥请求表单进行申请。您的组织只需要一个共享的 SDK 密钥,该密钥可以由您组织中的多个开发者用于 iOS 和 Android 平台。

2b. 手动安装 DriversitiSDK

虽然推荐使用 CocoaPods,但使用其他项目依赖管理器的开发者可以手动引入 DriversitiSDK。开发者可以在本存储库中找到以下必需文件。

  • 存储库根目录下的静态库 libDriversitiSDK.a
  • 位于 include/DriversitiSDK/ 的公共头文件。
  • 存储库根目录下的必需资源包名为 Driversiti.bundle。此包必须按原样包含到主应用程序的主包中。

此外,手动引入的开发者必须还引入 DriversitiSDK 的必需依赖项。这些依赖项列在存储库根目录下的 DriversitiSDK.podspec 文件中。

3. 必需的应用程序项目设置

  • 在应用程序项目级别将 Enable BitCode 设置为 NO
  • 在功能中必须开启 Background Modes,并且必须启用 Location Updates
  • 在您的 Info.plist 中,必须指定 NSLocationAlwaysUsageDescription。指定的字符串将在 DriversitiSDK 启动时提示用户,如果应用程序尚未收到始终在后台运行的先前用户许可。

4. 在应用程序中使用 SDK

a. 初始化 SDK

在使用 SDK 时,开发者应首先在共享的 DriversitiSDK 对象上设置组织的密钥。此外,主应用程序应确保将传递给 UIApplicationDelegate 的 locationOptions 传递给 DriversitiSDK,使用 startWithLaunchOptions: 方法。以下为主应用程序的 application:didFinishLaunchingWithOptions: 示例。

#import <DriversitiSDK/DriversitiSDK.h>
...

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  ...
    [[DriversitiSDK sharedInstance] setAPIKey:@"{DriversitiSDK-Developer-Key}"]
    [[DriversitiSDK sharedInstance] startWithLaunchOptions:launchOptions];
  ...

}

{DriversitiSDK-Developer-Key} 替换为您的密钥。

另外,为了给 DriversitiSDK 提供机会,在主应用程序进入后台时继续运行,请在主应用程序的 applicationDidEnterBackground: 方法中包含以下内容

__block UIBackgroundTaskIdentifier taskID = [application beginBackgroundTaskWithExpirationHandler:^{
        [[NSOperationQueue mainQueue] addOperationWithBlock:^{
            [[[DriversitiSDK sharedInstance] operationQueue] waitUntilAllOperationsAreFinished];
            [application endBackgroundTask:taskID];
            taskID = UIBackgroundTaskInvalid;
        }];
    }];

b. 注册用户

在 SDK 开始报告检测之前,需要使用 UserManager 的适当方法注册用户。以下是一个示例。

[[UserManager sharedInstance]
         userRegisterWithEmailAddress:@"{EMAIL}"
         password:@"{PASSWORD}"
         firstName:@"{FIRST-NAME}"
         middleName:@""
         lastName:@"{LAST-NAME}"
         streetAddress:@""
         city:@""
         state:@""
         country:@""
         zipcode:@""
         phoneNumber:@"{PHONE-NUMBER}"
         username:@"{USERNAME}"
         companyId:@"{COMPANY}"
         completionBlock:^(NSError *error)
         {
           if (error != nil) {
             // Handle error case
           } else {
             // Handle success case
           }
         }];

重要的是,{COMPANY} 需要设置为通过 [email protected] 给予您公司的名称。对于试用客户,请使用 Soteria 作为公司名称。

c. 设置 DriversitiSensorDelegate 代理并开始数据采集

为了接收实时事件通知,主应用程序需要使用 DriversitiSDK 上的 sensorDelegate 属性注册符合 DriversitiSensorDelegate 协议的实例。

一切设置完毕后,主应用程序应调用 DriversitiSDK 上的 -startDataCollection 方法。事件通知将通过 DriversitiSensorDelegate 流入主应用程序。