リリースノート

Product deprecation notice

Effective April 30th, 2026, Vonage In-App Messaging will no longer be available. Access for new users will be closed, and the service will be discontinued for all existing users.

If you have any questions regarding this product’s discontinuation, please contact your account manager or our support team.

バージョン9.5.1 - 2024年1月11日

修正

  • を作る際のバグを修正した。 networkRequest データ a string

バージョン9.5.0 - 2023年11月21日

新しい

  • 保留中のイベントをサポートする。 member:invited)

バージョン9.4.0 - 2023年09月04日

新しい

  • サポート ephemeral イベント
// send ephemeral event
conversation
  .sendEphemeralEvent({ state: "INVITED" })
  .then((event) => {
    console.log(event)
  });

バージョン9.3.1 - 2023年8月30日

修正

  • 修正 NexmoAPI のエラーラッピング v0.3 Conversion APIエンドポイント

リリースノート

バージョン9.3.1 - 2023年6月19日

修正

  • 修正 NexmoAPI のエラーラッピング v0.3 Conversion APIエンドポイント

バージョン9.3.0 - 2023年6月01日

新しい

  • 追加 state をパラメータに問い合わせる。 application.getConversations() のために ConversationsPage オブジェクト
// iterate through conversations
application
  .getConversations({ state: "INVITED" })
  .then((conversations_page) => {
    conversations_page.items.forEach(conversation => {
      render(conversation);
    })
  });

修正

  • の型定義を修正した。 Conversation オブジェクトへのタイムスタンプ
  • デフォルト socket.io クエリー session_version への 0.0.1 ない限り enableInboundOffer フラグをtrueに設定すると、デフォルトは 0.0.2

バージョン9.2.6 - 2023年5月23日

変更点

  • WS再接続メトリクスの追加

バージョン9.2.5 - 2023年5月23日

修正

  • の型定義を修正した。 enableEventsQueue そして enableInboundOffer
  • 追加 acknowledgeEvents フラグを設定に追加することで、ウェブソケットイベントの確認応答のトラッキングが可能になります。

バージョン9.2.4 - 2023年4月19日

修正

  • 発光 reconnecting 再接続時のソケットイベント

バージョン9.2.3 - 2023年3月30日

変更点

  • アップグレード socket.io-client バージョンを4.6.1に

バージョン9.2.2 - 2023年3月13日

修正

  • 修正 ConversationEventsProcessor 同じ会話で何度も開始される

バージョン9.2.0 - 2022年12月21日

変更点

  • 追加 enableInboundOffer インバウンドコールの設定フラグ
  • 削除 Ice Servers デフォルト webrtc STUN サーバー設定
  • 交換 api.nexmo へのURL api.vonage URL

バージョン9.1.5 - 2022年10月24日

修正

  • ユーザーが会話に再度招待/参加した際のバグを修正

バージョン9.1.4 - 2022年9月23日

変更点

  • 用途 v2 ネクスモ・カンバセーション・ウェブソケット

バージョン9.1.3 - 2022年09月07日

修正

  • typescriptモジュールの定義を修正

バージョン9.1.1 - 2022年8月19日

修正

  • 名前付き会話におけるrtc:transferのイベントの順序を修正

バージョン9.1.0 - 2022年8月16日

新しい

  • インバウンドコールでプリロードされたメディアを使用する(スタート WebRTC ice 会員がコールに招待され次第、そのプロセスを開始する)

修正

  • 削除 public-ip ライブラリーにセキュリティの脆弱性があるため(更新は is-ip)

バージョン9.0.0 - 2022年6月30日

変化への対応

  • 名前変更 login() 関数を createSession()
rtc.createSession(token).then((application) => {
  console.log(application);
}).catch((error) => {
  console.log(error);
});
  • 名前変更 logout() 関数を deleteSession()
rtc.deleteSession().then((response) => {
  console.log(response);
}).catch((error) => {
  console.log(error);
});

変更点

  • ウェブソケット接続の作成を createSession() 機能

バージョン8.7.3 - 2022年6月14日

変更点

  • にトークン認証を追加した。 connectivityReport()
rtc.connectivityReport(token, {
  dcListCallback: (dcList) => {...dcList, additionalDc}
}).then((report) => {
  console.log(report);
}).catch((error) => {
  console.log(error);
});
  • にトークン認証を追加した。 checkMediaServers()
