Anmerkungen zur Veröffentlichung
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.
Version 9.5.1 - 11. Januar 2024
Behebt
- Behebung eines Fehlers bei der Herstellung
networkRequestDaten eine Zeichenkette
Version 9.5.0 - November 21, 2023
Neu
- Unterstützung anstehender Ereignisse (verpasste
member:invited)
Version 9.4.0 - September 04, 2023
Neu
- Unterstützung
ephemeralVeranstaltung
// send ephemeral event
conversation
.sendEphemeralEvent({ state: "INVITED" })
.then((event) => {
console.log(event)
});
Version 9.3.1 - 30. August 2023
Behebt
- Fix
NexmoAPIFehlerumschlag fürv0.3Conversation API-Endpunkte
Anmerkungen zur Veröffentlichung
Version 9.3.1 - 19. Juni 2023
Behebt
- Fix
NexmoAPIFehlerumschlag fürv0.3Conversation API-Endpunkte
Version 9.3.0 - Juni 01, 2023
Neu
- hinzufügen
statezur Abfrage von param fürapplication.getConversations()für dieConversationsPageObjekt
// iterate through conversations
application
.getConversations({ state: "INVITED" })
.then((conversations_page) => {
conversations_page.items.forEach(conversation => {
render(conversation);
})
});
Behebt
- Fixe Typdefinition für
ConversationZeitstempel zum Objekt - Standard
socket.ioAbfragesession_versionzu0.0.1es sei denn,enableInboundOfferFlagge auf true gesetzt, dann standardmäßig auf0.0.2
Version 9.2.6 - Mai 23, 2023
Änderungen
- WS-Wiederverbindungsmetriken hinzufügen
Version 9.2.5 - Mai 23, 2023
Behebt
- Fixe Typdefinition für
enableEventsQueueundenableInboundOffer - hinzufügen
acknowledgeEventsFlagge in der Konfiguration, um die Verfolgung von Websocket-Ereignisbestätigungen zu ermöglichen
Version 9.2.4 - April 19, 2023
Behebt
- Emittierend
reconnectingSocket-Ereignis bei Wiederverbindungsversuch
Version 9.2.3 - 30. März 2023
Änderungen
- Upgrade
socket.io-clientVersion auf 4.6.1
Version 9.2.2 - März 13, 2023
Behebt
- Fix
ConversationEventsProcessormehrmals für dasselbe Gespräch initiiert werden
Version 9.2.0 - Dezember 21, 2022
Änderungen
- hinzufügen
enableInboundOfferFlagge zur Konfiguration für den Aufbau eingehender Anrufe - entfernen
Ice ServersStandard vonwebrtc STUNServer-Einrichtung - Ersetzen Sie
api.nexmoURLs zuapi.vonageURLs
Version 9.1.5 - 24. Oktober 2022
Behebt
- Behebung eines Fehlers bei erneuter Einladung/Beitritt zu einer Unterhaltung
Version 9.1.4 - September 23, 2022
Änderungen
- Verwenden Sie
v2von Nexmo Conversation Websocket
Version 9.1.3 - September 07, 2022
Fix
- Typescript-Moduldefinition korrigieren
Version 9.1.1 - 19. August 2022
Fix
- Korrektur der Ereignisreihenfolge für rtc:transfer bei benannten Unterhaltungen
Version 9.1.0 - 16. August 2022
Neu
- Vorgeladene Medien bei eingehenden Anrufen verwenden (Start
WebRTC iceSammlungsprozess, sobald das Mitglied zu einem Anruf eingeladen wird)
Fix
- entfernen
public-ipBibliothek wegen einer Sicherheitslücke (aktualisiert mitis-ip)
Version 9.0.0 - 30. Juni 2022
Wechselnde Änderungen
- Umbenennen
login()Funktion zucreateSession()
rtc.createSession(token).then((application) => {
console.log(application);
}).catch((error) => {
console.log(error);
});
- Umbenennen
logout()Funktion zudeleteSession()
rtc.deleteSession().then((response) => {
console.log(response);
}).catch((error) => {
console.log(error);
});
Änderungen
- Verschieben Sie die Erstellung von Websocket-Verbindungen in die
createSession()Funktion
Version 8.7.3 - 14. Juni 2022
Änderungen
- Token-Authentifizierung hinzugefügt für
connectivityReport()
rtc.connectivityReport(token, {
dcListCallback: (dcList) => {...dcList, additionalDc}
}).then((report) => {
console.log(report);
}).catch((error) => {
console.log(error);
});
- Token-Authentifizierung hinzugefügt für
checkMediaServers()
rtc.checkMediaServers('token', 'nexmo-api-url','dc').then((responseArray) => {
console.log(responseArray);
}).catch((error) => {
console.log(error);
});
Version 8.7.2 - 27. Mai 2022
Fix
- Ungenutzte npm-Abhängigkeiten wurden entfernt.
Version 8.7.1 - 11. Mai 2022
Neu
- Neu hinzugefügt
checkMediaServers()Methode, um eine Liste mit dem Verbindungsstatus der Medienserver für ein bestimmtes Rechenzentrum zurückzugeben.
rtc.checkMediaServers('nexmo-api-url','dc').then((responseArray) => {
console.log(responseArray);
}).catch((error) => {
console.log(error);
});
- Neu hinzugefügt
checkMediaConnectivity()Methode, um den Verbindungsstatus eines einzelnen Medienservers zu ermitteln.
rtc.checkMediaConnectivity('ip-address','1').then((response) => {
console.log(response);
}).catch((error) => {
console.log(error);
});
Änderungen
- Update
connectivityReport()Rückgabe der Verbindungszeit in ms für Verbindungen zu https-, wss- und Medienservern
Version 8.6.0 - April 21, 2022
Neu
- Ein optionales Objektargument wurde der Funktion
connectivityReport(), mit fakultativem FelddcListCallbackdie eine Callback-Funktion zur Aktualisierung der Liste der Datenzentren akzeptiert
rtc.connectivityReport({
dcListCallback: (dcList) => {...dcList, additionalDc}
}).then((report) => {
console.log(report);
}).catch((error) => {
console.log(error);
});
Version 8.5.0 - April 20, 2022
Neu
- Enthüllen Sie
seen()unddelivered()Funktionen für Nachrichtenereignisse
messageEvent.seen().then(() => {
console.log(`Seen message with id ${messageEvent.id}`);
}).catch((error) => {
console.log(error);
});
- Unterstützung neuer Nachrichtenstatusereignisse
message:seenmessage:deliveredmessage:submittedmessage:rejectedmessage:undeliverable
conversation.on("message:delivered", (member, event) => {
console.log(`Message with id ${event.id} delivered to ${member.name}`);
});
- Neue Statusobjekte für Nachrichtenereignisse hinzugefügt, die die neuen Status unterstützen
seen_bydelivered_tosubmitted_torejected_byundeliverable_to
Änderungen
- Update
connectivityReport()die richtigen Endpunkte pro Region zu verwenden
Version 8.4.1 - 14. Februar 2022
Fix
- Korrektur der Reihenfolge von Ereignissen bei Lücken in eingehenden Ereignissen
Version 8.4.0 - Januar 21, 2022
Neu
- Neu hinzugefügt
connectivityReport()Funktion zum Abrufen eines Konnektivitätsberichts für alle Vonage-Rechenzentren und Medienserver
rtc.connectivityReport().then((report) => {
console.log(report);
}).catch((error) => {
console.log(error);
});
Version 8.3.1 - Dezember 09, 2021
Neu
- Legen Sie die Standard-Synchronisationsstufe für den Anmeldevorgang von
litezunone
Version 8.3.0 - November 01, 2021
Neu
- Neu hinzugefügt
uploadImage()Funktion zum Hochladen eines Bildes in den 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);
});
- Neu hinzugefügt
sendMessage()Funktion zum Senden einer neuenmessagezur Konversation (unterstützte Typen sindtext,image,audio,videoundfile)
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);
});
- Neu hinzugefügt
MessageEventArt der Veranstaltung
conversation.on("message", (member, messageEvent) => {
console.log(messageEvent);
});
Änderungen
- Verwerfen Sie
sendText()Funktion (VerwendungsendMessage()mit einem Typ vontextstattdessen)
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);
});
- Verwerfen Sie
sendImage()Funktion (VerwendunguploadImage()undsendMessage()mit einem Typ vonimagestattdessen)
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);
});
Version 8.2.5 - 12. Oktober 2021
Fix
- Fehlerbehandlung für Audio-Berechtigungen korrigiert
Version 8.2.2 - Oktober 08, 2021
Fix
- Verbesserte Debug-Protokolle
Version 8.2.0 - September 28, 2021
Neu
- Neu hinzufügen
getUserSessions()Funktion zum Abrufen der Sitzungen des angemeldeten Benutzers
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);
});
Version 8.1.1 - September 08, 2021
Neu
- Neue Option hinzufügen
mediaParamsParameter inreconnectCallFunktion, um dieMediaStreamObjekt
application.reconnectCall(
"conversation_id",
"rtc_id",
{ audioConstraints: { deviceId: "device_id" } }
).then((nxmCall) => {
console.log(nxmCall);
}).catch((error) => {
console.error(error);
});
- Update
media.enable()Dokumente zur Aufnahme von Audiobeschränkungen
Behebt
- Weisen Sie die richtige
NXMCallStatus bei der Wiederverbindung mit einem Anruf (STARTED,RINGINGoderANSWERED)
Änderungen
- Update
npmAbhängigkeiten
Version 8.1.0 - September 02, 2021
Neu
- hinzufügen
reconnectCallFunktion, die es den Nutzern ermöglicht, sich innerhalb von 20 Sekunden wieder mit einem Anruf zu verbinden, wenn die Browser-Registerkarte geschlossen wird
application.reconnectCall("conversation_id", "rtc_id").then((nxmCall) => {
console.log(nxmCall);
}).catch((error) => {
console.error(error);
});
- Optionalen Parameter hinzufügen
reconnectRtcIdan Medienenable()Funktion zum erneuten Verbinden von Medien zum Aufruf
conversation.media.enable({ reconnectRtcId: "UUID" }).then((stream) => {
console.log(stream)
}).catch((error) => {
console.error("error renabling media", error);
});
- hinzufügen
custom_dataObjekt incallServerFunktion
application.callServer("<phone_number>", "phone", { field1: "test" }).then((nxmCall) => {
console.log(nxmCall);
}).catch((error) => {
console.error(error);
});
- hinzufügen
apiKey,applicationId,conversationIdundconversationNamewenn verfügbar inrtcstatsAnalyseberichte
Behebt
- Fehler bei der Anrufweiterleitung behoben, bei dem
transferred_fromwar undefiniert
Version 8.0.5 - 15. Juli 2021
Behebt
- Reparieren Sie die
fromfür Mitgliederveranstaltungen - Update
npmAbhängigkeiten einschließlichsocket-io
Version 8.0.4 - 16. Juni 2021
Behebt
- Fehler beheben bei
DTMFVersand des Rückrufs anevent_url
Version 8.0.3 - Mai 18, 2021
Behebt
- Behebung der fehlerhaften Reihenfolge bei der Verarbeitung interner Ereignisse in der Ereigniswarteschlange
- Korrektur der Warnmeldung für die Veralterung von
rtcstats:report
Version 8.0.1 - 29. April 2021
Behebt
- Aktualisieren der Typescript-Definitionen
- Behebung eines Fehlers bei IP-IP-Anrufszenarien mit nativen SDKs (nicht korrektes Auffüllen der
Conversation.membersKarte)
Version 8.0.0 - 27. April 2021
Wechselnde Änderungen
- Verwerfen Sie
Conversation.membersKarte (sie wird nur bei einem Anrufszenario ausgefüllt) - Konversationsereignisse werden mit einer Teilmenge der Informationen des Mitglieds ausgegeben
conversation.on("any:event", ({memberId, userId, userName, displayName, imageUrl, customData}, event) => {});
Änderungen
- Paginiert hinzufügen
getMembers()Funktion zum Abrufen der Mitglieder einer Unterhaltung
conversation.getMembers().then((members_page) => {
members_page.items.forEach(member => {
render(member);
})
}).catch((error) => {
console.error("error getting the members ", error);
});
- hinzufügen
getMyMember()Funktion, um unser eigenes Mitglied in einer Konversation abzurufen
conversation.getMyMember().then((member) => {
render(member);
}).catch((error) => {
console.error("error getting my member", error);
});
- hinzufügen
getMember()Funktion zum Abrufen eines Gesprächsmitglieds durchmember_id
conversation.getMember("MEM-id").then((member) => {
render(member);
}).catch((error) => {
console.error("error getting member", error);
});
Version 7.1.0 - April 07, 2021
Änderungen
rtcstats:reportist veraltet. Bitte verwenden Siertcstats:analyticsstattdessen
application.on('rtcstats:analytics', ({
type: 'mos' || 'mos_report',
mos: string,
rtc_id: string,
mos_report?: {
average: string,
last: string,
max: string,
min: string
},
report?: RTCStatsReport
}) => {}
- Logs Reporter für Fernprotokollierung hinzufügen
- Benutzerdefiniert hinzufügen
getStatsParser - entfernen
callstatsBibliothek und Implementierung
Version 7.0.2 - 30. März 2021
Behebt
- Senden des Ereignisses "call:status:update", wenn die Anwendung offline ist und die Verbindung getrennt wurde
Version 7.0.1 - Februar 04, 2021
Behebt
- Unnötige Warnmeldung bei Anrufstatusübergängen entfernen
Version 7.0.0 - Februar 02, 2021
Wechselnde Änderungen
legsEndpunkt sollte aufgenommen werden inaclPfade aufJWTToken-Erstellung
"acl": {
"paths": {
...
"/*/legs/**": {}
}
}
Änderungen
- Verbessern Sie
callServerEinrichtungszeit durch Vorwärmen der Beine - Fügen Sie die
rtcObjectund ferngesteuertstreamzumNxmCallObjekt
Behebt
- Rückkehr
ClientDisconnectedGrund für die Abmeldung des Kunden vom SDK
Version 6.2.1 - 24. Dezember 2020
Behebt
- Zurückkehren zu 6.1.1 von 6.2.0-alpha
Version 6.1.2 - 24. Dezember 2020
Behebt
- Aktualisieren der Typescript-Definitionen
Version 6.1.1 - Dezember 09, 2020
Behebt
- Aktualisieren der Typescript-Definitionen
Version 6.1.0 - Dezember 01, 2020
Änderungen
- hinzufügen
enableEventsQueueFlagge in der Client-Konfiguration (Standardwert: true) - Intern hinzufügen
eventsQueueMechanismus zur Gewährleistung der Reihenfolge der während einer Sitzung empfangenen Ereignisse
Version 6.0.19 - 26. November 2020
Änderungen
- Update
reconnectionDelayzu2000insocket.io - hinzufügen
randomizationFactorzu0.55insocket.io
Version 6.0.18 - 19. November 2020
Änderungen
- Dokumentation aktualisieren
Behebt
- hinzufügen
reconnectionDelayauf 3000 undreconnectionDelayMaxauf 15000 insocket.io
Version 6.0.17 - 12. November 2020
Behebt
- Sitzungsnummer nach erneuter Verbindung aktualisieren
Version 6.0.16 - 12. Oktober 2020
Behebt
- Versenden
system:error:expired-tokenEreignis auf Anwendungsebene
application.on('system:error:expired-token', 'NXM-errors', () => {
console.log('Token Expired');
});
- Behandeln Sie nicht abgefangene Ausnahmen von
conversation:error:invalid-member-stateVeranstaltung
Version 6.0.15 - September 21, 2020
Behebt
- SDK-Standard auf einen einzigen voreingestellten ICE-Kandidaten setzen
- entfernen
iceGatherOnlyOneCandidateFlagge aus der Client-Konfiguration
Version 6.0.13 - 14. September 2020
Behebt
- Aktualisierung der Websocket-Wiederverbindungslogik bei Ablauf des Tokens
Version 6.0.12 - September 01, 2020
Behebt
- Aufgelösten Stream auf Medienfreigabe aktualisieren
Version 6.0.11 - September 01, 2020
Änderungen
- Aktualisieren der Logik für die Wiederverbindung mit dem Websocket
- Behebung der Verzögerung beim Aufbau der Medienverbindung mit einem gesendeten Eiskandidaten
Version 6.0.10 - Mai 04, 2020
Behebt
- Filtern von IPv6-Kandidaten aus
iceGatherOnlyOneCandidateSDP-Angebot
Version 6.0.9 - 24. März 2020
Behebt
- Fixer Handler von
rtc:transferVeranstaltung zur Auffrischung des Gesprächs
Version 6.0.8 - 28. Februar 2020
Behebt
- Behebung des doppelten webrtc-Angebots, das bei IP-Anrufen gesendet wird
- Safari reparieren
WebRTCAbhängigkeiten
Version 6.0.7 - 16. Januar 2020
Behebt
- Fix ANSWERED call status in IP - IP calling
- Dokumentationsprobleme beheben
Änderungen
- Verbesserung der TypeScript-Definitionen
Version 6.0.6 - 19. November 2019
Behebt
- hinzufügen
iceGatherOnlyOneCandidateund verwenden Sie diese Option, um den Pfad inICE gatheringProzess
Version 6.0.5 - 19. November 2019
Behebt
- Aktualisieren Sie das Styling von
JSDocszuDocstrapVorlage - Ändern Sie
RTCPeerConnection ICE candidatesSammlungsprozess zum Senden des Session Description Protocol (SDP) Angebot auf der erstenICEgesammelte Bewerber
Version 6.0.4 - 14. November 2019
Behebt
- Entfernen Sie verbleibende Audioelemente, nachdem Sie einen Anruf an ein neues Gespräch übergeben haben
- Update
conversation.invite()keine leerenuser_idoderuser_nameFelder in den Anfragen
Version 6.0.3 - 22. Oktober 2019
Neu
- TypeScript-Definitionsdateien hinzugefügt
Änderungen
- Optionen für benutzerdefinierte Protokollierungsstufen in der Konsole von
debug,info,warn, odererror.
new NexmoClient({
debug: 'info'
})
- Verschiebung der Speicherung des JWT-Tokens von
localStoragezuNexmoClientKonfigurationsobjekt - Unnötige Dateien aus dem NPM-Release-Paket entfernt
Behebt
- Feste Reihenfolge der Anrufstatus bei einer Übergabe
Version 6.0.1 - 27. September 2019
Änderungen
- Entfernt
media.record()Funktion - Cache-Option aus dem SDK entfernt, die zum Speichern von Unterhaltungen und Ereignissen verwendet wird
- Die automatische Synchronisierung aller einzelnen
conversationsbei der Anmeldung, wennsyncistliteoderfull
Version 6.0.0 - 13. September 2019
Wechselnde Änderungen
- Ändern Sie den Rückgabewert von
application.getConversations()zu neuConversationsPageObjekt
// iterate through conversations
application
.getConversations({ page_size: 20 })
.then((conversations_page) => {
conversations_page.items.forEach(conversation => {
render(conversation);
})
});
- Ändern Sie den Rückgabewert von
conversation.getEvents()zu neuEventsPageObjekt
// iterate through events
conversation
.getEvents({ event_type: `member:*` })
.then((events_page) => {
events_page.items.forEach(event => {
render(event);
})
});
- Methode umbenennen
application.callPhonezuapplication.callServer - Methode umbenennen
application.callzuapplication.inAppCall - Methode umbenennen
call.createPhoneCallzucall.createServerCall - Klasse umbenennen
CallzuNXMCall - Klasse umbenennen
ConversationClientzuNexmoClient - Klasse umbenennen
ConversationClientErrorzuNexmoClientError - Dateien umbenennen
conversationClient.jsundconversationClient.min.jszunexmoClient.jsundnexmoClient.min.js - Verwerfen Sie
member:call:stateEreignis (verwenden Sie stattdessenmember:call:status) - Entfernen Sie die automatische Anmeldung im Falle einer erneuten Websocket-Verbindung und geben Sie das Ereignis aus
Neu
- Senden und Abhören von benutzerdefinierten Ereignistypen in einer Konversation.
//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);
});
- Neu hinzufügen
PageConfigKlasse zur Konfiguration von Einstellungen für paginierte Anfragen - Neu hinzufügen
PageKlasse zum Verpacken der Ergebnisse von paginierten Anfragen - Hinzufügen einer Standard-Paginierungskonfiguration für Unterhaltungen und Ereignisse in der Initialisierung des ConversationClient
- Hinzufügen eines Platzhalters für die Filterung nach Ereignistypen mit
:*(zum Beispielevent_type:member:*)
new NexmoClient({
conversations_page_config: {
page_size: 25,
order: 'asc'
cursor: 'abc'
},
events_page_config: {
page_size: 50,
event_type: `member:*`
}
})
- Neu hinzufügen
ConversationsPageundEventsPagedie diePageKlasse zum Verpacken der Ergebnisse von paginierten Anfragen für Unterhaltungen und Ereignisse - hinzufügen
getNext()undgetPrev()Methoden zurConversationsPageundEventsPageObjekte zum Abrufen der vorherigen und nächsten Seiten von Gesprächen und Ereignissen - hinzufügen
conversations_page_lastParameter zuapplicationObjekt undevents_page_lastParameter zuconversationObjekt für den Verweis auf die zuletzt abgerufene Seite
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)
})
})
- Hinzufügen der Möglichkeit, einen IP-IP-Anruf über
callServerFunktion
// 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);
});
Änderungen
- Update
reasonObjekt zu empfangenreason.reason_textundreason.reason_codeFelder
Interne Änderungen
- Umbenennen
EventKlasse zuNXMEvent - Aktualisierung der CAPI-Anfragen zu REST-Aufrufen für diese Ereignisse
event:deliveredtext:deliveredimage:deliveredevent:seentext:seenimage:seenconversation:eventsaudio:playconversation:deleteconversation:invitetexttext:typing:ontext:typing:offnew:conversationconversation:getuser:conversationsuser:getconversation:joinaudio:sayaudio:earmuff:onaudio:earmuff:offaudio:dtmfaudio:recordaudio:playconversation:member:deleteevent:deleteaudio:ringing:startaudio:ringing:stopaudio:mute:onaudio:mute:offimagertc:newrtc:answerrtc:terminateknocking:newknocking:delete
Version 5.3.4 - 18. Juli 2019
Behebt
- Benutzerdefiniertes SDK-Konfigurationsobjekt führt eine tiefe Verschmelzung mit dem Standard-Konfigurationsobjekt durch
Version 5.3.3 - 29. Juni 2019
Behebt
- Ändern Sie Ziffern zu Ziffer in der
sendDTMF()Nutzdaten der Anfragemethode. - Der Stream wird bei einer Rufumleitung nicht beendet.
member:callnicht ausgegeben wird, wennmedia.audio_settings.enabledfalsch ist oder nicht existiert.
Neu
- Satz
member.callStatuszustartedbei der Initialisierung eines IP-IP-Anrufs. - Satz
member.callStatuszuringingbeim Aktivieren des Klingelns mitmedia.startRinging().
Interne Änderungen
- Verschieben Sie die Streambereinigung von
member:leftzurtc:hangupim Modul Medien.
Version 5.2.1 - 12. Juni 2019
Neu
- Fügen Sie die neue
nexmoGetRequestUtility-Methode, um eine GET-Netzwerkanfrage direkt an CS zu stellen:
/**
* 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
});
- Unterstützung
reasonfürmember:delete,conversation.leave,member.kick,call.hangupundcall.reject. - Hören Sie auf die
member:leftVeranstaltung mitreason:
//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
*/
- hinzufügen
callStatusFeld in derMemberObjekt, das den Status eines Anrufs definiert. - Senden Sie
member:call:statusEreignis jedes Mal, wenn diemember.callStatusÄnderungen:
conversation.on("member:call:status", (member) => {
console.log(member.callStatus);
});
Version 5.2.0 - 30. Mai 2019
Neu
Fügen Sie die
callInstanz inapplication.callsKarte increateCall()Funktion (IP-IP-Aufruf)Aktualisierung der Anruferparameter im Anrufobjekt bei einem PSTN-IP-Anruf von
unknownzuchannel.from.numberoderchannel.from.uriwenn vorhandenSenden Sie die neue
leg:status:updateEreignis jedes Mal, wenn sich der Status eines Mitglieds ändert
/**
* 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);
});
- Fügen Sie die
channel.legsBereich der von der CS angebotenen Mitgliederveranstaltungen
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: []
});
Version 5.1.0 - 29. Mai 2019
Neu
- DTMF-Ereignis an ein Gespräch senden
* Send DTMF in a conversation
*
* @param {string} digits - the DTMF digit(s) to send
* @returns {Promise<Event>}
conversation.media.sendDTMF('digits')
- Neues Ereignis aussenden
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
});
- Festlegen von benutzerdefinierten Audiobeschränkungen für IP-Anrufe bei der Aktivierung von Audio
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})
**/
- Aktualisieren von Audiobedingungen für vorhandene Audiospuren
conversation.media.updateAudioConstraints(audioConstraints)
})
Behebt
- Entfernen von 'this', das an den Cache-Worker-Event-Handler übergeben wird
Interne bahnbrechende Änderungen
- Ändern Sie den Medien-Audio-Parameter von
media.audiozumedia.audio_settingsininviteWithAudioFunktion
Version 5.0.3 - 23. Mai 2019
Änderungen
- Ändern Sie das Standardverhalten von
autoPlayAudioinmedia.enable()von falsch nach wahr - Pass an
autoPlayAudioParameter zucall.createCall()undcall.answer()Funktionen (Standard ist true)
Version 5.0.2 - 30. Mai 2019
Neu
- Löschen Sie die Bilddateien, bevor Sie die
image:deleteAnfrage - Das Anhängen von Audiostreams kann nun über die Option "Automatisch ein- oder ausschalten" ausgewählt werden.
media.enable()
media.enable({
autoPlayAudio: true | false
})
Änderungen (intern)
- Kombinieren Sie die GET-, POST- und DELETE-Anforderungen des Netzes in einer generischen Funktion
Version 5.0.1 - 30. April 2019
Behebt
- Bereinigen Sie die Medien des Benutzers, bevor Sie ein laufendes Gespräch verlassen.
Wechselnde Änderungen
- Ändern Sie
application.conversationsTyp vonObjectzuMap
Version 4.1.0 - 26. April 2019
Behebt
- Fehler behoben, bei dem der in media.enable() aufgelöste Audiostream ein Echo verursacht und nicht der Remote-Stream war
- Lösen Sie den entfernten Stream auf
pc.ontrack()und nicht dielocalStreamvon getUserMedia
Änderungen
- Umbenennen
localStreamzustreaminmedia.rtcObjectsObjekt.
Version 4.0.2 - 17. April 2019
Änderungen
- Entfernt
media.rtcNewPromises
Neu
- Aktualisierung der internen Lib-Abhängigkeiten
- Unterstützung für das Fehlerüberwachungs- und Berichtstool Bugsnag hinzugefügt
* @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
- Die Vscode-Einstellungen wurden aktualisiert, so dass beim Speichern am Ende jeder Datei eine Leerzeile hinzugefügt wird (falls keine vorhanden ist)
- Deaktivieren Sie den Anschluss der Eiskandidaten, die Eis einrieseln lassen
- Warten Sie, bis die meisten Kandidaten sowohl für die lokale als auch für die entfernte Seite beisammen sind
- Neue private Funktion hinzugefügt
editSDPOrder(offer, answer)inrtc_helper.jsdie SDP-Antwort neu zu ordnen, wenn sie benötigt wird - Für rtc-Verbindungsfehlerstatus
- Bein deaktivieren
- neues Ereignis auslösen
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
- Neue LICENCE-Datei hinzufügen
Änderungen (intern)
- Verwerfung der Eis-Tropf-Logik mit
onicecandidateEreignisbehandler - Ändern Sie das Format von
member:mediaVeranstaltung auf die neue von CS angebotene
type: 'member:media',
from: member.member_id,
conversation_id: member.conversation_id,
body: {
media: member.media,
channel: member.channel
}
- Ändern Sie das Format von
member:invitedVeranstaltung zum neuen Angebot von CS
type: 'member:invited',
body: {
media: {
audio_settings: {
enabled: false,
earmuffed: false,
muted: false
}
}
}
Version 4.0.1 - 4. März 2019
Neu
Wählen Sie die Synchronisationsstufe für den Anmeldevorgang
full: vollständige Synchronisierung auslösen, um Unterhaltungen und Ereignisse einzubeziehenliteTeilweise Synchronisation auslösen, nur Konversationsobjekte (leer von Ereignissen)none: nichts synchronisieren
wenn das Cache-Modul aktiviert ist, wird das manuelle Abrufen einer Konversation diese im internen Speicher ablegen
Verwendung:
new ConverationClient({'sync':'full'});
Behebt
rtcstats:reportInstanzen bei jedem Aufruf dupliziert hat- entfernen
screensharehttps-Beschränkung
Änderungen (intern)
- Abgelehnt
application.activeStreamjetzt ist es Teil vonapplication.activeStreams - Aufhebung der Einschränkung, dass der Aufruf von
media.enable()während ein Stream aktiv ist
Version 4.0.0 - 1. Februar 2019
Wechselnde Änderungen
- SDK umbenennen
stitchzuclient - Hören auf
media:stream:*gibt nunstreamIndexanstelle vonindexfür die Konsistenz mit den internen 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
Neu
- Die Screen Share Source ID kann nun beim Aufruf von
media.enable()