com.awareframework.ios.sensor.calls 0.5.0

com.awareframework.ios.sensor.calls 0.5.0

tetujinyuuki.nishiyama维护。



  • Yuuki Nishiyama

AWARE: Calls

CI Status Version License Platform

“Calls”感应器记录用户执行或接收的调用事件。它还提供了有关用户调用可用性和操作的更高层次上下文。

要求

iOS 10 或更高版本

安装

  1. com.awareframework.ios.sensor.calls 可以通过 CocoaPods 获得。要安装它,只需将以下行添加到您的 Podfile 中
pod 'com.awareframework.ios.sensor.calls'
  1. 将 com.awareframework.ios.sensor.calls 库导入到您的源代码中。
import com_awareframework_ios_sensor_calls

公共函数

CallsSensor

  • init(config:CallsSensor.Config?) : 使用可选的配置初始化通话传感器。
  • start() : 以可选配置启动通话传感器。
  • stop() : 停止服务。

CallsConfig

Class to hold the configuration of the sensor.

Fields

  • sensorObserver: CallsObserver: 实时数据更新的回调。
  • enabled: Boolean 传感器是否启用。(默认 = false
  • debug: Boolean 启用/禁用记录到 Logcat。 (默认 = false
  • label: String 数据的标签。(默认 = "")
  • deviceId: String 将与事件和传感器关联的设备的ID。(默认 = "")
  • dbEncryptionKey 数据库的加密密钥。(默认 = null
  • dbType: Engine 保存数据时使用的数据库引擎。(默认 = Engine.DatabaseType.NONE
  • dbPath: String 数据库的路径。(默认 = "aware_calls")
  • dbHost: String 数据库同步的主机。(默认 = null

Broadcasts

Fired Broadcasts

  • CallsSensor.ACTION_AWARE_CALL_ACCEPTED: 用户接受来电时触发。
  • CallsSensor.ACTION_AWARE_CALL_RINGING: 电话响起时触发。
  • CallsSensor.ACTION_AWARE_CALL_MADE: 用户正在拨打电话时触发。
  • CallsSensor.ACTION_AWARE_USER_IN_CALL:当用户正在通话时触发。
  • CallsSensor.ACTION_AWARE_USER_NOT_IN_CALL:当用户不在通话时触发。

接收到的广播

  • CallsSensor.ACTION_AWARE_CALLS_START:接收启动传感器的广播。
  • CallsSensor.ACTION_AWARE_CALLS_STOP:接收停止传感器的广播。
  • CallsSensor.ACTION_AWARE_CALLS_SYNC:接收发送同步尝试到主机的广播。
  • CallsSensor.ACTION_AWARE_CALLS_SET_LABEL:接收设置数据标签的广播。标签期望在intent extras的CallsSensor.EXTRA_LABEL字段中。

数据表示

通话数据

包含通话传感器的信息。

字段 类型 描述
eventTimestamp 长整型 实际事件的Unix时间毫秒
type 字符串 以下通话类型之一(拨号、来电、已连接和未连接)
attributes 字符串 一个通话事件属性
duration 整型 通话会话长度
trace 字符串 通话的源/目标
deviceId 字符串 AWARE设备UUID
label 字符串 可自定义的标签。用于数据校准或追踪
timestamp 长整型 自1970年以来的Unix时间毫秒
timezone 整型 设备的时区
os 字符串 设备的操作系统(例如:android)

示例用法

let callsSensor = CallsSensor.init(CallsSensor.Config().apply{config in
    config.debug = true
    config.sensorObserver = Observer()
    config.dbType = .REALM
})
callsSensor?.start()
callsSensor?.stop()
class Observer:CallsObserver{
    func onCall(data: CallData) {
        // Your code here..
    }

    func onRinging(number: String?) {
        // Your code here..
    }

    func onBusy(number: String?) {
        // Your code here..
    }

    func onFree(number: String?) {
        // Your code here..
    }
}

作者

西山村益山,[email protected]

相关链接

许可协议

版权所有 (c) 2021 AWARE 移动上下文仪器中间件/框架 (http://www.awareframework.com)

根据 Apache 许可证 2.0 版本("许可证");除非您遵守许可证,否则不得使用此文件。您可以在以下地址获得许可证副本:

https://apache.ac.cn/licenses/LICENSE-2.0除非法律规定或双方书面同意,否则在许可证下分发的软件按“原样”分发,不提供任何明示或暗示的保证或条件。请参阅许可证了解有关许可证管理许可和限制的具体语言。