rtc.checkMediaServers('token', 'nexmo-api-url','dc').then((responseArray) => {
 console.log(responseArray);
}).catch((error) => {
  console.log(error);
});

バージョン8.7.2 - 2022年5月27日

修正

  • 未使用の npm 依存関係を削除。

バージョン8.7.1 - 2022年5月11日

新しい

  • 新規追加 checkMediaServers() メソッドを使用すると、特定のデータセンターのメディアサーバーの接続状態を示すリストを返すことができる。
rtc.checkMediaServers('nexmo-api-url','dc').then((responseArray) => {
	console.log(responseArray);
}).catch((error) => {
  console.log(error);
});
  • 新規追加 checkMediaConnectivity() メソッドを使用して、単一のメディアサーバーの接続状態を返します。
rtc.checkMediaConnectivity('ip-address','1').then((response) => {
  console.log(response);
}).catch((error) => {
	console.log(error);
});

変更点

  • 更新 connectivityReport() https、wss、メディアサーバーへの接続にかかる時間を ms 単位で返します。

バージョン8.6.0 - 2022年4月21日

新しい

  • にオプションのオブジェクト引数を追加。 connectivityReport()オプション・フィールド dcListCallback コールバック関数を受け取り、データセンターのリストを更新します。
rtc.connectivityReport({
  dcListCallback: (dcList) => {...dcList, additionalDc}
}).then((report) => {
  console.log(report);
}).catch((error) => {
  console.log(error);
});

バージョン8.5.0 - 2022年4月20日

新しい

  • 暴露 seen() そして delivered() メッセージ・イベント用関数
messageEvent.seen().then(() => {
  console.log(`Seen message with id ${messageEvent.id}`);
}).catch((error) => {
  console.log(error);
});
  • 新しいメッセージ・ステータス・イベントをサポート
    • message:seen
    • message:delivered
    • message:submitted
    • message:rejected
    • message:undeliverable
conversation.on("message:delivered", (member, event) => {
  console.log(`Message with id ${event.id} delivered to ${member.name}`);
});
  • 新しいステータスをサポートするメッセージイベント用の新しいステートオブジェクトを追加。
    • seen_by
    • delivered_to
    • submitted_to
    • rejected_by
    • undeliverable_to

変更点

  • 更新 connectivityReport() 地域ごとに適切なエンドポイントを使用する

バージョン8.4.1 - 2022年2月14日

修正

  • インバウンドイベントでギャップがある場合にイベントの順序を修正

バージョン8.4.0 - 2022年1月21日

新しい

  • 新規追加 connectivityReport() すべてのVonageデータセンターとメディアサーバーの接続性レポートを取得する機能
rtc.connectivityReport().then((report) => {
  console.log(report);
}).catch((error) => {
  console.log(error);
});

バージョン8.3.1 - 2021年12月09日

新しい

  • ログイン・プロセスのデフォルトの同期レベルを以下から設定する。 lite への none

バージョン8.3.0 - 2021年11月01日

新しい

  • 新規追加 uploadImage() 関数を使用して Vonage Media Service に画像をアップロードします。
const params = {
  quality_ratio : "90",
  medium_size_ratio: "40",
  thumbnail_size_ratio: "20"
};

conversation.uploadImage(fileInput.files[0], params).then((uploadImageRequest) => {
  uploadImageRequest.onprogress = (e) => {
    console.log("Image request progress: ", e);
    console.log("Image progress: " + e.loaded + "/" + e.total);
  };
  uploadImageRequest.onabort = (e) => {
    console.log("Image request aborted: ", e);
    console.log("Image: " + e.type);
  };
  uploadImageRequest.onloadend = (e) => {
    console.log("Image request successful: ", e);
    console.log("Image: " + e.type);
  };
  uploadImageRequest.onreadystatechange = () => {
    if (uploadImageRequest.readyState === 4 && uploadImageRequest.status === 200) {
      const representations = JSON.parse(uploadImageRequest.responseText);
      console.log("Original image url: ", representations.original.url);
      console.log("Medium image url: ", representations.medium.url);
      console.log("Thumbnail image url: ", representations.thumbnail.url);
    }
  };
}).catch((error) => {
  console.error("error uploading the image ", error);
});
  • 新規追加 sendMessage() 関数を使用して、新しい message を会話に追加する。 text, image, audio, video そして file)
