DiHolaShakingAPI 0.5.6

DiHolaShakingAPI 0.5.6

Juanse Brito 维护。



  • Juanse Brito

DiHola Shaking API for iOS

DiHola Shaking API 通过摇晃设备实现设备之间快速且可靠的通信。我们提供了一种安全且灵活的协议,该技术可应用于任何形式的数据交换:支付处理、文件共享、社交网络、验证流程等。

索引

  1. 安装
  2. 使用
  3. 自定义 API
  4. 方法
  5. 错误代码

安装

CocoaPods

在下面的代码中添加以下行到你的 Podfile

target 'YourProject' do
    use_frameworks!
    pod 'DiHolaShakingAPI', '~> 0.5.6'
end

然后运行以下命令

$ pod install

手动安装

  • 将 DiHolaShakingAPI.xcodeproj 拖到项目导航器中的你的项目上。
  • 选择你的项目,然后选择你的应用程序目标。打开构建阶段面板。
  • 展开目标依赖项组,并添加 DiHolaShakingAPI 框架。

用法

NSLocationWhenInUseUsageDescription 添加到 Info.plist

Swift

import DiHolaShakingAPI

var shakingAPI = ShakingAPI(
            
    API_KEY: "Get one at www.diholapp.com",
    USER_ID: "USER_ID",
    
    onShaking: {
        print("Shaking detected")
    },
    
    onSuccess: { (result) in
        print(result)
    },
    
    onError: { (error) in
        print(error)
    }
)
        
shakingAPI.start()

在此您可以找到一个示例。

Objective-C

#import "DiHolaShakingAPI-Swift.h"

ShakingAPI *shakingAPI = [[ShakingAPI alloc] initWithAPI_KEY:@"Your API key" USER_ID:@"USER_ID" onShaking:^{
        // Your shaking handler
        [self shakingHandler];
    } onSuccess:^(NSArray<NSString *>* result) {
        // Your success handler
        [self successHandler:result];
    } onError:^(ShakingCode code) {
        // Your error handler
        [self errorHandler:code];
    }];

[shakingAPI start];

自定义 API

可以根据需要自定义不同的参数

名称 类型 默认值 描述
灵敏度 Double 3 触发摇动事件的灵敏度。
距离过滤器 Int 100 两个设备之间允许配对的最大距离(米)。必须考虑 GPS 边缘误差
时间过滤器 Int 2000 两个摇动事件之间允许配对的最大时间差(毫秒)。值在 100 到 10000 之间。
保持搜索 Bool false 正值将允许在找到用户后继续搜索。这可能会允许与多个设备配对。响应时间将受到影响。
震动 Bool true 在摇动时震动。
仅与... [String] [] 允许仅与一组用户连接。这在过程验证中可能很有用。

示例

shakingAPI.sensibility = 5
shakingAPI.timingFilter = 4000
shakingAPI.keepSearching = true

方法

摘要

详情

ShakingAPI()

var shakingAPI = ShakingAPI(API_KEY, USER_ID, onShaking, onSuccess, onError);
  • 选项:

    名称 类型 默认值 必需 描述
    API_KEY 字符串 -- www.diholapp.com 获取一个
    USER_ID 字符串 -- 用户标识符
    onShaking 函数 -- 检测到摇晃事件时调用
    onSuccess 函数 -- 与配对用户列表一起调用
    onError 函数 -- 遇到错误时调用

start()

shakingAPI.start();

开始监听摇晃事件。


stop()

shakingAPI.stop();

停止监听摇晃事件。


simulate()

shakingAPI.simulate();

模拟摇晃事件。


setLocation()

Swift

shakingAPI.setLocation(latitude, longitude);

Objective-C

[shakingAPI setLocationWithLatitude:lat longitude:lng];

手动设置位置将禁用使用设备位置。

参数

名称 类型 默认值
纬度 Double 设备当前值
经度 Double 设备当前值

错误代码

名称 描述
LOCATION_PERMISSION_ERROR 未接受位置权限
LOCATION_DISABLED 位置已禁用
SENSOR_ERROR 传感器设备不可用
AUTHENTICATION_ERROR API密钥无效
API_KEY_EXPIRED API密钥已过期
SERVER_ERROR 服务器不可用

示例(Swift)

var shakingAPI = ShakingAPI(

  ...
      
  onError: { (error) in

    switch error {
        case .LOCATION_PERMISSION_ERROR:
            // Do something
            break;
        case .LOCATION_DISABLED:
            // Do something
            break;
        case .AUTHENTICATION_ERROR:
            // Do something
            break;
        case .API_KEY_EXPIRED:
            // Do something
            break;
        case .SERVER_ERROR:
            // Do something
            break;
        case .SENSOR_ERROR:
            // Do something
            break;
    }
  }
);

示例(Objective-C)

ShakingAPI *shakingAPI = [[ShakingAPI alloc] ...
    onError:^(ShakingCode code) {
        switch (code) {
            case ShakingCodeLOCATION_PERMISSION_ERROR:
                // Do something
                break;
            case ShakingCodeLOCATION_DISABLED:
                // Do something
                break;
            case ShakingCodeAUTHENTICATION_ERROR:
                // Do something
                break;
            case ShakingCodeAPI_KEY_EXPIRED:
                // Do something
                break;
            case ShakingCodeSERVER_ERROR:
                // Do something
                break;
            case ShakingCodeSENSOR_ERROR:
                // Do something
                break;
        }
}];

贡献

欢迎提交拉取请求。对于重大更改,请先提交一个问题来讨论您想要进行哪些更改。