ringcentral 0.0.3

ringcentral 0.0.3

测试已测试
语言语言 SwiftSwift
许可 MIT
发布上次发布2015年12月
SPM支持 SPM

Anil Kumar 维护。



  • Anil Kumar

RingCentral Swift SDK (测试版)

Code Climate


  1. 入门指南
  2. 初始化
  3. 授权
  4. 执行 API 调用
  5. 执行 RingOut
  6. 发送短信
  7. 订阅
  8. SDK 演示

要求

  • iOS 8.0+
  • Xcode 6.3+
  • Swift 1.2

入门指南

初始化

RingCentral SDK 可以通过以下方式初始化。

沙盒

    var rcsdk = SDK(appKey: app_key, appSecret: app_secret, server: SDK.RC_SERVER_SANDBOX)

生产

    var rcsdk = SDK(appKey: app_key, appSecret: app_secret, server: SDK.RC_SERVER_PRODUCTION)

应该从配置文件中读取与应用密钥('app_key')和应用程序密钥('app_secret')。

根据生产的阶段,将使用
SDK.RC_SERVER_SANDBOXSDK.RC_SERVER_PRODUCTION
作为 'server' 参数。

授权

提取平台对象以授权平台。

var platform = rcsdk.platform()

提取平台后,调用

platform.login(username, password: password)

或(若要通过扩展进行授权)

platform.login(username, ext: ext, password: password)

只要刷新令牌有效,SDK 将自动刷新令牌。

注意:如果没有指定扩展,平台将自动引用扩展 101(默认扩展)。


执行 API 调用

当前所有请求都可以通过以下方式完成

platform.get('/account/~/extension/~')
platform.post('/account/~/extension/~', body: [])
platform.put('/account/~/extension/~', body: [])
platform.delete('/account/~/extension/~', query: [])

将以下代码作为完成处理程序附加(总是

    {
      (transaction) in
        if (error) {
            // do something for error
        } else {
            // continue with code
        }
    }

将返回的数据放入字典中(JSON):这是由 SDK 中的 ApiResponse 类处理的。我们可以按照以下方式检索字典

ApiResponse 类处理 NSJSON 序列化

  NSJSONSerialization.JSONObjectWithData(data!, options: nil, error: &errors) as! NSDictionary  

如以下所示,在您的应用程序中检索字典

  transaction.getDict()

为了数据的可读性

    println(transaction.getDict())

执行 RingOut

RingOut 遵循双段式电信协议。使用以下方法调用发送 RingOut。

    platform.post("/account/~/extension/~/ringout", body :
    [ "to": ["phoneNumber": "ToNumber"],
        "from": ["phoneNumber": "FromNumber"],
        "callerId": ["phoneNumber": "CallerId"],
        "playPrompt": "true"
    ])
    {
      (completition handler)
    }

发送短信

使用以下方法调用发送短信。

platform.post("/account/~/extension/~/sms", body :
    [ "to": [["phoneNumber": "18315941779"]],
        "from": ["phoneNumber": "15856234190"],
        "text": "Test"
    ])
    {
      (completition handler)
    }

订阅

使用 createSubscription 方法创建订阅

var subscription = rcsdk.createSubscription()

将事件添加到订阅对象中

  subscription.addEvents(
    [
        "/restapi/v1.0/account/~/extension/~/presence",
        "/restapi/v1.0/account/~/extension/~/message-store"
    ])

注册订阅

subscription.register()
    {
      (completition handler)
    }

请注意,由于 PUBNUB 库的限制,它是同步的,可能需要手动重新创建订阅,因为订阅可能会过期。


SDK 示例 1

登录页面:输入 app_key、app_secret、用户名、密码以登录。这通常通过配置文件完成。

Alt text

电话页面:使用数字键盘输入所需的数字。状态栏(初始显示为红色矩形“无通话”)会相应地改变颜色。允许发送短信、传真以及打电话。

Alt text

日志页面:展示“通话记录”和“短信记录”的实现。

Alt text