Skip to main content

ナレッジベース

iOS用モバイルソフトウェア開発キット(SDK)

最終変更: 2026/01/22

TeamViewer ソフトウェア開発キット (SDK)を使用すると、Assist AR の機能をフルに活用し、自社のモバイルアプリにAR遠隔支援機能を埋め込むことによって、顧客に最高のAR遠隔支援体験を提供することができます。

SDKを使用することで、お客様の端末に安全かつGDPR に準拠した接続を確立することができます。

この記事は、すべての TeamViewer Assist AR ユーザーに適用されます。

5. アプリまたはトークンを作成のドロップダウンをクリックし、モバイル SDK を作成を選択します。

Create Mobile Sdk

6. 名前説明(任意)を入力します。

7. モバイル SDK システム iOS を選択します。

8. 保存をクリックします。

Mobile Sdk System Ios

アプリとトークンを開くと、モバイル SDK トークンが表示されます。

9. 三点ドットをクリックし、トークンをコピーを選択して、安全な場所に貼り付けます。

重要:このトークンは絶対に他人と共有しないでください

Copy Token

TeamViewer Mobile SDKを入手する

TeamViewer SDK は、Swift Package Manager(SPM)として、または以下の手順に従って手動でインストールできます。

Xcodeプロジェクトのセットアップ

TeamViewer SDK は、リモートサポートのセッション中にカメラとマイクを使用します。

1) Info.Plist ファイルに以下のキーを追加します。

  • NSMicrophoneUsageDescription。
  • NSCameraUsageDescription (カメラ使用説明)
Ios Mobilesdk Keys Infoplist

これらのキーを追加しないと、SDK がマイクまたはカメラにアクセスしようとした瞬間に iOS がアプリケーションを終了します。

TeamViewer SDKの使用

重要:SDKは単一のインスタンスクラスです。直接作成することはできません。共有インスタンスにアクセスする必要があります。

1) 「前提条件」セクションで取得したAPI Keyを使用して SDK インスタンスを初期化します。

Ios Mobilesdk Command Line Setupsdk

2) プロトコル TeamViewerSDKDelegate に準拠するデリゲートを設定します。

これにより、TeamViewer 接続の存続期間中に発生するイベントに対応できるようになります。

3) セッションコードに接続します。

共有SDKは、セッションコードへの接続を確立するためのメソッドを提供します。このセッションコードには、2つのタイプがあります。

  • リモートサポートまたは
  • Assist AR

4)TeamViewer クライアントまたはTeamViewer REST API 経由でセッションコードを作成します。

Ios Mobilesdk Command Line Createsessioncode

connectToSessionCodeメソッドは、TeamViewer セッションを返します。

重要:

  • この変数を有効にしておく責任と、この変数を解放する責任があります。これを怠ると、リモート セッションが終了した後でも、セッション UI が有効なままになる可能性があります。
  • SDKがセッションコードに接続すると、待機状態になり、デリゲートメソッドhandleSessionCodeOnlineで状態変化の通知を受けます。

この時点で、ユーザーが別のセッション コードに接続することを許可しないでください。 ユーザーが現在の接続を離れることを許可することのみが許可されます。

サポーター側では、セッションコードがオンラインであることが表示され、クライアントがそのセッションコードへの接続を確立できるようになります。

着信接続への対応

SDK は、接続イベントの着信に反応するためのデリゲートメソッドを提供します。

TeamViewer 側で接続が開始されると、SDK はデリゲートメソッドhandleConnectionRequestWithAuthenticationDataを介してこの接続試行について通知されます。

認証データパラメータには、サポーターの名前、着信接続のタイプ(ScreenShare またはAssist AR )、および着信接続を許可または拒否するコールバック関数が含まれます。

着信接続が受け入れられた場合、対応するTeamViewer の接続が確立されます。

  • ScreenShare接続の場合、マイクと画面共有のプロンプトがユーザーに表示されます。