conversation.sendMessage({
  "message_type": "text",
  "text": "Hi Vonage!"
}).then((event) => {
  console.log("message was sent", event);
}).catch((error)=>{
  console.error("error sending the message ", error);
});
conversation.sendMessage({
  "message_type": "image",
  "image": {
    "url": "https://example.com/image.jpg"
  }
})
.then((event) => {
  console.log("message was sent", event);
}).catch((error)=>{
  console.error("error sending the message ", error);
});
  • 新規追加 MessageEvent イベントの種類
conversation.on("message", (member, messageEvent) => {
  console.log(messageEvent);
});

変更点

  • 非推奨 sendText() 関数(使用 sendMessage() のタイプで text 代わりに)
conversation.sendMessage({ "message_type": "text", "text": "Hi Vonage!" }).then((event) => {
  console.log("message was sent", event);
}).catch((error)=>{
  console.error("error sending the message ", error);
});
  • 非推奨 sendImage() 関数(使用 uploadImage() そして sendMessage() のタイプで image 代わりに)
conversation.uploadImage(imageFile).then((imageRequest) => {
  imageRequest.onreadystatechange = () => {
    if (imageRequest.readyState === 4 && imageRequest.status === 200) {
      try {
        const { original, medium, thumbnail } = JSON.parse(imageRequest.responseText);
        const message = {
          message_type: 'image',
          image: {
            url: original.url ?? medium.url ?? thumbnail.url
          }
        }
        return conversation.sendMessage(message);
      } catch (error) {
        console.error("error sending the message ", error);
      }
    }
    if (imageRequest.status !== 200) {
      console.error("error uploading the image");
    }
  };
  return imageRequest;
})
.catch((error) => {
  console.error("error uploading the image ", error);
});

バージョン8.2.5 - 2021年10月12日

修正

  • オーディオ許可のエラー処理を修正

バージョン8.2.2 - 2021年10月08日

修正

  • デバッグ・ログの強化

バージョン8.2.0 - 2021年9月28日

新しい

  • 新規追加 getUserSessions() ログインしているユーザーのセッションを取得する関数
application.getUserSessions({ user_id: "USR-id", page_size: 20 }).then((user_sessions_page) => {
  user_sessions_page.items.forEach(user_session => {
    render(user_session)
  })
}).catch((error) => {
  console.error(error);
});

バージョン8.1.1 - 2021年09月08日

新しい

  • 新しいオプションの追加 mediaParams パラメータの reconnectCall 関数を修正するために MediaStream オブジェクト
application.reconnectCall(
  "conversation_id",
  "rtc_id",
  { audioConstraints: { deviceId: "device_id" } }
).then((nxmCall) => {
  console.log(nxmCall);
}).catch((error) => {
  console.error(error);
});
  • 更新 media.enable() オーディオの制約を含むドキュメント

修正

  • 正しい NXMCall 通話に再接続する際のステータス (STARTED, RINGING または ANSWERED)

変更点

  • 更新 npm 依存関係

バージョン8.1.0 - 2021年09月02日

新しい

  • 追加 reconnectCall ブラウザのタブを閉じても20秒以内に通話に再接続できる機能
application.reconnectCall("conversation_id", "rtc_id").then((nxmCall) => {
  console.log(nxmCall);
}).catch((error) => {
  console.error(error);
});
  • オプションのパラメータを追加 reconnectRtcId メディアへ enable() 関数を呼び出してメディアを再接続する。
conversation.media.enable({ reconnectRtcId: "UUID" }).then((stream) => {
  console.log(stream)
}).catch((error) => {
  console.error("error renabling media", error);
});
  • 追加 custom_data オブジェクト callServer 機能
application.callServer("<phone_number>", "phone", { field1: "test" }).then((nxmCall) => {
  console.log(nxmCall);
}).catch((error) => {
  console.error(error);
});
  • 追加 apiKey, applicationId, conversationId そして conversationName で利用可能な場合 rtcstats 分析レポート

修正

  • 通話転送のバグを修正しました。 transferred_from 未定義だった

バージョン8.0.5 - 2021年7月15日

修正

  • を修正する。 from 会員向けイベント
  • 更新 npm を含む依存関係 socket-io

バージョン8.0.4 - 2021年6月16日

