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.
4.1.3 - 15. September 2022
Festgelegt
- Fix
NexmoMessagegesehene und zugestellte Warteschlangenverarbeitung
4.1.2 - Aug 10, 2022
Festgelegt
- Clientkonfiguration logLevel für http-Protokollierung verwenden
4.1.1 - Mai 25, 2022
Festgelegt
- Fix
NexmoMessageSerialisierung - Korrektur der Fehlerbehandlung in
NexmoClient.getConversation()wenn er nicht Mitglied ist.
4.1.0 - Mai 11, 2022
Hinzugefügt
- Unterstützung für
call:transferinnerhalbNexmoCall - Hinzugefügt
NexmoLegTransferEventmit Angaben zum vorherigen und aktuellen Gespräch, wenn ein Anruf weitergeleitet wird - Hinzugefügt
CallEventListenerzu erhaltenNexmoLegTransferEventmit neuen Mitgliedern, wenn ein Anruf an ein neues Gespräch übergeben wird.
NexmoCallEventListener callEventListener = new NexmoCallEventListener() {
@Override
public void onLegTransfer(NexmoLegTransferEvent event, NexmoMember member) {
Log.d(TAG, "Call Transferred");
}
};
- Enthüllen Sie
pushNotificationTTLamNexmoClient.Builder()Pegel zur Einstellung des registrierten Geräts Push TTL - Neue öffentliche Veranstaltungen
NexmoSubmittedEvent,NexmoRejectedEventundNexmoUndeliverableEventfür Nachrichtenzustände. - Neue Zuhörer für den Nachrichtenstatus hinzugefügt zu
NexmoMessageEventListenerSchnittstelle.
NexmoCallEventListener messageEventListener = new NexmoMessageEventListener() {
@Override
public void onSubmittedReceipt(@NonNull NexmoSubmittedEvent event) {
Log.d("onSubmittedReceipt", "Got [" + event + "] from:" + event.getFromMember());
}
@Override
public void onRejectedReceipt(@NonNull NexmoRejectedEvent event) {
Log.d("onSubmittedReceipt", "Got [" + event + "] from:" + event.getFromMember());
}
@Override
public void onUndeliverableReceipt(@NonNull NexmoUndeliverableEvent event) {
Log.d("onSubmittedReceipt", "Got [" + event + "] from:" + event.getFromMember());
}
};
4.0.4 - 14. Apr. 2022
Festgelegt
- Änderung der Zeitstempelvorgabe von der lokalen Zeitzone auf UTC
4.0.3 - Apr 4, 2022
Festgelegt
- Es wurde eine Prüfung hinzugefügt, um sicherzustellen, dass der Benutzer während der Einrichtung eines ausgehenden Vorwärmanrufs angemeldet ist.
- Der Standardzeitstempel wurde auf UTC ohne Zeitzone geändert.
4.0.2 - 9. März 2022
Erweiterungen
- WebRTC-Abhängigkeit auf Version aktualisiert
84.0.22.
4.0.1 - Jan 21, 2022
Festgelegt
- Überprüfung hinzugefügt, um sicherzustellen, dass der Benutzer angemeldet ist, bevor das SDK versucht, das Push-Ereignis zu verarbeiten.
4.0.0 - 7. Dezember 2021
Hinzugefügt
NexmoConversation.sendMessage(message, listener)zu sendenNexmoMessagezu einem Gespräch.NexmoClient.uploadAttachment(attachment, listener)Methode zum SendenNexmoAttachmentType.NexmoMessagestellt eine Nachricht vonEMessageEventTypeTyp zu senden.EMessageEventTypefür Nachrichten des Typstext,image,audio,video,file,template,vcard,customundlocation.NexmoChannelTypehinzugefügte Kanäle des Typssms,mms,whatsapp,viberundmessenger.NexmoAttachmentTypeum eine angehängte Nachricht zum Vonage Media Service hochzuladen.NexmoMessageEventrepräsentiert das Statusereignis der Mitgliedsnachricht, das in dieNexmoMemberMessageStatusEventListener.
Erweiterungen
- WebRTC-Abhängigkeit auf Version aktualisiert
84.0.0.
Abgelehnt
NexmoConversation.sendText(text, listener)Methode. Verwenden SieNexmoConversation.sendMessage(message, listener)Methode an.NexmoConversation.sendAttachment(file, listener)Methode. Verwenden SieNexmoClient.uploadAttachment(attachment, listener)undNexmoConversation.sendMessage(message, listener)Methode an.
3.3.0 - 22. November 2022
Hinzugefügt
NexmoClient.Builder'srestEnvironmentHostPinningundenvironmentHostPinningMethoden hinzugefügt, um HTTP- und Web-Socket-SSL-Pinning zu ermöglichen.NexmoPinningConfig.fromPublicKeys(...)Methode, um eine auf einem öffentlichen Schlüssel basierende Pinning-Konfiguration zu erstellen.
- Neu
ConnectionStatusReasonFallSSL_PINNING_ERRORwennDisconnectedaufgrund eines ungültigen öffentlichen Schlüssels der Backend-Verbindung.
3.2.0 - 19. Oktober 2021
Hinzugefügt
NexmoClient.Builder.autoMediaReoffer(autoMediaReoffer)um eine automatische Neuverbindung der Medien zu ermöglichen, wenn sich die Netzwerkschnittstellen ändern.EMediaConnectionStateaufzählen.NexmoMediaStatusListenerum eine Benachrichtigung über eine Änderung des Medienverbindungsstatus zu erhalten.NexmoConversation.reconnectMedia()um eine erneute Verbindung zu den Medien auszulösen.NexmoClient.reconnectCall(conversationId, legId, listener)um einen Anruf mit einer Gesprächs- und einer Strecken-ID wieder zu verbinden.NexmoClient.getUserSessions(userId, pageSize, order, listener)um eine paginierte Liste der aktiven Benutzersitzungen abzurufen.
Version 3.1.1 - 18. Oktober 2021
Hinzugefügt
- Steckdose wechseln
connectionListenersvonHashSetzuArraySet.
Version 3.1.0 - 6. September 2021
Hinzugefügt
NexmoClient.inAppCall(username, listener)Methode, um In-App-Aufrufe durchzuführen.NexmoClient.serverCall(callee, customData, listener)Methode, um Serveraufrufe durchzuführen, optional mit der AngabecustomData.
Abgelehnt
NexmoClient.call(callee, callType, listener)Methode.NexmoCallHandleraufzählen.
Version 3.0.1 - 16. Juni 2021
Erweiterungen
- Ein Fehler bei der DTMF-Versendung eines Callbacks zu
event_url - Ein Fehler wurde behoben, der dazu führte, dass Tippereignisse nicht vom Web auf Android übertragen wurden.
Version 3.0.0 - 1. Juni 2021
Hinzugefügt
- Hinzugefügt
NexmoMemberSummaryzurückgegeben vonconversation.getMembers(pageSize, order, listener)(paginiert), die eine Teilmenge der Mitgliederinformationen darstellen. - Hinzugefügt
memberEvent.getInvitedBy()der den Namen des Einladenden darstellt, falls vorhanden. - Hinzugefügt
NexmoEventEmbeddedInfofür alle Ereignisse, die vonevent.getEmbeddedInfo()und enthält dieNexmoUserin Verbindung mit dem Ereignis. - Hinzugefügt
conversation.getMember(memberId, listener)Rückgabe des Mitglieds mit seiner Kennung.
Erweiterungen
- Verbesserung der javadoc-Dokumentation.
- Verbessern Sie
callServerRüstzeit durch Vorwärmen der Beine. - Medien nach RTC-Aufhängungsereignis deaktivieren.
Wechselnde Änderungen
- Entfernt
NexmoCallMember, ersetzt durchNexmoMember. - Entfernt
callMember.getCallStatus(), umgezogen nachcall.getMemberCallStatus(member). - Entfernt
callMember.mute(boolean, listener)verschoben nachmember.enableMute(listener)undmember.disableMute(listener). - Entfernt
callMember.earmuff(boolean, listener)verschoben nachmember.enableEarmuff(listener)undmember.enableEarmuff(listener). - Entfernt
conversation.getAllMembers()verschoben nachconversation.getMembers()(paginiert). - Entfernt
NexmoConversationListener.onMemberUpdated, ersetzt durchNexmoMemberEventListenerdie Folgendes bietenonMemberInvited,onMemberAdded,onMemberRemovedabonniert vonconversation.addMemberEventListener(). - Umbenannt in
call.getCallMembers()zucall.getAllMembers(). - Umbenannt in
call.getMyCallMember()zucall.getMyMember(). - Die
legsEndpunkt sollte aufgenommen werden inaclPfade aufJWTToken-Erstellung.
Version 2.8.1 - 14. Dezember 2020
Erweiterungen
- Wertinkonsistenz bei Attributen behoben
displayNameundimageUrlfürNexmoUserObjekt. - Verbesserte Stabilität von ausgehenden Anrufen und Gesprächen.
Version 2.8.0 - 19. November 2020
Geändert
- Umbenannt in
NexmoCallMemberStatus.CANCELEDzuNexmoCallMemberStatus.CANCELLED.
Erweiterungen
- Angemeldet mit
NexmoCallMemberStatus.CANCELLEDam HöreronMemberStatusUpdated(NexmoCallMemberStatus memberStatus, NexmoCallMember callMember)zum Auflegen des Anrufs.
Version 2.7.1 - 27. Oktober 2020
Erweiterungen
- Verbesserte Stabilität bei ausgehenden Anrufen.
Version 2.7.0 - 24. September 2020
Hinzugefügt
- Entlarven Sie den Grund
NETWORK_ERRORzum VerbindungsstatusDISCONNECTEDfür den HöreronConnectionStatusChange(ConnectionStatus status, ConnectionStatusReason reason).
Version 2.6.5 - 24. August 2020
Erweiterungen
- Verbesserte SDK-Protokollimplementierung und Stabilität der Socket-Verbindung.
Version 2.6.4 - 19. Mai 2020
Neu
- Wir haben unsere Artefakte von dieser Version getrennt, so dass ein benutzerdefiniertes Maven-Repository zum Projekt hinzugefügt werden muss:
Erweiterungen
- Verbessertes Reporting der User-Agent-SDK-Version.
Version 2.6.3 - 4. Mai 2020
Festgelegt
- Geänderte Sichtbarkeit von
Nexmo.page.isPrevPageExist()zupublic.
Version 2.6.2 - 29. April 2020
Festgelegt
- Potenzielle
NullPointerExceptionbei der Verarbeitung von Push-Benachrichtigungen während der Kundenanmeldung.
Version 2.6.1 - 22. April 2020
Hinzugefügt
- Die Schnittstelle freilegen
NexmoDTMFEventListenerum sich für DTMF-Ereignisse aufNexmoConversation.
Version 2.6.0 - 20. April 2020
Hinzugefügt
- Verbindungsstatus offenlegen
isConnectedinNexmoClient.
NexmoClient.get().isConnected()
Festgelegt
- Vermeiden Sie den Aufruf von
loginmehrere Male, wenn der Benutzer bereits verbunden ist.
Version 2.5.1 - April 20, 2020
Erweiterungen
- Verbesserte Implementierung der Erfassung einzelner ICE-Kandidaten.
Version 2.5.0 - 25. März 2020
Hinzugefügt
- hinzufügen
useFirstIceCandidateParameter zuNexmoClient.Builder
nexmoClient = new NexmoClient.Builder().useFirstIceCandidate(true/false).build(context);
Version 2.4.0 - 3. März 2020
Hinzugefügt
- Filter nach Bundesland hinzufügen zu
getConversationsPageinNexmoClient.
NexmoClient.get().getConversationsPage(50, NexmoPageOrderDesc, "JOINED", new NexmoRequestListener<NexmoConversationsPage>(){
void onError(@NonNull NexmoApiError error){
}
void onSuccess(@Nullable NexmoConversationsPage result){
//Get the current page conversations -Sync
Collection<NexmoConversation> conversations = result.getData()
//Get the next page -Async
result.getNext(new NexmoRequestListener<NexmoConversationsPage>(){
void onError(@NonNull NexmoApiError error){
}
void onSuccess(@Nullable NexmoConversationsPage result){
}
})
//Get the previous page -Async
result.getPrev(new NexmoRequestListener<NexmoConversationsPage>(){
void onError(@NonNull NexmoApiError error){
}
void onSuccess(@Nullable NexmoConversationsPage result){
}
})
}
});
Version 2.3.0 - Februar 11, 2020
Hinzugefügt
- hinzufügen
updateAsDeliveredundUpdateAsSeenzuNexmoAttachmentEventundNexmoTextEventals Hilfsmethode um das Ereignis lokal zu aktualisieren, nachdemmarkAsSeenodermarkAsDeliverederfolgreich war.
Festgelegt
- Fix
markAsSeenundmarkAsDeliveredfürNexmoTextEventundNexmoAttachmentEvent
Geändert
- Upgrade der Abhängigkeits-Bibliotheken fügen Sie bitte zu Ihrem Build Gradle
Version 2.2.0 - 31. Januar 2020
Hinzugefügt
- Hinzufügen von Unterstützung für benutzerdefinierte Push-Benachrichtigungen, mit
processNexmoPush(),processPushNotification()ist veraltet
- hinzufügen
markAsDelivered()Methode zuNexmoTextEventundNexmoAttachmentEvent
- hinzufügen
markAsSeen()Methode zuNexmoTextEventundNexmoAttachmentEvent
Version 2.1.2 - 12. Januar 2020
Hinzugefügt
- Hinzufügen der Anmerkung
PermissionRequiredfür Funktionen, die Medien starten:NexmoClient.call,NexmoCall.answer,NexmoConvesation.enableMedia
class MyAcitivity MakeCallActivity extends Activity {
@Override public void onCreate(Bundle savedInstanceState){
//Call requires permission which may be rejected by user:
//code should explicitly check to see if permission is available (with 'checkPermission')
//or explicitly handle a potential 'SecurityException'
NexmoClient.get().call("1234567890", NexmoCallHandler.SERVER, new NexmoRequestListener<NexmoCall>(){
@Override
void onError(NexmoApiError error) {
Log.d("NexmoCallListener", "onError call:" + error.toString())
}
@Override
void onSuccess(NexmoCall call) {
Log.d("NexmoCallListener", "onSuccess call:" + cal.toString())
}
});
}
}
Entfernt
- Genehmigungspflicht aufheben
PROCESS_OUTGOING_CALLS - Genehmigungspflicht aufheben
READ_PHONE_STATE
Version 2.1.0 - Januar 01, 2020
Hinzugefügt
- hinzufügen
clearNexmoEventsListenersMethode inNexmoConversationum alle Hörer zu löschen
class MyActivity extends Activity{
NexmoConversation myConversation;
@Override public void onStart(){
//Add listener to events
myConversation.addMemberEventListener(new NexmoMemberEventListener(){
//implement functions
}
});
myConversation.addCustomEventListener(new NexmoCustomEventListener(){
//implement functions
});
//Add more listeners
}
@Override public void onStop(){
//Clear all listeners
myConversation.clearNexmoEventsListeners();
}
}
- hinzufügen
clearMemberEventListenersMethode inNexmoConversationzum Löschen allerNexmoMemberEventListenerHörer
class MyActivity extends Activity{
NexmoConversation myConversation;
@Override public void onStart(){
//Add listener to NexmoMemberEvent
myConversation.addMemberEventListener(new NexmoMemberEventListener(){
});
}
@Override public void onStop(){
myConversation.clearMemberEventListeners();
}
}
- hinzufügen
clearCustomEventListenersMethode inNexmoConversationzum Löschen allerNexmoCustomEventListenerHörer
class MyActivity extends Activity{
NexmoConversation myConversation;
@Override public void onStart(){
//Add listener to NexmoCustomEvent
myConversation.addCustomEventListener(new NexmoCustomEventListener(){
});
}
@Override public void onStop(){
myConversation.clearCustomEventListeners();
}
}
- hinzufügen
clearLegStatusEventListenersMethode inNexmoConversationzum Löschen allerNexmoLegStatusEventListenerHörer
class MyActivity extends Activity{
NexmoConversation myConversation;
@Override public void onStart(){
//Add listener to NexmoLegStatusEvent
myConversation.addLegStatusEventListener(new NexmoLegStatusEventListener(){
});
}
@Override public void onStop(){
myConversation.clearLegStatusEventListeners();
}
}
- hinzufügen
clearDTMFEventListenersMethode inNexmoConversationzum Löschen allerNexmoDTMFEventListenerHörer
class MyActivity extends Activity{
NexmoConversation myConversation;
@Override public void onStart(){
//Add listener to NexmoDTMFEvent
myConversation.addDTMFEventListener(new NexmoDTMFEventListener(){
});
}
@Override public void onStop(){
myConversation.clearDTMFEventListeners();
}
}
- hinzufügen
clearMessageEventListenersMethode inNexmoConversationzum Löschen allerNexmoMessageEventListenerHörer
class MyActivity extends Activity{
NexmoConversation myConversation;
@Override public void onStart(){
//Add listener to NexmoMessageEvent
myConversation.addMessageEventListener(new NexmoMessageEventListener(){
});
}
@Override public void onStop(){
myConversation.clearMessageEventListeners();
}
}
- hinzufügen
clearNexmoConversationListenersMethode inNexmoConversationzum Löschen allerNexmoConversationListenerHörer
class MyActivity extends Activity{
NexmoConversation myConversation;
@Override public void onStart(){
//Add listener to NexmoConversation
myConversation.addNexmoConversationListener(new NexmoConversationListener(){
});
}
@Override public void onStop(){
myConversation.clearNexmoConversationListeners();
}
}
- hinzufügen
clearTypingEventListenersMethode inNexmoConversationzum Löschen allerNexmoTypingEventListenerHörer
class MyActivity extends Activity{
NexmoConversation myConversation;
@Override public void onStart(){
//Add listener to NexmoTypingEvent
myConversation.addTypingEventListener(new NexmoTypingEventListener(){
});
}
@Override public void onStop(){
myConversation.clearTypingEventListeners();
}
}
- hinzufügen
NexmoMemberParameter zuNexmoMemberEventin Bezug auf dieNexmoMembergehandelt von:
NexmoConversation myConversation;
myConversation.addMemberEventListener(new NexmoMemberEventListener{
void onMemberInvited(@NonNull final NexmoMemberEvent event){
//The invitee member
event.getMember()
//the inviter member
event.getFromMember()
}
});
Festgelegt
- Versand
NexmoAttachmentEventin Bezug aufNexmoConversation
NexmoConversation myConversation;
myConversation.addNexmoMessageEventListener(new NexmoMessageEventListener(){
void onAttachmentEvent(@NonNull final NexmoAttachmentEvent attachmentEvent){
//handle attachment event
}
});
- Versand
NexmoMediaEventin Bezug aufNexmoConveration - Versand
NexmoMediaActionEventin Bezug aufNexmoConveration - machen.
NexmoDTMFEventVererbungNexmoEvent NexmoTextEvent.equalszu verwendensuper.equalsNexmoConversation.getCreationDatezur RückkehrDateJava-ObjektNexmoEvent.getCreationDatereparierenIllegalArgumentException
2.0.0 - 2019-12-22
Hinzugefügt
- Filter hinzufügen nach
EventTypeinNexmoConversation.getEvents
NexmoConversation myConversation
//Get all text event for a specifc conversation
myConversation.getEvents(10, NexmoPageOrderDesc, "text", new NexmoRequestListener<NexmoEventsPage> {
void onError(@NonNull NexmoApiError error){
}
void onSuccess(@Nullable NexmoEventsPage result){
Collection<NexmoEvent> textEvents = result.getData()
}
});
//Get all member event for a specifc conversation
myConversation.getEvents(10, NexmoPageOrderDesc, "member:*", new NexmoRequestListener<NexmoEventsPage> {
void onError(@NonNull NexmoApiError error){
}
void onSuccess(@Nullable NexmoEventsPage result){
Collection<NexmoEvent> memberEvents = result.getData()
}
});
Geändert
NexmoDeliveredEvententfernenInitialEventParameter und fügen SieInitialEventIdNexmoSeenEvententfernenInitialEventParameter und fügen SieInitialEventId
Festgelegt
- Unterstützung für DTLS in WebRTC
NexmoConversationsPage.getPrev()die Konversationen vom rechten Cursor zurückgeben
2.0.0 - 2019-12-22
Hinzugefügt
- Filter hinzufügen nach
EventTypeinNexmoConversation.getEvents
NexmoConversation myConversation
//Get all text event for a specifc conversation
myConversation.getEvents(10, NexmoPageOrderDesc, "text", new NexmoRequestListener<NexmoEventsPage> {
void onError(@NonNull NexmoApiError error){
}
void onSuccess(@Nullable NexmoEventsPage result){
Collection<NexmoEvent> textEvents = result.getData()
}
});
//Get all member event for a specifc conversation
myConversation.getEvents(10, NexmoPageOrderDesc, "member:*", new NexmoRequestListener<NexmoEventsPage> {
void onError(@NonNull NexmoApiError error){
}
void onSuccess(@Nullable NexmoEventsPage result){
Collection<NexmoEvent> memberEvents = result.getData()
}
});
Geändert
NexmoDeliveredEvententfernenInitialEventParameter und fügen SieInitialEventIdNexmoSeenEvententfernenInitialEventParameter und fügen SieInitialEventId
Festgelegt
- Unterstützung für DTLS in WebRTC
NexmoConversationsPage.getPrev()die Konversationen vom rechten Cursor zurückgeben
1.2.0 - 2019-12-16
Hinzugefügt
- Filter hinzufügen nach
EventTypeinNexmoConversation.getEvents
NexmoConversation myConversation
//Get all text event for a specifc conversation
myConversation.getEvents(10, NexmoPageOrderDesc, "text", new NexmoRequestListener<NexmoEventsPage> {
void onError(@NonNull NexmoApiError error){
}
void onSuccess(@Nullable NexmoEventsPage result){
Collection<NexmoEvent> textEvents = result.getData()
}
});
//Get all member event for a specifc conversation
myConversation.getEvents(10, NexmoPageOrderDesc, "member:*", new NexmoRequestListener<NexmoEventsPage> {
void onError(@NonNull NexmoApiError error){
}
void onSuccess(@Nullable NexmoEventsPage result){
Collection<NexmoEvent> memberEvents = result.getData()
}
});
Festgelegt
- Unterstützung für DTLS in WebRTC
Version 1.1.0 - 2019-12-04
Änderungen
- hinzufügen
iceServerUrlsParameter zuNexmoClient.Builder
nexmoClient = new NexmoClient.Builder().iceServerUrls(new String[]{"stun/turn servr url"}).build(context);
Festgelegt
- Problem mit Push-Benachrichtigungen für eingehende Anrufe behoben
Version 1.0.3 - 2019-11-20
###Changes
- Unterschrift ändern von
NexmoClient.login()entfernenNexmoRequestListener<NexmoUser>Parameter:
nexmoClient = new NexmoClient.Builder().build(context);
nexmoClient.setConnectionListener(new NexmoConnectionListener() {
@Override
public void onConnectionStatusChange(ConnectionStatus connectionStatus, ConnectionStatusReason connectionStatusReason) {
switch (connectionStatus){
case CONNECTED:
//the client is connected to the server - the login successed
case DISCONNECTED:
case CONNECTING:
case UNKNOWN:
//the client is not connected to the server - the login failed/not yet successed
}
});
NexmoClient.login("MY_AUTH_TOKEN")
- Unterschrift ändern von
NexmoPushEventListener.onIncomingCall()entfernenMemberEventParameter:
override public void onMessageReceived(@Nullable RemoteMessage message) {
if (NexmoClient.isNexmoPushNotification(message.getData())) {
handleNexmoPushForLoggedInUser(message)
}
}
nexmoClient.processPushNotification(message.getData(), new NexmoPushEventListener(){
public void onIncomingCall(NexmoCall nexmoCall){
}
public void onNewEvent(NexmoEvent event){
}
public void onError(NexmoApiError error){
}
})
Festgelegt
- reparieren
NexmoConversation.sendAttachmentFehler - reparieren
NexmoAttachmentEventvom Backend erhalten - Behebung eines Race-Condition-Fehlers, der zum Abbruch von Aufrufen führt
- Fehler in der Push-Benachrichtigung behoben
Version 1.0.2 - 11.11.2019
Änderungen
- Umbenennen
GetConversationsPagezuGetConversations - Umbenennen
GetEventsPagezuGetEvents NexmoClient.GetConversationsStandardpageSizeist 10NexmoConversation.GetEventsStandardpageSizeist 10
Version 1.0.1
Neu
- hinzufügen
getConversationsPageinNexmoClient
NexmoClient.get().getConversationsPage(50, NexmoPageOrderDesc, new NexmoRequestListener<NexmoConversationsPage>(){
void onError(@NonNull NexmoApiError error){
}
void onSuccess(@Nullable NexmoConversationsPage result){
//Get the current page conversations -Sync
Collection<NexmoConversation> conversations = result.getData()
//Get the next page -Async
result.getNext(new NexmoRequestListener<NexmoConversationsPage>(){
void onError(@NonNull NexmoApiError error){
}
void onSuccess(@Nullable NexmoConversationsPage result){
}
})
//Get the previous page -Async
result.getPrev(new NexmoRequestListener<NexmoConversationsPage>(){
void onError(@NonNull NexmoApiError error){
}
void onSuccess(@Nullable NexmoConversationsPage result){
}
})
}
});
- hinzufügen
getEventsPageinNexmoConversation
NexmoConversation myConversation;
...
myConversation.getEventsPage(50, NexmoPageOrderDesc, new NexmoRequestListener<NexmoEventsPage>(){
void onError(@NonNull NexmoApiError error){
}
void onSuccess(@Nullable NexmoEventsPage result){
//Current event page data -Sync
Collection<NexmoEvent> events = result.getData();
//Get the next page -Async
result.getNext( new NexmoRequestListener<NexmoEventsPage>(){
void onError(@NonNull NexmoApiError error){
}
void onSuccess(@Nullable NexmoEventsPage result){
}
}
);
//Get the previous page -Async
result.getPrev( new NexmoRequestListener<NexmoEventsPage>(){
void onError(@NonNull NexmoApiError error){
}
void onSuccess(@Nullable NexmoEventsPage result){
}
}
);
}
);
Entfernt
- entfernen
conversation.getEvents()
Festgelegt
NexmoConversationParcelablefest
Version 1.0.0 - 2019-09-05
Geändert
NexmoClientist ein Singleton und erhält nur den Context als obligatorischen Parameter. Zum InitialisierenNexmoClient:
NexmoClient nexmoClientInstance = NexmoClientBuilder.Builder().build(context);
- Für die Einstellung
NexmoConnectionListener:
NexmoConnectionListener myConnectionListener = new NexmoConnectionListener{
void onConnectionStatusChange(ConnectionStatus status, ConnectionStatusReason reason){
Log.i("onConnectionStatusChange","status:" + status + " reason:" + reason);
}
}
nexmoClientInstance.setConnectionListener(myConnectionListener);
NexmoClientDie Anruffunktion empfängt einen einzelnen Benutzernamen oder eine Telefonnummer:
//IN APP CALL:
NexmoClient.get().call(callee, NexmoCallHandler.IN_APP, new NexmoRequestListener<NexmoCall>() {
void onError(@NonNull NexmoApiError error){
}
void onSuccess(@Nullable NexmoCall result){
}
});
//SERVER CALL:
NexmoClient.call(callee, NexmoCallHandler.SERVER, new NexmoRequestListener<NexmoCall>() {
void onError(@NonNull NexmoApiError error){
}
void onSuccess(@Nullable NexmoCall result){
}
});
- Entfernt
NexmoCallMember.getMember()und fügte Getter hinzu:
NexmoCallMember someCallMember;
NexmoUser user = someCallMember.getUser();
String memberId = someCallMember.getMemberId();
NexmoCallStatus statues = someCallMember.getStatus();
NexmoChannel channel = someCallMember.getChannel();
Neu
- Android
minSDKist jetzt 23. CustomEventsUnterstützung beiNexmoConversation:
//NexmoCustomEvent:NexmoEvent:
String getCustomType()
HashMap<String, Object> getData()
NexmoMediazugefügtNexmoConversationfür die Unterstützung von Audio-Funktionen innerhalb einerNexmoConversationKontext:
NexmoMember someMember;
NexmoMedia media = someMember.media;
media.getEnabled();
media.getMuted();
media.getEarmuffed();
getNemxoEventType()inNexmoEventist öffentlich
Festgelegt
NexmoCallMember.statusspiegelt den aktuellen Status der Strecke wider.- Zusätzlicher Schutz für
NexmoClientFunktion, um Anrufe zu verhindern, wenn der Benutzer nicht verbunden ist. - Aktualisiert
NexmoUserfehlende Werte nach der Anmeldung.
Entfernt
- Entfernt
conversation.getUser(). Der aktuelle Benutzer kann mit aufgerufen werden:NexmoClient.getUser().
Hinzugefügt
NexmoConversationsenden und empfangenCustomEventsNexmoCustomEvent:NexmoEvent:StringgetCustomType()HashMap<String, Object>getData()NexmoChannelEinspruch gegenNexmoMember.
NexmoMember someMember;
NexmoChannel channel = someMember.channel;
Version 0.3.0 - 4. Juni 2019
Diese Version enthält viele kleine Fehlerbehebungen und Stabilitätsverbesserungen. Die wichtigsten Änderungen sind:
Hinzugefügt
NexmoChannelwurde hinzugefügt zuNexmoMember, um die Kanaldaten freizugeben, falls vorhanden. DieNexmoChannelObjekt umfassttoundfromFelder mit den Daten des Kanalziels und -ursprungs.
Wechselnde Änderungen
Entfernt
NexmoMember.ChannelType- sollte ersetzt werden durchNexmoMember.Channel.from.typeNexmoMember.ChannelData- sollte ersetzt werden durchNexmoMember.Channel.from.data
Geändert
NexmoLoginListenerwurde verbessert und seine Schnittstelle aktualisiert:onLoginStateChange()undonAvailabilityChange()waren entferntonConnectionStatusChange(ConnectionStatus status, ConnectionStatusReason reason)wurde als eine aggregierte und verbesserte Version der oben genannten Methoden hinzugefügt
Hinzugefügt
- Unterstützung für das Parsen der
MemberIdder einen Anruf eingeleitet hat.
Festgelegt
Verbesserungen für plattformübergreifende Aufrufe in Anwendungen
Absturz bei der Verarbeitung von Push-Benachrichtigungen ohne SDK-Initialisierung
Absturz beim Senden
markAsDeliveredVeranstaltung
Version 0.3.0 - 4. Juni 2019
Diese Version enthält viele kleine Fehlerbehebungen und Stabilitätsverbesserungen. Die wichtigsten Änderungen sind:
Hinzugefügt
NexmoChannelwurde hinzugefügt zuNexmoMember, um die Kanaldaten freizugeben, falls vorhanden. DieNexmoChannelObjekt umfassttoundfromFelder mit den Daten des Kanalziels und -ursprungs.
Wechselnde Änderungen
Entfernt
NexmoMember.ChannelType- sollte ersetzt werden durchNexmoMember.Channel.from.typeNexmoMember.ChannelData- sollte ersetzt werden durchNexmoMember.Channel.from.data
Geändert
NexmoLoginListenerwurde verbessert und seine Schnittstelle aktualisiert:onLoginStateChange()undonAvailabilityChange()waren entferntonConnectionStatusChange(ConnectionStatus status, ConnectionStatusReason reason)wurde als eine aggregierte und verbesserte Version der oben genannten Methoden hinzugefügt
Hinzugefügt
- Unterstützung für das Parsen der
MemberIdder einen Anruf eingeleitet hat.
Festgelegt
Verbesserungen für plattformübergreifende Aufrufe in Anwendungen
Absturz bei der Verarbeitung von Push-Benachrichtigungen ohne SDK-Initialisierung
Absturz beim Senden
markAsDeliveredVeranstaltung
Version 0.2.67 - 17. April 2019
Hinzugefügt
Unterstützt das Senden und Empfangen von DTMF während eines Anrufs
Unterstützung von Emulatoren
Festgelegt
- Fehler beim Aktualisieren
CallMemberZustände