Umstellung auf das Vonage Client SDK

Wenn Sie mit dem Nexmo Client SDK vertraut sind oder es in Ihrer Anwendung verwenden, gibt es einige Änderungen zu beachten, wenn Sie zum Vonage Client SDK wechseln.

Client-Instantiierung

Für Android und iOS ist der SDK-Client nicht länger ein Singleton.

// Nexmo SDK
let client = new NexmoClient()

// Vonage SDK

// If loaded with a <script> tag:
const client = new vonageClientSDK.VonageClient();

// If loaded via import:
const client = new VonageClient();

Sitzungsmanagement

Zuvor mussten Sie im Nexmo Client SDK auf Android und iOS login/createSession und erhalten Sie über einen Listener Updates zur Erstellung Ihrer ersten Sitzung.

Im JavaScript Vonage Client SDK erhalten Sie nicht mehr ein App-Objekt, sondern eine Session-ID.

Das Vonage Client SDK verfügt über einen Callback, mit dem Sie feststellen können, ob der erste Sitzungsaufbau erfolgreich war oder nicht. Weitere Sitzungsaktualisierungen, einschließlich der Wiederherstellung der Verbindung, sind über Listener/Delegate-Methoden verfügbar.

// Nexmo SDK
client.createSession(token)
  .then(app => {
    ...
  })
  .catch(error => {
    ...
  });

// Vonage SDK
client.createSession(token)
  .then(sessionId => {
    ...
  })
  .catch(error => {
    ...
  });

Anrufe

Im Vonage Client SDK sind Serveranrufe die einzige Art von Anrufen, die Sie tätigen können, der vorherige inApp wurde veraltet. Dies bedeutet, dass ein NCCO-Webhook-Server jetzt für alle Anrufabläufe obligatorisch ist.

Die Parameter für einen Serveraufruf haben sich geändert, das frühere Bis- und das Kontextfeld sind jetzt ein Parameter. Aus Gründen der Abwärtskompatibilität mit bestehenden NCCO-Webhooks können Sie Folgendes angeben to als Teil des Kontextobjekts, das wie zuvor an Ihren Webhook weitergeleitet wird.

Andernfalls verwenden Sie den Kontext-Parameter, um benutzerdefinierte Daten an Ihre answer_url Webhook.

// Nexmo SDK
application.callServer("PHONE_NUMBER")
    .then(nxmCall => {
        ...
    })
    .catch(error => {
        ...
    });

// Vonage SDK
client.serverCall({ to: "PHONE_NUMBER" })
    .then(callId => {
        ...
    })
    .catch(error => {
        ...
    });

Anrufe/Chat-Aktionen

Das Vonage Client SDK verfügt auch nicht mehr über Methoden auf Objekten, um Aktionen wie das Beenden eines Anrufs, das Stummschalten eines Anrufs oder das Senden einer Nachricht durchzuführen. Alle diese Aktionen sind als Methoden auf dem Client verfügbar. Um diese Aktionen auszuführen, müssen Sie die Anruf- oder Gesprächs-ID speichern, für die Sie eine Aktion ausführen möchten.

Zum Beispiel, um einen Anruf stumm zu schalten:

// Nexmo SDK
conversation.me.mute(true);

// Vonage SDK
client.mute(callId)
    .then(() => {
        // Mute successful
    })
    .catch(error => {
        // Handle muting error
    });

Oder um eine Nachricht zu senden:

// Nexmo SDK
conversation.sendMessage({
    "message_type": "text",
    "text": "Hello world!"
}).then((event) => {
    ...
}).catch((error)=>{
    ...
});


// Vonage SDK
client.sendMessageTextEvent("CONV_ID", "Hello world!")
    .then(timestamp => {
        ...
    }).catch(error => {
        ...
    });