修正

  • のバグを修正 DTMF へのコールバックのディスパッチ event_url

バージョン8.0.3 - 2021年5月18日

修正

  • イベント・キューにおける内部イベント処理の順番が狂っていたのを修正。
  • の非推奨警告メッセージを修正した。 rtcstats:report

バージョン8.0.1 - 2021年4月29日

修正

  • Typescript定義の更新
  • ネイティブSDKを含むIP-IPコールシナリオのバグを修正しました。 Conversation.members 地図)

バージョン8.0.0 - 2021年4月27日

変化への対応

  • 非推奨 Conversation.members マップ(通話シナリオでのみ入力される)
  • 会話イベントは、メンバーのサブセット情報とともに発信される。
conversation.on("any:event", ({memberId, userId, userName, displayName, imageUrl, customData}, event) => {});

変更点

  • ページ分割の追加 getMembers() 会話のメンバーを取得する関数
conversation.getMembers().then((members_page) => {
  members_page.items.forEach(member => {
    render(member);
  })
}).catch((error) => {
  console.error("error getting the members ", error);
});
  • 追加 getMyMember() 関数を使用して、会話中の自分自身のメンバーを取得する。
conversation.getMyMember().then((member) => {
  render(member);
}).catch((error) => {
  console.error("error getting my member", error);
});
  • 追加 getMember() 関数を使って会話メンバーをフェッチする。 member_id
conversation.getMember("MEM-id").then((member) => {
  render(member);
}).catch((error) => {
  console.error("error getting member", error);
});

バージョン7.1.0 - 2021年04月07日

変更点

  • rtcstats:report は非推奨です。以下を使用してください。 rtcstats:analyticsその代わり
  • リモートログ用のログレポーターを追加
  • カスタムの追加 getStats パーサー
  • 削除 callstats ライブラリと実装

バージョン7.0.2 - 2021年3月30日

修正

  • アプリケーションがオフラインで通話が切断された場合、「call:status:update」イベントを発行する。

バージョン7.0.1 - 2021年02月04日

修正

  • 通話状態遷移時の不要な警告メッセージを削除

バージョン7.0.0 - 2021年02月02日

変化への対応

  • legs エンドポイントは acl パス JWT トークン作成
"acl": {
  "paths": {
    ...
    "/*/legs/**": {}
  }
}

変更点

  • 改善 callServer 脚の予熱によるセットアップ時間
  • を追加する。 rtcObject およびリモート stream に対する NxmCall オブジェクト

修正

  • 戻る ClientDisconnected クライアントがSDKからログアウトする理由

バージョン6.2.1 - 2020年12月24日

修正

  • 6.2.0-alphaから6.1.1に戻す

バージョン6.1.2 - 2020年12月24日

修正

  • Typescript定義の更新

バージョン6.1.1 - 2020年12月09日

修正

  • Typescript定義の更新

バージョン6.1.0 - 2020年12月01日

変更点

  • 追加 enableEventsQueue フラグをクライアント設定に追加する (デフォルトは true)
  • 内部の追加 eventsQueue セッション中に受信したイベントの順序を保証するメカニズム

バージョン6.0.19 - 2020年11月26日

変更点

  • 更新 reconnectionDelay への 2000socket.io
  • 追加 randomizationFactor への 0.55socket.io

バージョン6.0.18 - 2020年11月19日

変更点

  • ドキュメントの更新

修正

  • 追加 reconnectionDelay を3000に、そして reconnectionDelayMax で15000ドル socket.io

バージョン6.0.17 - 2020年11月12日

修正

  • 再接続後のセッションIDの更新

バージョン6.0.16 - 2020年10月12日

修正

  • 派遣 system:error:expired-token アプリケーションレベルのイベント
  application.on('system:error:expired-token', 'NXM-errors', () => {
    console.log('Token Expired');
  });
  • の捕捉されなかった例外を処理する。 conversation:error:invalid-member-state イベント

バージョン6.0.15 - 2020年9月21日

修正

  • SDKのデフォルトを単一のプリセットICE候補に設定
  • 削除 iceGatherOnlyOneCandidate クライアント設定からのフラグ

バージョン6.0.13 - 2020年9月14日

修正

  • トークン失効に伴うウェブソケット再接続ロジックの更新

バージョン6.0.12 - 2020年9月01日

修正

  • メディアを有効にして解決されたストリームを更新

