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 NexmoMessage gesehene 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 NexmoMessage Serialisierung
  • Korrektur der Fehlerbehandlung in NexmoClient.getConversation() wenn er nicht Mitglied ist.

4.1.0 - Mai 11, 2022

Hinzugefügt

  • Unterstützung für call:transfer innerhalb NexmoCall
  • Hinzugefügt NexmoLegTransferEvent mit Angaben zum vorherigen und aktuellen Gespräch, wenn ein Anruf weitergeleitet wird
  • Hinzugefügt CallEventListener zu erhalten NexmoLegTransferEvent mit 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 pushNotificationTTL am NexmoClient.Builder() Pegel zur Einstellung des registrierten Geräts Push TTL
  • Neue öffentliche Veranstaltungen NexmoSubmittedEvent, NexmoRejectedEvent und NexmoUndeliverableEvent für Nachrichtenzustände.
  • Neue Zuhörer für den Nachrichtenstatus hinzugefügt zu NexmoMessageEventListener Schnittstelle.
   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 senden NexmoMessage zu einem Gespräch.
  • NexmoClient.uploadAttachment(attachment, listener) Methode zum Senden NexmoAttachmentType.
  • NexmoMessage stellt eine Nachricht von EMessageEventType Typ zu senden.
  • EMessageEventType für Nachrichten des Typs text, image, audio, video, file, template, vcard, custom und location.
  • NexmoChannelType hinzugefügte Kanäle des Typs sms, mms, whatsapp, viber und messenger.
  • NexmoAttachmentType um eine angehängte Nachricht zum Vonage Media Service hochzuladen.
  • NexmoMessageEvent repräsentiert das Statusereignis der Mitgliedsnachricht, das in die NexmoMemberMessageStatusEventListener.

Erweiterungen

  • WebRTC-Abhängigkeit auf Version aktualisiert 84.0.0.

Abgelehnt

  • NexmoConversation.sendText(text, listener) Methode. Verwenden Sie NexmoConversation.sendMessage(message, listener) Methode an.
  • NexmoConversation.sendAttachment(file, listener) Methode. Verwenden Sie NexmoClient.uploadAttachment(attachment, listener) und NexmoConversation.sendMessage(message, listener) Methode an.

3.3.0 - 22. November 2022

Hinzugefügt

  • NexmoClient.Builder's restEnvironmentHostPinning und environmentHostPinning Methoden 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 ConnectionStatusReason Fall SSL_PINNING_ERROR wenn Disconnected aufgrund 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.
  • EMediaConnectionState aufzählen.
  • NexmoMediaStatusListener um 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 connectionListeners von HashSet zu ArraySet.

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 Angabe customData.

Abgelehnt

  • NexmoClient.call(callee, callType, listener) Methode.
  • NexmoCallHandler aufzä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 NexmoMemberSummary zurückgegeben von conversation.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 NexmoEventEmbeddedInfo für alle Ereignisse, die von event.getEmbeddedInfo() und enthält die NexmoUser in Verbindung mit dem Ereignis.
  • Hinzugefügt conversation.getMember(memberId, listener) Rückgabe des Mitglieds mit seiner Kennung.

Erweiterungen

  • Verbesserung der javadoc-Dokumentation.
  • Verbessern Sie callServer Rüstzeit durch Vorwärmen der Beine.
  • Medien nach RTC-Aufhängungsereignis deaktivieren.

Wechselnde Änderungen

  • Entfernt NexmoCallMember, ersetzt durch NexmoMember.
  • Entfernt callMember.getCallStatus(), umgezogen nach call.getMemberCallStatus(member).
  • Entfernt callMember.mute(boolean, listener) verschoben nach member.enableMute(listener) und member.disableMute(listener).
  • Entfernt callMember.earmuff(boolean, listener) verschoben nach member.enableEarmuff(listener) und member.enableEarmuff(listener).
  • Entfernt conversation.getAllMembers() verschoben nach conversation.getMembers() (paginiert).
  • Entfernt NexmoConversationListener.onMemberUpdated, ersetzt durch NexmoMemberEventListener die Folgendes bieten onMemberInvited, onMemberAdded, onMemberRemoved abonniert von conversation.addMemberEventListener().
  • Umbenannt in call.getCallMembers() zu call.getAllMembers().
  • Umbenannt in call.getMyCallMember() zu call.getMyMember().
  • Die legs Endpunkt sollte aufgenommen werden in acl Pfade auf JWT Token-Erstellung.