アプリケーションのUIはリプレイキットを使用して取得され、ユーザーとサポーターの間には双方向のVoIP通信が行われます。

  • Assist AR 接続の場合、カメラとマイクのアクセスに関するシステム権限が表示されます。ユーザーがこれを許可すると、ARセッションが開始されます。ユーザーとサポーターの間には、双方向のVoIP通信が行われます。
  • リモートユーザーが接続要求をキャンセルしたときに通知を受け取るには、デリゲートメソッドhandleConnectionRequestAbort を実装する必要があります。ユーザーに表示されるプロンプトをクリアするか、CallKit の着信通知をキャンセルする責任があります。

オプションのSDKイベントへのリアクション

  • handleSupporterConnectedこのメソッドは、サポーターがセッションを開始したときに呼び出され、ユーザーがローカルでセッションを開始したときにも呼び出されます。
  • handleSupporterDisconnected:このメソッドは、サポーターがセッションを終了したときに呼び出され、ユーザーがローカルでセッションを終了したときにも呼び出されます。

ヒント:この時点でセッションは無効とみなされるため、セッションへの参照を削除する必要があります。

  • handleError:このメソッドは、接続の確立に使用されるセッション コードまたは API トークンが有効でない場合に呼び出されます。

ヒント: セッション自体が無効とみなされるため、現在のセッションに使用されているリソースを削除する必要があります。

オプションのセッションイベントへの対応

  • handleSessionError: これは、セッション中にエラーが発生したときに呼び出されます。例えば、ある機能が要求されたが、クライアントとサーバーの互換性が保たれていない場合などです。

ヒント: このエラーは情報提供のみを目的としています。 ログファイルに書き込むことができます。

CallKit対応に関する注意事項

アプリケーションがCallKitに対応している場合:

  • 通話の一意の識別子に関する情報を TeamViewer SDK に提供します。
  • TeamViewer は、実行中の通話があるかどうかをシステムに問い合わせ、その場合はVoIP接続のセットアップを試みません。
  • TeamViewer に現在の通話があなたのものであることを伝え、音声パイプラインを引き継ぎ、VoIP送信を開始できるようにします。
    1. setupCallUUID メソッドを呼び出します。
    2. clearCallUUID メソッドを呼び出して、通話が終了したことをSDKに知らせます

バックグラウンドモードの有効化

Info.plistファイルで、これらのバックグラウンド モードの少なくとも 1 つが有効になっていることを確認してください。

  • オーディオ
  • AirPlayまたは
  • ボイスオーバーIPのバックグラウンドモード
Ios Mobilesdk Background Modes

重要:これを怠ると、アクティブなTeamViewer セッション中にバックグラウンドに置かれた後、わずか数秒でアプリが中断されます。

オーディオの設定

モバイルSDKは、デフォルトの AVAudioSession 構成値で動作します。

  • Bluetooth、Airplay mix、ラウドスピーカーの使用などをサポートするためにこれらの値を上書きしたい場合は、セッションが確立される前に必ずこれを変更してください。アプリケーションが他のアプリケーションをミュートする場合、オーディオセッションを設定するタイミングは、接続を受け入れる直前が推奨されます。
  • アプリケーションのオーディオが他のアプリケーションと混信する場合、アプリケーション起動時に音声オプションを設定することができます。
Ios Mobilesdk Command Line Setupavaudiosession

VoIPを無効にする

音声通信を確立するために他の手段を使用したい場合、接続を確立する前に共有SDKインスタンスでオプションを設定することにより、VoIP機能を完全に無効にすることができます。

Ios Mobilesdk Command Line Disablevoip

詳しくは、TVSDKOptionsのドキュメントを参照してください。

クラス文書

全ての公開ヘッダーはドキュメント化されています。各クラスの詳細については、Xcodeが生成するQuickHelpコンテンツ('⌥ '+定数名または変数名をクリック)を参照してください。