バージョン6.0.11 - 2020年9月01日

変更点

  • ウェブソケット再接続ロジックの更新
  • 氷の候補を1つ送信した際のメディア接続確立の遅延を修正

バージョン6.0.10 - 2020年05月04日

修正

  • IPv6候補のフィルタリング iceGatherOnlyOneCandidate SDPオファー

バージョン6.0.9 - 2020年3月24日

修正

  • のハンドラを修正した。 rtc:transfer 会話をリフレッシュするイベント

バージョン6.0.8 - 2020年2月28日

修正

  • IPコール時に送信されるwebrtcオファーの重複を修正
  • サファリを修正 WebRTC 従属

バージョン6.0.7 - 2020年1月16日

修正

  • IP - IP 通話の ANSWERED 通話ステータスの修正
  • ドキュメントの問題を修正

変更点

  • TypeScript定義の改善

バージョン6.0.6 - 2019年11月19日

修正

  • 追加 iceGatherOnlyOneCandidate 設定オプションを使って ICE gathering プロセス

バージョン6.0.5 - 2019年11月19日

修正

  • スタイリングの更新 JSDocs への Docstrap テンプレート
  • 変更 RTCPeerConnection ICE candidates セッション記述プロトコル(SDP)最初のオファー ICE 集まった候補者

バージョン6.0.4 - 2019年11月14日

修正

  • 通話を新しい会話に転送した後、残っているオーディオエレメントを削除する
  • 更新 conversation.invite() 空の user_id または user_name リクエスト内の

バージョン6.0.3 - 2019年10月22日

新しい

  • TypeScript定義ファイルの追加

変更点

  • のコンソールに、カスタマイズされたロギング・レベルのオプションを追加した。 debug, info, warnあるいは error.
new NexmoClient({
  debug: 'info'
})
  • JWTトークンの保存場所を localStorage への NexmoClient 構成オブジェクト
  • NPMリリースパッケージから不要なファイルを削除。

修正

  • 転送時の通話ステータスの順序を修正

バージョン6.0.1 - 2019年9月27日

変更点

  • 削除 media.record() 機能
  • 会話やイベントの保存に使用されていたキャッシュオプションをSDKから削除
  • 全個人の自動同期を削除 conversations ログイン時に synclite または full

バージョン6.0.0 - 2019年9月13日

変化への対応

  • の戻り値を変更する。 application.getConversations() 新しい ConversationsPage オブジェクト
// iterate through conversations
application
  .getConversations({ page_size: 20 })
  .then((conversations_page) => {
    conversations_page.items.forEach(conversation => {
      render(conversation);
    })
  });
  • の戻り値を変更する。 conversation.getEvents() 新しい EventsPage オブジェクト
// iterate through events
conversation
  .getEvents({ event_type: `member:*` })
  .then((events_page) => {
    events_page.items.forEach(event => {
      render(event);
    })
  });
  • リネーム・メソッド application.callPhone への application.callServer
  • リネーム・メソッド application.call への application.inAppCall
  • リネーム・メソッド call.createPhoneCall への call.createServerCall
  • クラス名の変更 Call への NXMCall
  • クラス名の変更 ConversationClient への NexmoClient
  • クラス名の変更 ConversationClientError への NexmoClientError
  • ファイル名の変更 conversationClient.js そして conversationClient.min.js への nexmoClient.js そして nexmoClient.min.js
  • 非推奨 member:call:state イベント(代わりに member:call:status)
  • ウェブソケット再接続時の自動ログインを解除し、イベントを発行する。

新しい

  • 会話でカスタムイベントタイプを送信およびリッスンする。
//sending a custom event type to a conversation
conversation
  .sendCustomEvent({type: `my_custom_event`, body: { enabled: true }})
  .then((custom_event) => {
    console.log(event.body);
  });
//listening for a custom event type
conversation.on(`my_custom_event`, (from, event) => {
  console.log(event.body);
});
  • 新規追加 PageConfig ページ分割リクエストの設定を行うクラス
  • 新規追加 Page ページ分割されたリクエストの結果をラップするクラス
  • ConversationClientの初期化に、会話とイベントに対するデフォルトのページネーション設定を追加する。
  • を使用したイベントタイプによるフィルタリングに対応したワイルドカードを追加した。 :* (例えば event_type: member:*)
