通过TeamViewer Assist AR iOS的移动软件开发工具包(SDK),你可以利用Assist AR 会议的全部功能。通过将SDK嵌入到您自己的移动应用程序中,为优化客户服务提供最佳的基于AR的远程协助体验。

该SDK使您能够与您客户的设备进行安全和符合GDPR的连接。

本文适用于所有TeamViewer Assist AR 用

5. 在 创建应用程序或标记 的选项下点击 创建移动 SDK

6. 输入名称,并添加一个简短的描述(可选)。

7. 在 移动SDK 系统 选项中,选择 iOS

8. 点击 保存

移动 SDK 令牌已生成且展示在 应用程序和标记 页面

9. 点击三点菜单,将此令牌复制到你的剪贴板上并粘贴到一个安全的地方。

重要提示请勿与任何人分享此信物。

安装 TeamViewer 移动 SDK

你可以通过 Swift Package Manager(SPM)安装 TeamViewer SDK,或按照以下步骤手动安装。

你可以按照以下步骤,将 TeamViewer SDK 作为 SPM 添加到任意项目中:

 

1. 打开项目并点击 软件包依赖项

2. 点击左下角的 加号图标

 

4. 点击“添加包”。

5. 选择要将此包添加为依赖项的目标。

6. 点击“添加软件包”进行确认。

7. TeamViewer SDK 将作为依赖项添加到项目中。

8. 该软件包还将添加到目标位置(在步骤 5 中选择):

9. 如果在步骤 5 中未将软件包添加到目标,您可以单击之前所示的加号图标,然后选择“添加软件包依赖项”来添加 SPM 软件包。

这次,它将出现在“最近使用”列表中(如步骤 3 所示):

该 SDK 适用于拥有 Assist AR Professional 许可证的客户,由 TeamViewer 支持团队分发。

1. 下载 .zip 文件,解压缩,并将所有包含的 xcframework 文件夹复制到您的项目文件夹中。

注意:该 SDK 以通用 XCFramework 的形式分发,同时包含 iOS arm64 和模拟器 x86 架构。我们目前不支持 Apple Silicon 或 Mac Catalyst 架构。此外,该 SDK 还可以通过 Swift Package Manager (SPM) 进行分发。

2. 将 TVLocalizations 和 TeamViewerSDK 框架链接到您的项目中。

3. 确保已选中“嵌入和签名”选项。

4. 根据您的实现,您可能还需要链接到 ARKit 和 CallKit。

5. 仅当您计划支持 CallKit 时:链接到 CallKit。

设置你的XCode项目

TeamViewer SDK在远程支持会话中使用摄像头和麦克风。

在Info.Plist文件中添加以下键。

  • NSMicrophoneUsageDescription
  • NSCameraUsageDescription

如果你不添加这些键,当SDK试图访问麦克风或摄像头时,iOS将终止应用程序。

使用TeamViewer SDK

重要提示:SDK是一个单一的实例类。你不能直接创建一个。你应该访问共享实例。

1) 使用您在先决条件部分获得的API密钥初始化SDK实例。

2) 设置一个符合TeamViewerSDKDelegate协议的委托。

这确保你能够对在你的TeamViewer 连接有效期内发生的事件作出反应。

3) 连接到一个会话代码

共享SDK提供了一种方法来建立与会话代码的连接。这个会话代码可以是两种类型。

  • 远程支持或
  • Assist AR

4) 在你的TeamViewer 客户端或通过TeamViewer REST API创建会话代码。

方法connectToSessionCode返回一个TeamViewer session。

重要提示: 你有责任保持这个变量的有效性,也有责任释放这个变量。如果不这样做,可能会导致会话用户界面在远程会话结束后仍然保持活力。

重要提示: 一旦SDK连接到一个会话代码,它就会进入一个等待状态,你会通过委托方法 handleSessionCodeOnline得到状态变化的通知。

在这一点上,你不应该允许用户连接到一个不同的会话代码。只允许允许用户离开当前的连接。

在支持方,会话代码将显示为在线,允许客户端与该会话代码建立连接。

对呼入的连接作出反应

SDK提供了代表方法来对传入的连接事件做出反应。

一旦连接在TeamViewer ,SDK就会通过委托方法 handleConnectionRequestWithAuthenticationData得到关于这个连接尝试的通知。

在认证数据参数上有支持者的名字,传入连接的类型(ScreenShare或Assist AR )和一个允许或拒绝传入连接的回调函数。

如果接收到的连接被接受,就会建立相应的TeamViewer 连接。

  • 对于ScreenShare连接,会向用户显示一个关于麦克风和屏幕共享的提示。

你的应用程序的用户界面是使用重放套件抓取的,用户和支持者之间有双向的VoIP通信。

  • 对于Assist AR 连接,显示了摄像头和麦克风访问的系统权限。如果用户允许,AR会话就开始了。用户和支持方之间有双向的VoIP通信。
  • 应实现委托方法 handleConnectionRequestAbort,以便在远程用户取消连接请求时获得通知。你有责任清除显示给用户的任何提示,或取消任何CallKit的来电通知。

对可选的SDK事件做出反应

  • handleSupporterConnected: 这个方法在支持者开始会话时被调用,当用户在本地开始会话时也会被调用。
  • handleSupporterDisconnected: 这个方法在支持者结束会话时被调用,当用户在本地结束会话时也会被调用。

提示:你应该清理对会话的引用,因为这时会话被认为不再有效。

  • handleError:如果用于建立连接的会话代码或API令牌无效,该方法将被调用。

提示: 你应该清理当前会话使用的资源,因为会话本身被认为是无效的。

对可选的会议事件做出反应

  • handleSessionError:当会话中发生错误时,这个功能会被调用。例如,一个功能被请求,但客户端和服务器之间的兼容性没有得到满足。

提示: 这个错误只是信息性的。你可以把它写到日志文件中。

关于CallKit支持的说明

如果你的应用程序支持CallKit。

  • 向TeamViewer SDK提供有关您的呼叫的唯一标识符的信息。
  • TeamViewer 询问系统是否有一个正在进行的呼叫,如果是这样的话,就不尝试建立VoIP连接。
  • 告诉TeamViewer ,当前的呼叫是你的,这样我们就可以接管音频管道并开始VoIP传输。
    • 调用setupCallUUID方法。
    • 通过调用clearCallUUID 方法告诉SDK你的呼叫已经结束

启用背景模式

确保你在Info.plist文件中至少启用了这些背景模式之一。

  • 音频,
  • AirPlay 或
  • IP语音背景模式。

重要的是:如果不这样做,将导致应用程序在活动的TeamViewer 会话中被放到后台后仅几秒钟就被暂停。

音频设置

移动SDK与默认的AVAudioSession配置值一起工作。

  • 如果你想覆盖这些值,以支持蓝牙、Airplay混合、使用扬声器等,确保在建立会话之前改变这些值。如果你的应用程序对其他应用程序进行静音,建议在接受连接之前配置音频会话的时间点。
  • 如果你的应用程序音频与其他应用程序混合,你可以在应用程序启动时配置音频选项。

禁用VoIP

如果您想使用其他方式建立语音通信,您可以在建立连接之前通过设置共享SDK实例的选项来完全禁用VoIP功能。

更多信息请参考 TVSDKOptions 文档

Class 文件

所有的公共头衔文件都有记录。关于每个类的详细信息,请参考XCode生成的QuickHelp内容('⌥'+点击常量或变量名)。