Version 2.8.1 - 14. Dezember 2020

Erweiterungen

  • Wertinkonsistenz bei Attributen behoben displayName und imageUrl für NexmoUser Objekt.
  • Verbesserte Stabilität von ausgehenden Anrufen und Gesprächen.

Version 2.8.0 - 19. November 2020

Geändert

  • Umbenannt in NexmoCallMemberStatus.CANCELED zu NexmoCallMemberStatus.CANCELLED.

Erweiterungen

  • Angemeldet mit NexmoCallMemberStatus.CANCELLED am Hörer onMemberStatusUpdated(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_ERROR zum Verbindungsstatus DISCONNECTED für den Hörer onConnectionStatusChange(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() zu public.

Version 2.6.2 - 29. April 2020

Festgelegt

  • Potenzielle NullPointerException bei der Verarbeitung von Push-Benachrichtigungen während der Kundenanmeldung.

Version 2.6.1 - 22. April 2020

Hinzugefügt

  • Die Schnittstelle freilegen NexmoDTMFEventListener um sich für DTMF-Ereignisse auf NexmoConversation.

Version 2.6.0 - 20. April 2020

Hinzugefügt

  • Verbindungsstatus offenlegen isConnected in NexmoClient.
    NexmoClient.get().isConnected()

Festgelegt

  • Vermeiden Sie den Aufruf von login mehrere 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 useFirstIceCandidate Parameter zu NexmoClient.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 getConversationsPage in NexmoClient.
    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 updateAsDelivered und UpdateAsSeen zu NexmoAttachmentEvent und NexmoTextEvent als Hilfsmethode um das Ereignis lokal zu aktualisieren, nachdem markAsSeen oder markAsDelivered erfolgreich war.

Festgelegt

  • Fix markAsSeen und markAsDelivered für NexmoTextEvent und NexmoAttachmentEvent

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 zu NexmoTextEvent und NexmoAttachmentEvent
  • hinzufügen markAsSeen() Methode zu NexmoTextEvent und NexmoAttachmentEvent

Version 2.1.2 - 12. Januar 2020

Hinzugefügt

  • Hinzufügen der Anmerkung PermissionRequired fü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 clearNexmoEventsListeners Methode in NexmoConversation um 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 clearMemberEventListeners Methode in NexmoConversation zum Löschen aller NexmoMemberEventListener Hö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 clearCustomEventListeners Methode in NexmoConversation zum Löschen aller NexmoCustomEventListener Hö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 clearLegStatusEventListeners Methode in NexmoConversation zum Löschen aller NexmoLegStatusEventListener Hö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 clearDTMFEventListeners Methode in NexmoConversation zum Löschen aller NexmoDTMFEventListener Hö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 clearMessageEventListeners Methode in NexmoConversation zum Löschen aller NexmoMessageEventListener Hö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 clearNexmoConversationListeners Methode in NexmoConversation zum Löschen aller NexmoConversationListener Hö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 clearTypingEventListeners Methode in NexmoConversation zum Löschen aller NexmoTypingEventListener Hö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 NexmoMember Parameter zu NexmoMemberEvent in Bezug auf die NexmoMember gehandelt 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 NexmoAttachmentEvent in Bezug auf NexmoConversation
    NexmoConversation myConversation;
    myConversation.addNexmoMessageEventListener(new NexmoMessageEventListener(){

        void onAttachmentEvent(@NonNull final NexmoAttachmentEvent attachmentEvent){
            //handle attachment event
        }
    });
  • Versand NexmoMediaEvent in Bezug auf NexmoConveration
  • Versand NexmoMediaActionEvent in Bezug auf NexmoConveration
  • machen. NexmoDTMFEvent Vererbung NexmoEvent
  • NexmoTextEvent.equals zu verwenden super.equals
  • NexmoConversation.getCreationDate zur Rückkehr Date Java-Objekt
  • NexmoEvent.getCreationDate reparieren IllegalArgumentException

2.0.0 - 2019-12-22

Hinzugefügt

  • Filter hinzufügen nach EventType in NexmoConversation.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

  • NexmoDeliveredEvent entfernen InitialEvent Parameter und fügen Sie InitialEventId
  • NexmoSeenEvent entfernen InitialEvent Parameter und fügen Sie InitialEventId

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 EventType in NexmoConversation.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

  • NexmoDeliveredEvent entfernen InitialEvent Parameter und fügen Sie InitialEventId
  • NexmoSeenEvent entfernen InitialEvent Parameter und fügen Sie InitialEventId

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 EventType in NexmoConversation.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 iceServerUrls Parameter zu NexmoClient.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()entfernen NexmoRequestListener<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()entfernen MemberEvent Parameter:
    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.sendAttachment Fehler
  • reparieren NexmoAttachmentEvent vom 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 GetConversationsPage zu GetConversations
  • Umbenennen GetEventsPage zu GetEvents
  • NexmoClient.GetConversations Standard pageSize ist 10
  • NexmoConversation.GetEvents Standard pageSize ist 10

Version 1.0.1

Neu

  • hinzufügen getConversationsPage in NexmoClient
    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 getEventsPage in NexmoConversation
    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

  • NexmoConversation Parcelable fest

Version 1.0.0 - 2019-09-05

Geändert

  • NexmoClient ist ein Singleton und erhält nur den Context als obligatorischen Parameter. Zum Initialisieren NexmoClient:
    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);
  • NexmoClient Die 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 minSDK ist jetzt 23.
  • CustomEvents Unterstützung bei NexmoConversation:
//NexmoCustomEvent:NexmoEvent:
    String                  getCustomType()
    HashMap<String, Object> getData()
  • NexmoMedia zugefügt NexmoConversationfür die Unterstützung von Audio-Funktionen innerhalb einer NexmoConversation Kontext:
    NexmoMember someMember;
    NexmoMedia media = someMember.media;
    media.getEnabled();
    media.getMuted();
    media.getEarmuffed();
  • getNemxoEventType() in NexmoEvent ist öffentlich

Festgelegt

  • NexmoCallMember.status spiegelt den aktuellen Status der Strecke wider.
  • Zusätzlicher Schutz für NexmoClient Funktion, um Anrufe zu verhindern, wenn der Benutzer nicht verbunden ist.
  • Aktualisiert NexmoUser fehlende Werte nach der Anmeldung.

Entfernt

  • Entfernt conversation.getUser(). Der aktuelle Benutzer kann mit aufgerufen werden: NexmoClient.getUser().

Hinzugefügt

  • NexmoConversation senden und empfangen CustomEvents
  • NexmoCustomEvent:NexmoEvent: String getCustomType() HashMap<String, Object> getData()
  • NexmoChannel Einspruch gegen NexmoMember.
    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

  • NexmoChannel wurde hinzugefügt zu NexmoMember, um die Kanaldaten freizugeben, falls vorhanden. Die NexmoChannel Objekt umfasst to und from Felder mit den Daten des Kanalziels und -ursprungs.

Wechselnde Änderungen

Entfernt

  • NexmoMember.ChannelType - sollte ersetzt werden durch NexmoMember.Channel.from.type

  • NexmoMember.ChannelData - sollte ersetzt werden durch NexmoMember.Channel.from.data

Geändert

  • NexmoLoginListener wurde verbessert und seine Schnittstelle aktualisiert:

  • onLoginStateChange() und onAvailabilityChange() waren entfernt

  • onConnectionStatusChange(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 MemberId der 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 markAsDelivered Veranstaltung



Version 0.3.0 - 4. Juni 2019

Diese Version enthält viele kleine Fehlerbehebungen und Stabilitätsverbesserungen. Die wichtigsten Änderungen sind:

Hinzugefügt

  • NexmoChannel wurde hinzugefügt zu NexmoMember, um die Kanaldaten freizugeben, falls vorhanden. Die NexmoChannel Objekt umfasst to und from Felder mit den Daten des Kanalziels und -ursprungs.

Wechselnde Änderungen

Entfernt

  • NexmoMember.ChannelType - sollte ersetzt werden durch NexmoMember.Channel.from.type

  • NexmoMember.ChannelData - sollte ersetzt werden durch NexmoMember.Channel.from.data

Geändert

  • NexmoLoginListener wurde verbessert und seine Schnittstelle aktualisiert:

  • onLoginStateChange() und onAvailabilityChange() waren entfernt

  • onConnectionStatusChange(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 MemberId der 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 markAsDelivered Veranstaltung


Version 0.2.67 - 17. April 2019

Hinzugefügt

Festgelegt

  • Fehler beim Aktualisieren CallMember Zustände