new NexmoClient({
  conversations_page_config: {
    page_size: 25,
    order: 'asc'
    cursor: 'abc'
  },
  events_page_config: {
    page_size: 50,
    event_type: `member:*`
  }
})
  • 新規追加 ConversationsPage そして EventsPage を拡張する。 Page 会話やイベントに対するページ分割されたリクエストの結果をラップするクラスです。
  • 追加 getNext() そして getPrev() の方法を説明します。 ConversationsPage そして EventsPage 会話やイベントの前後のページを取得するオブジェクト
  • 追加 conversations_page_last パラメータを application オブジェクトと events_page_last パラメータを conversation 最後に取得したページを参照するためのオブジェクト
application.conversations_page_last
  .getNext((conversations_page) => {
    conversations_page.items.forEach(conversation => {
      render(conversation)
    })
  })
conversation.events_page_last
  .getPrev((events_page) => {
    events_page.items.forEach(event => {
      render(event)
    })
  })
  • を通じてIP-IP電話をかける機能を追加する。 callServer 機能
// IP-IP call scenario
application
  .callServer('username', 'app')
  .then((nxmCall) => {
    // console.log(nxmCall);
  });

// IP-PSTN call scenario
application
  .callServer('07400000000')
  .then((nxmCall) => {
    // console.log(nxmCall);
  });

変更点

  • 更新 reason を受け取る reason.reason_text そして reason.reason_code フィールド

内部変更

  • 名前変更 Event クラスは NXMEvent
  • これらのイベントに対するCAPIリクエストをRESTコールに更新する。
    • event:delivered
    • text:delivered
    • image:delivered
    • event:seen
    • text:seen
    • image:seen
    • conversation:events
    • audio:play
    • conversation:delete
    • conversation:invite
    • text
    • text:typing:on
    • text:typing:off
    • new:conversation
    • conversation:get
    • user:conversations
    • user:get
    • conversation:join
    • audio:say
    • audio:earmuff:on
    • audio:earmuff:off
    • audio:dtmf
    • audio:record
    • audio:play
    • conversation:member:delete
    • event:delete
    • audio:ringing:start
    • audio:ringing:stop
    • audio:mute:on
    • audio:mute:off
    • image
    • rtc:new
    • rtc:answer
    • rtc:terminate
    • knocking:new
    • knocking:delete

バージョン5.3.4 - 2019年7月18日

修正

  • カスタムSDKコンフィグオブジェクトは、デフォルトコンフィグオブジェクトとディープマージを行います。

バージョン5.3.3 - 2019年6月29日

修正

  • で桁を変更する。 sendDTMF() リクエストメソッドのペイロード。
  • コール転送でストリームが終了していない。
  • member:call である場合は、発光していない。 media.audio_settings.enabled は偽か存在しない。

新しい

  • セット member.callStatus への started IP-IPコールを初期化するとき。
  • セット member.callStatus への ringing で呼び出し音を有効にした場合 media.startRinging().

内部変更

  • ストリーム・クリーンアップを member:left への rtc:hangup メディア・モジュールにある。

バージョン5.2.1 - 2019年6月12日

新しい

  • 新しい nexmoGetRequest CSに直接GETネットワーク・リクエストを行うユーティリティ・メソッド:
/**
 * Perform a GET network request directly to CS
 *
 * @param {string} url the request url to CS
 * @param {string} data_type the type of data expected back from the request (events, conversations, users)
 * @param {object} [params] network request params
 * @param {string} [params.cursor] cursor parameter to access the next or previous page of a data set
 * @param {number} [params.page_size] the number of resources returned in a single request list
 * @param {string} [params.order] 'asc' or 'desc' ordering of resources (usually based on creation time)
 * @param {string} [params.event_type] the type of event used to filter event requests ('member:joined', 'audio:dtmf', etc)
 *
 * @returns {Promise<XMLHttpRequest.response>} the XMLHttpRequest.response
 * @static
 * @example <caption>Sending a nexmo GET request</caption>
 */
  nexmoGetRequest(url, data_type, params).then((response) => {
    response.body: {},
    response.cursor: {
        prev: '',
        next: '',
        self: ''
    },
    response.page_size: 10
 });
  • サポート reason にとって member:delete, conversation.leave, member.kick, call.hangup そして call.reject.
  • を聴く。 member:left イベント reason:
