★ご注意
以下は、Microsoft Visual Studio Community 2019 の Xamarin.Forms を使用して、Android・iOS・UWP向けクライアントアプリを開発する場合を想定した WebSocket API のご説明とサンプルプログラムです。
光CTIスマートコネクトサービスは、WebSocket APIを提供します。
※Windows 7SP1 では動作しません。WebSocket API をご利用の際は、 Windows 8、8.1、10 をご使用ください。
(Windows 7SP1 は OSレベルの WebSocketに非対応のため、ご利用いただけません。)
【サンプルプログラムの利用方法】
- サーバーにするパソコンに「光CTIスマートコネクトサービス」をインストールします。
- Microsoft Visual Studio Community 2019 で Xamarin.Formsの新規プロジェクトを作成します。
- NuGetパッケージマネージャーで「System.Net.Websockets」を全プロジェクトにインストールします。
- NuGetパッケージマネージャーで Xamarin.Forms 他を最新の状態に更新しておきます。
- UWPプロジェクトの場合は、機能の「インターネット(クライアント)」と「プライベートネットワーク(クライアントとサーバー)」にチェックを付けます。
- 以下の【クライアントプログラム(Xamarin.Forms用)のサンプルソース① MainPage.xaml】を参考にプログラムを作成します。
- 以下の【クライアントプログラム(Xamarin.Forms用)のサンプルソース② MainPage.xaml.cs】を参考にプログラムを作成します。
- 作成したクライアントプログラム(Xamarin.Forms用)をビルド後、実機(Android・iOS・UWP)上で実行します。
【使用するポート】
- 55963ポート(サービス側のパソコンでオープンが必要です。)
【クライアントプログラム(Xamarin.Forms用)のサンプルソース① MainPage.xaml】
【クライアントプログラム(Xamarin.Forms用)のサンプルソース② MainPage.xaml.cs】
【実行画面サンプル】
【光CTIスマートコネクトサービスWebSocket API仕様】
アドレス | ws://(サービス実行中のパソコンのIPアドレス):55963/CTI_SmartConnectService/WebSocket/ |
---|---|
バインディング |
customBinding(netHttpBinding からの派生)
|
データ名称 | Send メッセージ | |
---|---|---|
接続中クライアントリストへ登録する | Regist(‘name’) | |
|
||
接続中クライアントリストから登録解除する | UnRegist(‘name’) | |
|
||
キープアライブ(タイムアウトを防ぐため、クライアントから5分間隔で呼び出す)
※調査の結果、本メッセージを送信しなくても接続がキープされているようです。 |
KeepAlive(‘name’) | |
WCFのタイムアウトを防ぐため、クライアントから定期的にキープアライブをコールします。(10分以内に1回コールする必要があります。)
|
データ名称 | CallBack メッセージ | |
---|---|---|
サービスからの通知 | { “title”:”タイトル”, “msg”:”メッセージ”, “tyakusin_nichiji”:”着信日時”, “from”:”相手TEL”, “to”:”着信TEL”, “kokyaku_id”:”顧客ID”, “kokyaku_name”:”顧客名(会社名)”, “tantou_name”:”担当者名”, “syubetsu”:”回線種別” } ※JSON形式 |
|
サービスから着信メッセージ、クライアント生存確認、処理完了通知がコールバックされます。
|