CircuitSDK 1.6.0

CircuitSDK 1.6.0

Dana BrooksIhar Tsimafeichyk 维护。



GitHub release Version License Platform

Circuit iOS SDK

介绍

欢迎使用 Circuit iOS SDK。您可以使用提供的 SDK 来为 iOS 构建文本或媒体移动应用。

先决条件

安装

通过以下方式获取 WebRTC 依赖项(Source/libCKTNavigator.a)

curl -X GET -o "Source/libCKTNavigator.a" "https://www.googleapis.com/storage/v1/b/circuit-ios-sdk/o/libCKTNavigator.a?alt=media"

CircuitSDK 通过 CocoaPods 提供使用。

您可以通过在终端窗口中运行以下命令轻松尝试我们的示例应用:

pod try CircuitSDK

要使用它,只需将以下行添加到 Podfile 中即可:

pod 'CircuitSDK'

示例

您可以在 iOS 示例应用 目录中找到示例应用程序。如果您尝试运行该应用程序,您将无法登录。您必须添加您的客户端 ID 和客户端密钥并安装 pods。在终端中导航到 CircuitKit 文件夹,并运行以下命令

pod install

这将安装 pods 并创建一个 CircuitKit.xcworkspace,打开该文件而不是 CircuitKit.xcodeproj。在 Sample/Resources 文件夹中打开 AppDelegate.swift,在这里您可以为您的客户端 ID 和客户端密钥添加内容。 点击运行按钮

授权

如果您没有客户端凭据,请首先在 此处 注册开发者账户

一旦您的账户获得批准,请导航到 Circuit 应用注册 并按照说明获取凭据

一旦您获得凭据,即可运行示例应用程序并创建自己的应用程序。

以下是帮助您开始的代码片段。

initializeSDK

在应用程序启动时初始化 SDK 是一个好主意,这可以在 AppDelegate 文件中完成。

应用程序作用域应为一个逗号分隔的字符串,可以包含以下任何一项

作用域
全部
读取用户配置文件
写入用户配置文件
读取会话
写入会话
读取用户
呼叫

我们使用一个名为 AppAuth 的框架来帮助进行 OAuth 2.0 认证。

AppAuth 会使用您的客户端 ID 和客户端密钥,返回访问令牌,您可以使用此访问令牌进行登录。

请参考 AppAuth-iOS 了解使用 AppAuth 的示例

请记住设置您在注册应用程序时创建的redirectURI,这个redirectURI告诉AppAuth如何在身份验证完成后返回到您的应用程序。

[client initializeSDK:@"ADD CLIENT_ID"
                    oAuthClientSecret:@"ADD CLIENT SECRET"
                    oAuthScope:@"ADD OAUTH SCOPE"];
CKTClient().initializeSDK("ADD CLIENT ID",
                            oAuthClientSecret:"ADD CLIENT SECRET",
                            oAuthScope:"ADD OAUTH SCOPE")

事件处理

事件处理已在SDK中设置。您要做的只是为您提供应用程序的事件处理,只需添加一些观察者,以便在您想要监听特定事件的位置。

事件 类型 描述
CKTNotificationBasicSearchResults 字符串 startUserSearch或startBasicSearch的异步搜索结果
CKTNotificationCallEnded 字符串 当通话结束时触发。
CKTNotificationCallIncoming 字符串 接收到来电时触发。
CKTNotificationCallStatus 字符串 通话状态或任何其他本地或远程通话属性更改时触发。
CKTNotificationConnectionStateChanged 字符串 连接状态更改时触发。
CKTNotificationConversationCreated 字符串 为新用户创建新对话时触发。这可以是一个全新的对话,或者被添加到一个对话中。
CKTNotificationConversationUpdated 字符串 现有对话更新时触发。
CKTNotificationItemAdded 字符串 收到新对话项时触发。请注意,项目发送者也会收到此事件。
CKTNotificationItemUpdated 字符串 现有对话项更新时触发。
CKTNotificationReconnectFailed 字符串 自动重新连接到服务器失败时触发。
CKTNotificationRenewToken 字符串 会话过期后令牌被更新时触发。在失败时包含错误信息。
CKTNotificationSessionExpires 字符串 会话过期时触发。
CKTNotificationUserPresenceChanged 字符串 订阅用户的在线状态更改时触发。
CKTNotificationUserSettingsChanged 字符串 登录用户的某个或多个用户设置更改时触发。
CKTNotificationUserUpdated 字符串 本地用户更新时触发。

添加观察者

[[NSNotificationCenter defaultCenter] addObserver:self
                                        selector:@selector(itemAddedToConversation)
                                        name:CKTNotificationItemAdded object:nil];
NSNotificationCenter.defaultCenter().addObserver(self,
                            selector:#selector(itemAddedToConversation),
                            name:CKTNotificationItemAdded, object: nil)

要监听事件,您需要将观察者添加到应用程序逻辑中。如果您从未使用过NSNotificationCenter,您可以在此处找到更多信息

在示例中,我们正在监听名为CKTNotificationItemAdded的事件,当触发该事件时,将调用名为itemAddedToConversation的方法

使用条款

通过下载和运行此项目,您同意第三方应用程序软件、Unify产品和安装�件的许可条款。

第三方软件和产品由第三方提供给您。您负责阅读和接受将要安装的所有软件的相关许可条款。Unify不对第三方软件授予您任何权利。

许可

除非另有说明,否则示例代码将遵循Apache许可协议。

Copyright 2017 Unify Software and Solutions GmbH & Co.KG.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

https://apache.ac.cn/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

帮助我们改进SDK

通过向我们发送pull-request或创建一个GitHub Issue来帮助我们改进我们的示例代码。

版权所有 (c) Unify, Inc. 保留所有权利。许可协议下遵循Apache许可协议。请参阅项目根目录下的LICENSE文件以获取完整的许可信息。