//listening for member:left with reason
conversation.on('member:left', (member, event) => {
  console.log(event.body.reason);
});

/**
* Reason object format
*
* @param {object} [reason] the reason for kicking out a member
* @param {string} [reason.code] the code of the reason
* @param {string} [reason.text] the description of the reason
*/
  • 追加 callStatus フィールドの Member オブジェクトで、コールのステータスを定義する。
  • エミット member:call:status イベントが発生するたびに member.callStatus を変更した:
conversation.on("member:call:status", (member) => {
   console.log(member.callStatus);
});

バージョン5.2.0 - 2019年5月30日

新しい

  • を追加する。 call インスタンス application.calls マップイン createCall() 関数 (IP -IPコール)

  • PSTNからのIPコールで、コールオブジェクトの発信者パラメータを更新する。 unknown への channel.from.number または channel.from.uri もしあれば

  • 新しい leg:status:update メンバーレッグのステータスが変更されるたびに

/**
  * Conversation listening for leg:status:update events.
  *
  * @event Conversation#leg:status:update
  *
  * @property {Member} member - the member whose leg status changed
  * @property {Event} event - leg:status:update event
  * @param {string} event.cid - the conversation id
  * @param {string} event.body.leg_id - the conversation leg id
  * @param {string} event.body.type - the conversation leg type (phone or app)
  * @param {string} event.body.status - the conversation member leg status
  * @param {Array} event.body.statusHistory - array of previous leg statuses
*/
conversation.on("leg:status:update", (member, event) {
  console.log(member, event);
});
  • を追加する。 channel.legs CSが提供する会員向けイベントのフィールド
conversation.on(<member_event>, (member, event) {
  console.log(event);
  // member_id: <member_id>,
  // conversation_id: <conversation_id>,
  // ...
  // channel: {
  //  to: {
  //    type: app
  //  },
  //  type: app,
  //  leg_ids: [<leg_id>]
  //  legs : [{ leg_id: <leg_id>, status: <leg_status>}],
  //  leg_settings: {},
  // },
  // state: <state>,
  // leg_ids: []
});

バージョン5.1.0 - 2019年5月29日

新しい

  • 会話にDTMFイベントを送信する
 * Send DTMF in a conversation
 *
 * @param {string} digits - the DTMF digit(s) to send
 * @returns {Promise<Event>}
 conversation.media.sendDTMF('digits')
  • 新しいイベントを発信する audio:dtmf
conversation.on("audio:dtmf",(from, event)=>{
  event.digit // the dtmf digit(s) received
  event.from //id of the user who sent the dtmf
  event.timestamp //timestamp of the event
  event.cid // conversation id the event was sent to
  event.body // additional context about the dtmf
});
  • オーディオを有効にする際に、IPコール用にカスタマイズされたオーディオ制約を設定する
 conversation.media.enable({
    'audioConstraints': audioConstraints
 })
  * Replaces the stream's audio tracks currently being used as the sender's sources with a new one with new audio constraints
  * @param {object} constraints - audio constraints
  * @returns {Promise<MediaStream>} - Returns the new stream with the updated audio constraints.
  * @example
  * conversation.media.updateAudioConstraints({'autoGainControl': true})
  **/
  • 既存のオーディオトラックのオーディオ制約を更新
  conversation.media.updateAudioConstraints(audioConstraints)
 })

修正

  • キャッシュワーカーのイベントハンドラに渡された 'this' を削除する。

内部破断の変更

  • メディアオーディオのパラメータを media.audio への media.audio_settingsinviteWithAudio 機能

バージョン5.0.3 - 2019年5月23日

変更点

  • のデフォルト動作を変更する。 autoPlayAudiomedia.enable() 偽から真へ
  • パス autoPlayAudio パラメータを call.createCall() そして call.answer() 関数(デフォルトはtrue)

バージョン5.0.2 - 2019年5月30日

新しい

  • を送信する前に画像ファイルを削除してください。 image:delete リクエスト
  • オーディオ・ストリームのアタッチ(自動オン/オフ)が選択できるようになりました。 media.enable()
media.enable({
  autoPlayAudio: true | false
})

変更点(社内)

  • ネットワークのGET、POST、DELETEリクエストを1つの汎用関数にまとめる。

バージョン5.0.1 - 2019年4月30日

修正

  • 進行中の会話から離れる前に、ユーザーのメディアをクリーンアップする。

変化への対応

  • 変更 application.conversations タイプ Object への Map

バージョン4.1.0 - 2019年4月26日

修正

  • media.enable()で解決されたオーディオストリームがエコーを引き起こし、リモートストリームではなかったバグを修正。
  • リモートストリームを解決する pc.ontrack() ではなく localStream getUserMedia より

変更点

  • 名前変更 localStream への streammedia.rtcObjects オブジェクトがある。

バージョン4.0.2 - 2019年4月17日

変更点

  • 削除 media.rtcNewPromises

新しい

  • 内部リブの依存関係の更新
  • エラー監視・報告ツールBugsnagのサポートを追加
 * @class ConversationClient
 *
 * @param {object} param.log_reporter configure log reports for bugsnag tool
 * @param {Boolean} param.log_reporter.enabled=false
 * @param {string} param.log_reporter.bugsnag_key your bugsnag api key / defaults to Vonage api key
  • vscodeの設定を更新し、保存時に各ファイルの末尾に空行を追加するようにした。
  • 氷の候補が氷の接続でトリクルするのを無効にする
  • ローカル側とリモート側の両方の候補者がほとんど集まるまで待つ
  • 新しいプライベート関数を追加 editSDPOrder(offer, answer)rtc_helper.js 必要なときにアンサーSDPを並べ替える
  • rtc接続が失敗した場合
    • 足を無効にする
    • 新しいイベントを発する media:connection:fail
member.on("media:connection:fail",(connection_details)=>{
  connection_details.rtc_id // my member's call id / leg id
  connection_details.remote_member_id // the id of the Member the stream belongs to
  connection_details.connection_event: // the connection fail event
  connection_details.type // the type of the connection (video or screenshare)
  connection_details.streamIndex // the streamIndex of the specific stream
});
* @event Member#media:connection:fail
*
* @property {number} payload.rtc_id the rtc_id / leg_id
* @property {string} payload.remote_member_id the id of the Member the stream belongs to
* @property {event} payload.connection_event the connection fail event
  • 新しいライセンス・ファイルを追加する

ブレークチェンジ(社内)

  • アイス・トリッキング・ロジックの廃止 onicecandidate イベントハンドラ
  • のフォーマットを変更する。 member:media イベントからCSが提供する新しいイベントへ
type: 'member:media',
  from: member.member_id,
  conversation_id: member.conversation_id,
  body: {
    media: member.media,
    channel: member.channel
  }
  • のフォーマットを変更する。 member:invited イベントをCSの新しいオファーへ
type: 'member:invited',
  body: {
    media: {
      audio_settings: {
        enabled: false,
        earmuffed: false,
        muted: false
      }
    }
  }

バージョン4.0.1 - 2019年3月4日

新しい

  • ログインプロセスの同期レベルを選択する

    • full会話やイベントを含む完全同期をトリガー
    • lite: 部分的な同期をトリガし、会話オブジェクトのみ (イベントは空)
    • none何も同期しない

    キャッシュモジュールが有効な場合、会話の手動フェッチは内部ストレージに保存されます。

    を使用している:

    new ConverationClient({'sync':'full'});
    

修正

  • rtcstats:report 各コールでインスタンスが重複していた
  • 取り除く screenshare https制限

ブレークチェンジ(社内)

  • 非推奨 application.activeStream今はその一部だ。 application.activeStreams
  • を呼び出すことを許可する制限を削除した。 media.enable() ストリームがアクティブな間

バージョン4.0.0 - 2019年2月1日

変化への対応

  • SDKのリネーム stitch への client
  • リスニング media:stream:* これで streamIndex の代わりに index 内部rtcObjectsとの整合性のため
 * @event Member#media:stream:on
 *
 * @property {number} payload.streamIndex the index number of this stream
 * @property {number} [payload.rtc_id] the rtc_id / leg_id
 * @property {string} [payload.remote_member_id] the id of the Member the stream belongs to
 * @property {string} [payload.name] the stream's display name
 * @property {MediaStream} payload.stream the stream that is activated
 * @property {boolean} [payload.video_mute] if the video is hidden
 * @property {boolean} [payload.audio_mute] if the audio is muted

新しい

  • を起動する際に、画面共有ソース ID を指定できるようになりました。 media.enable()