Einrichten eines einfachen iOS-Clients (Objective-C)

Dieses Tutorial führt Sie Schritt für Schritt durch die Einrichtung eines einfachen iOS-Clients, der die Vonage Video API nutzt.

Übersicht

Alle Applikationen, die die Vonage Video API verwenden, benötigen sowohl eine Kunde und eine Server Komponente. Der clientseitige Code wird auf das iOS-Gerät des Endnutzers geladen und übernimmt den Großteil der OpenTok-Funktionalität, darunter Verbindung zum Sitzung, Veröffentlichung Audio-Video Ströme zur Sitzung, und Abonnieren Sie zu den Streams anderer Clients. Weitere Informationen über Clients, Server und Sitzungen finden Sie unter Video API-Grundlagen.

In diesem Lernprogramm werden Sie die OpenTok iOS-SDK, die clientseitige Bibliothek von OpenTok für iOS-Geräte, mit der sich schnell und einfach eine interaktive Echtzeit-Video-Application erstellen lässt.

Anmerkung: Der Code in diesem Lernprogramm ist in Objective-C geschrieben. Es gibt auch ein Tutorial mit dem Code, der in Schnell.

In diesem Tutorial werden folgende Themen behandelt:

Geschätzte Bearbeitungszeit: 25 Minuten

Möchten Sie dieses Tutorial überspringen? Sie können den fertigen iOS Objective-C-Client-Code in der Basic-Video-Chat Ordner unseres iOS-Beispiel-App Repo auf GitHub. Das Repo enthält eine README mit Dokumentation zum Ausführen und Erforschen des Codes.

Anforderungen

Für dieses Tutorial benötigen Sie:

Schritt 1: Ein neues Projekt erstellen

  1. Öffnen Sie Xcode und erstellen Sie ein neues Projekt.

  2. Wählen Sie Einzelansicht Applikation als Vorlage.

  3. Wählen Sie Objektiv-C als Sprache für den Code der Anwendung.

Schritt 2: Einbinden der OpenTok-Bibliothek

Befolgen Sie die folgenden Schritte, um die OpenTok-Bibliothek und ihre Abhängigkeiten mithilfe von CocoaPods zu Ihrer App hinzuzufügen. Wenn Sie CocoaPods nicht verwenden möchten, befolgen Sie diese Anweisungen zur Verwendung des SDK.

  1. Navigieren Sie im Terminal zum Stammverzeichnis Ihres Projekts und geben Sie Folgendes ein:

    pod init

    Dadurch wird eine Poddatei im Stammverzeichnis Ihres Projekts erstellt.

  2. Bearbeiten Sie das Podfile und fügen Sie die folgende Zeile nach dem Kommentar ein, der lautet # Pods for [YourProjectName] (Die Poddatei ist in Ihrem XCode-Projekt nicht sichtbar, Sie müssen sie also direkt aus dem Projektordner öffnen):

    pod 'OpenTok'

  3. Speichern Sie die Änderungen in der Poddatei.

  4. Geben Sie im Terminal in das Stammverzeichnis Ihres Projekts ein:

    pod install

  5. Schließen Sie Ihr Projekt in Xcode. Öffnen Sie dann Ihr Projekt erneut, indem Sie im Finder (im Stammverzeichnis Ihres Projekts) auf die neue .xcworkspace-Datei doppelklicken.

Für den Zugriff auf Kamera und Mikrofon müssen Sie die Datei Info.plist ändern:

  1. Klicken Sie im linken Navigationsbereich von Xcode auf die Projektdatei (mit dem Namen Ihres Projekts), um den zentralen Projektbereich zu öffnen.

    Links vom Allgemein im Projektfenster sollten Sie Ihren Projektnamen sehen. Wenn der Name nicht mit Ihrem Projekt übereinstimmt (z. B. [IhrProjektname]Tests), klicken Sie darauf und setzen Sie das Ziel auf Ihren Projektnamen.

  2. Wechseln Sie im Panel auf die Registerkarte Info.

  3. Erweitern Sie den Abschnitt "Benutzerdefinierte iOS-Zieleigenschaften", falls er zugeklappt ist.

  4. Bewegen Sie die Maus über eine beliebige Taste und klicken Sie auf die Schaltfläche +, um eine neue Taste hinzuzufügen. Hinzufügen einer Privacy - Camera Usage Description und weisen Sie ihr die folgende Zeichenfolge zu:

    $(PRODUCT_NAME) uses the camera.

    Klicken Sie dann auf die Schaltfläche +, um eine neue Privacy - Microphone Usage Description und weisen Sie ihr die folgende Zeichenfolge zu:

    $(PRODUCT_NAME) uses the microphone.

    Die App zeigt diese Zeichenfolgen an, wenn die Anwendung zum ersten Mal auf die Kamera und das Mikrofon zugreift.

    (Diese Sicherheitsfunktionen wurden in iOS 10 eingeführt.)

Fügen Sie die OpenTok-Bibliothek zum View Controller hinzu.

  • Öffnen Sie in Xcode die Datei „ViewController.m“ und fügen Sie am Anfang der Datei eine Zeile hinzu, um die OpenTok-Bibliothek zu importieren:

    #import "ViewController.h" #import <OpenTok/OpenTok.h>

Schritt 3: Einrichtung der Authentifizierung

Um eine Verbindung zu einer OpenTok-Sitzung herzustellen, benötigt der Client Zugriff auf bestimmte Authentifizierungsdaten – ein API-Schlüssel, Sitzungs-IDund Token. In einer Produktionsanwendung sollten diese Anmeldeinformationen von einem Server, aber um den Vorgang zu beschleunigen, werden wir die Werte vorerst einfach fest einprogrammieren:

  1. Kopieren Sie zunächst den folgenden Codeblock und fügen Sie ihn in Ihre Datei ViewController.m ein:

    // Replace with your OpenTok API key static NSString* kApiKey = @""; // Replace with your generated session ID static NSString* kSessionId = @""; // Replace with your generated token static NSString* kToken = @"";

    Fügen Sie diese Zeilen vor der @interface Erklärung.

  2. Passen Sie den Code an, indem Sie die Werte für die kApiKey, kSessionId und kToken (innerhalb der leeren Anführungszeichen).

    Melden Sie sich dazu in Ihrem Video API-Konto, erstellen Sie entweder ein neues OpenTok-API-Projekt oder verwenden Sie ein bestehendes OpenTok-API-Projekt. Rufen Sie anschließend Ihre Projektseite auf und scrollen Sie nach unten zum Projekt-Tools Abschnitt. Von dort aus können Sie eine Sitzungs-ID und ein Token manuell erzeugen. Verwenden Sie den API-Schlüssel des Projekts zusammen mit der Sitzungs-ID und dem Token, die Sie erzeugt haben.

Das ist wichtig: Während der Test- und Entwicklungsphase können Sie die Werte für die Sitzungs-ID und das Token weiterhin über Ihren Account abrufen, doch bevor Sie in die Produktion gehen, müssen Sie einen Server einrichten. Darauf gehen wir näher ein in Nächste Schritte am Ende dieses Tutorials.

Weitere Informationen zu Sitzungen, Token und Servern finden Sie unter Video API-Grundlagen.

Schritt 4: Verbindung zur Sitzung herstellen

Als Nächstes stellen wir eine Verbindung zur OpenTok-Sitzung her. Dies müssen Sie tun, bevor Sie Ihren Audio-Video-Stream in der Sitzung veröffentlichen oder die Streams anderer Teilnehmer anzeigen können.

  1. Hinzufügen einer session Eigenschaft der Klasse ViewController zu:

    @interface ViewController() @property (nonatomic) OTSession *session; @end

    Die Klasse „OTSession“ ist im OpenTok iOS SDK definiert. Sie repräsentiert eine OpenTok-Sitzung und enthält Methoden zur Interaktion mit der Sitzung.

  2. Fügen Sie eine Methode zur Instanziierung des OTSession-Objekts und zum Aufruf seiner [OTSession connectWithToken: error:] Methode. Dann können Sie sie in viewDidLoad:

    - (void)viewDidLoad { [super viewDidLoad]; [self connectToAnOpenTokSession]; } - (void)connectToAnOpenTokSession { _session = [[OTSession alloc] initWithApiKey:kApiKey sessionId:kSessionId delegate:self]; NSError *error; [_session connectWithToken:kToken error:&error]; if (error) { NSLog(@"%@", error); } }

    Die [OTSession initWithApiKey:sessionId:delegate:] erhält drei Parameter:

    • Ihr OpenTok-API-Schlüssel
    • Die Sitzungs-ID
    • Das Objekt, das das OTSessionDelegate-Protokoll implementiert

    Die [OTSession connectWithToken: error:] Die Methode stellt eine Verbindung zwischen der Client-Anwendung und der OpenTok-Sitzung her. Sie müssen die Verbindung herstellen, bevor Sie Audio- und Videostreams in der Sitzung senden oder empfangen (oder bevor Sie in irgendeiner Weise mit der Sitzung interagieren). Die Methode benötigt zwei Parameter:

    • token ist das Authentifizierungstoken, mit dem sich dieser Client bei der OpenTok-Sitzung anmelden kann.

    • error wird auf ein OTError-Objekt gesetzt, wenn beim synchronen Aufruf der Methode ein Fehler auftritt.

  3. Ändern Sie die ViewController-Interface-Deklaration, um anzugeben, dass die Klasse die OTSessionDelegate Protokoll:

    @interface ViewController() <OTSessionDelegate>

    Als nächstes werden wir Methoden des OTSessionDelegate-Protokolls implementieren. Fügen Sie den folgenden Code am Ende der ViewController-Klasse hinzu (vor dem @end Anweisung):

    # pragma mark - OTSession delegate callbacks - (void)sessionDidConnect:(OTSession*)session { NSLog(@"The client connected to the OpenTok session."); } - (void)sessionDidDisconnect:(OTSession*)session { NSLog(@"The client disconnected from the OpenTok session."); } - (void) session:(OTSession*)session didFailWithError:(OTError*)error { NSLog(@"The client failed to connect to the OpenTok session: (%@)", error); } - (void)session:(OTSession*)session streamCreated:(OTStream *)stream { NSLog(@"A stream was created in the session."); } - (void)session:(OTSession*)session streamDestroyed:(OTStream *)stream { NSLog(@"A stream was destroyed in the session."); }

    Dieses Protokoll enthält Methoden zur Behandlung von Ereignissen im Zusammenhang mit der Sitzung:

    • Wenn der Client eine Verbindung zur OpenTok-Sitzung herstellt, wird die [OTSessionDelegate sessionDidConnect:] Nachricht gesendet wird.

    • Wenn der Client keine Verbindung zur OpenTok-Sitzung herstellen kann, wird die [OTSessionDelegate session:didFailWithError:] Nachricht gesendet wird.

    • Wenn der Client die Verbindung zur OpenTok-Sitzung trennt, wird die [OTSessionDelegate sessionDidDisconnect:] Nachricht gesendet wird.

    • Wenn ein anderer Client einen Stream in der OpenTok-Sitzung veröffentlicht, wird der [OTSessionDelegate session:streamCreated:] Nachricht gesendet wird.

    • Wenn ein anderer Client die Übertragung eines Streams an die OpenTok-Sitzung einstellt, wird die [OTSessionDelegate session:streamDestroyed:] Nachricht gesendet wird.

    Im Moment gibt die Anwendung auf der Debugger-Konsole aus, wenn eines dieser Ereignisse eintritt.

Führen Sie ein Debugging Ihrer Anwendung durch. Wenn die App erfolgreich eine Verbindung zur OpenTok-Sitzung herstellt, dann wird die [OTSessionDelegate sessionDidConnect:] Methode sollte auf der Debug-Konsole ausgegeben werden.

Schritt 5: Einen Stream in der Sitzung veröffentlichen

Wenn die App eine Verbindung zur OpenTok-Sitzung herstellt, soll sie mithilfe der Kamera und des Mikrofons des Geräts einen Audio-Video-Stream in die Sitzung übertragen:

  1. Hinzufügen einer publisher Eigenschaft der Klasse ViewController zu:

    @interface ViewController() <OTSessionDelegate> @property (nonatomic) OTSession *session; @property (nonatomic) OTPublisher *publisher; @end

    Die Klasse „OTPublisher“ ist im OpenTok iOS SDK definiert. Sie nutzt die Kamera und das Mikrofon des Geräts, um eine OpenTok-Sitzung zu übertragen.

  2. Ändern Sie die Implementierung der sessionDidConnect(_:) Methode, um Code zur Veröffentlichung eines Streams in der Sitzung einzuschließen:

    - (void)sessionDidConnect:(OTSession*)session { OTPublisherSettings *settings = [[OTPublisherSettings alloc] init]; _publisher = [[OTPublisher alloc] initWithDelegate:self settings:settings]; OTError *error = nil; [_session publish:_publisher error:&error]; if (error) { NSLog(@"Unable to publish (%@)", error.localizedDescription); return; } CGSize screenSize = [UIScreen mainScreen].bounds.size; CGRect rect = CGRectMake(screenSize.width - 150 - 20, screenSize.height - 150 - 20, 150, 150); [_publisher.view setFrame:rect]; [self.view addSubview:_publisher.view]; }

    Wenn die App eine Verbindung zu einer Sitzung herstellt, initialisiert sie eine Instanz des OTPublisher, der im OpenTok iOS SDK definiert ist. Der [OTPublisher initWithDelegate:] Methode erhält zwei Parameter: das Objekt, das das OTPublisherDelegate-Protokoll implementiert, und eine settingsObjekt.

    Der Code übergibt dann das OTPublisher-Objekt als einen Parameter der Methode [OTSession publish:] Methode. Diese Methode überträgt einen Audio-Video-Stream an die OpenTok-Sitzung und nutzt dabei die Kamera und das Mikrofon des iOS-Geräts. (Beachten Sie, dass das OpenTok iOS SDK im Xcode-Simulator beim Übertragen eines Streams ein Testvideo verwendet.)

    Das OTPublisher-Objekt hat eine view Eigenschaft, die ein UIView-Objekt ist. Diese Ansicht zeigt das von der Kamera des Geräts aufgenommene Video an. Der Code fügt diese Ansicht als Unteransicht der Hauptansicht des ViewControllers hinzu.

  3. Ändern Sie die ViewController-Interface-Deklaration, um anzugeben, dass die Klasse die OTPublisherDelegate Protokoll:

    @interface ViewController() <OTSessionDelegate, OTPublisherDelegate>

    Als nächstes werden wir Methoden des OTSessionDelegate-Protokolls implementieren. Fügen Sie den folgenden Code am Ende der ViewController-Klasse hinzu (vor dem @end Anweisung):

    # pragma mark - OTPublisher delegate callbacks - (void)publisher:(OTPublisherKit*)publisher didFailWithError:(OTError*) error { NSLog(@"The publisher failed: %@", error); }

    Wenn der Client keine Daten an die OpenTok-Sitzung übermitteln kann, wird ein OTError-Objekt an die [OTPublisherDelegate publisher:didFailWithError:] Methode.

Führen Sie ein Debugging Ihrer Anwendung durch. Wenn die App erfolgreich eine Verbindung zur OpenTok-Sitzung herstellt, veröffentlicht sie einen Stream in der Sitzung, und Sie sehen das Video des Publishers in der App.

Schritt 6: Die Streams anderer Clients abonnieren

Schließlich möchten wir, dass die Kunden in der Lage sind abonnieren auf die Streams anderer Clients in der Sitzung zugreifen (oder diese anzeigen):

  1. Hinzufügen einer subscriber Eigenschaft der Klasse ViewController zu:

    @interface ViewController() <OTSessionDelegate, OTPublisherDelegate> @property (nonatomic) OTSession *session; @property (nonatomic) OTPublisher *publisher; @property (nonatomic) OTSubscriber *subscriber; @end

    Die Klasse „OTSubscriber“ ist im OpenTok iOS SDK definiert. Sie nutzt die Kamera und das Mikrofon des Geräts, um eine OpenTok-Stream-Sitzung zu abonnieren.

  2. Ändern Sie die Implementierung der [OTSessionDelegate session: streamCreated] Methode (einer der OTSessionDelegate-Callbacks), um Code zum Abonnieren der Streams anderer Clients in die Sitzung aufzunehmen:

    - (void)session:(OTSession*)session streamCreated:(OTStream *)stream { _subscriber = [[OTSubscriber alloc] initWithStream:stream delegate:self]; OTError *error = nil; [_session subscribe:_subscriber error:&error]; if (error) { NSLog(@"Unable to subscribe (%@)", error.localizedDescription); return; } [_subscriber.view setFrame:[UIScreen mainScreen].bounds]; [self.view insertSubview:_subscriber.view atIndex:0]; }

    Wenn ein anderer Client einen Stream in einer Sitzung veröffentlicht, wird diese Methode aufgerufen und ein OTStream-Objekt übergeben. Die Klasse `OTStream` ist im OpenTok iOS SDK definiert und repräsentiert einen Audio-Video-Stream in der OpenTok-Sitzung. Der Code initialisiert eine Instanz der Klasse `OTSubscriber`, die im OpenTok iOS SDK definiert ist. Die OTSubscriber() Konstruktor nimmt zwei Parameter entgegen: Das OTStream-Objekt (für den Stream, den Sie anzeigen möchten) und das Objekt, das das OTSubscriberDelegate-Protokoll implementiert.

  3. Ändern Sie die ViewController-Interface-Deklaration, um anzugeben, dass die Klasse die OTSubscriberDelegate Protokoll:

    @interface ViewController() <OTSessionDelegate, OTPublisherDelegate,OTSubscriberDelegate>

    Als nächstes werden wir Methoden des OTSessionDelegate-Protokolls implementieren. Fügen Sie den folgenden Code am Ende der ViewController-Klasse hinzu (vor dem @end Anweisung):

    # pragma mark - OTSubscriber delegate callbacks - (void)subscriberDidConnectToStream:(OTSubscriberKit *)subscriber { NSLog(@"The subscirber: %@ did connect to the stream", subscriber); } - (void)subscriber:(OTSubscriberKit*)subscriber didFailWithError:(OTError*)error { NSLog(@"subscriber %@ didFailWithError %@", subscriber.stream.streamId, error); }

    • Wenn der Client keine Verbindung zur OpenTok-Sitzung herstellen kann, wird ein OTError-Objekt an die subscriber(_: didFailWithError:) Methode.

Schritt 7: Die App ausführen

Nachdem Ihr Code nun fertig ist, können Sie die App im Xcode-Emulator ausführen. Dabei wird ein simuliertes Publisher-Video erstellt – da der Emulator keinen Zugriff auf Ihre Webcam hat, wird im Publisher-Video anstelle Ihres Kamerabildes die Grafik einer sich drehenden Teekanne angezeigt.

Um einen zweiten Herausgeber hinzuzufügen (der in Ihrem Emulator als Abonnent angezeigt wird), führen Sie die App entweder ein zweites Mal auf einem verbundenen iOS-Gerät aus oder verwenden Sie die OpenTok Playground um eine Verbindung zur Sitzung in einem unterstützten Webbrowser herzustellen, indem Sie die folgenden Schritte ausführen:

  1. Gehe zu OpenTok Playground (Sie müssen sich bei Ihrem Account)

  2. Wählen Sie die An einer bestehenden Sitzung teilnehmen Registerkarte

  3. Kopieren Sie die Sitzungs-ID, die Sie in Ihrer ViewController.m-Datei verwendet haben, und fügen Sie sie ein Sitzungs-ID Eingabefeld

  4. Klicken Sie auf Sitzung beitreten

  5. Klicken Sie auf dem nächsten Bildschirm auf Verbinden Sieund klicken Sie dann auf Stream veröffentlichen

  6. Sie können die Publisher-Optionen anpassen (nicht erforderlich) und dann auf Weiter um eine Verbindung herzustellen und mit der Veröffentlichung und dem Abonnement zu beginnen

Zu diesem Zeitpunkt sollten Sie sehen, dass der Stream von Ihrer Webcam und der Stream vom Emulator veröffentlicht wird. Wenn Sie zum Emulator zurückkehren, sollte der neue Herausgeber auch auf dem emulierten Bildschirm angezeigt werden.

Herzlichen Glückwunsch! Sie haben den Lehrgang "Einrichten eines einfachen iOS-Clients (Objective-C)" abgeschlossen.
Sie können mit dem Code, den Sie hier entwickelt haben, weiter spielen und ihn für die Client-Seite Ihrer Anwendung anpassen, aber denken Sie daran, dass Sie die Serverkomponente Ihrer Anwendung, bevor sie in Produktion geht (siehe Einrichten Ihres Servers unten).

Eine fertige Version dieser Beispielanwendung finden Sie in der Basic-Video-Chat Ordner des opentok-ios-sdk-Beispiele Repo auf GitHub. Diese fertige Version fügt Code hinzu, um die Sitzungs-ID, das Token und den API-Schlüssel von einem Webdienst zu laden (anstatt hart kodierte Werte zu verwenden).

Nächste Schritte

Wenn Sie hier fertig sind, können Sie Ihre OpenTok-Application mit diesen hilfreichen Ressourcen weiter ausbauen und verbessern:

Einrichten Ihres Servers

Im obigen Tutorial haben wir Sie gebeten, Ihre Anmeldedaten fest einprogrammieren. Für eine Produktionsanwendung gilt jedoch, dass die sessionId und token Die Werte in Ihrem Code müssen von Ihrem Anwendungsserver generiert und an den Client übergeben werden. Hier sind einige Gründe, warum Sie in Ihrer Produktionsanwendung keine fest eingestellten Anmeldedaten verwenden sollten:

  • Token verfallen nach einer bestimmten Zeit (die bei der Generierung festgelegt wird), daher müssen regelmäßig neue generiert werden.
  • Sie können keine neuen Sitzungen dynamisch erstellen, sodass alle Nutzer Ihrer App in einem einzigen „Raum“ festsitzen würden.

Sie können Ihre Anwendung weiterhin mit fest programmierten Werten testen, aber wenn Sie bereit sind, einen Server einzurichten, gibt es dafür verschiedene Möglichkeiten:

Server-Option 1 – Starten Sie mit einem Klick einen einfachen REST-Server auf Heroku

Dies ist wahrscheinlich der schnellste Weg, einen Server in Betrieb zu nehmen, allerdings ist der Funktionsumfang dabei eingeschränkt. Klicken Sie einfach auf die Heroku-Schaltfläche unten. Sie werden dann zur Heroku-Website weitergeleitet und aufgefordert, Ihren OpenTok-API-Schlüssel und Ihr API-Geheimnis einzugeben – diese Werte finden Sie auf Ihrer Projektseite in Ihrem Video API-Konto. Falls Sie noch keinen Heroku-Account haben, müssen Sie sich registrieren (das ist kostenlos).

Deploy

Möchtest du dir den Code ansehen? Über die Schaltfläche oben wird der Servercode aus der Lernen mit OpenTok PHP GitHub-Repo. Besuchen Sie das Repo, um den Code sowie die zusätzliche Dokumentation einzusehen – Sie können das Repo sogar forken und vor der Bereitstellung Änderungen vornehmen.

Bevorzugen Sie Node.js? Besuchen Sie die Lernen mit OpenTok Node Repo für dieselbe Funktionalität mit Node.js (einschließlich Heroku-Deploy-Button).

Sobald der Server auf Heroku bereitgestellt ist, müssen Sie Ihrem clientseitigen Code einige Zeilen hinzufügen. Anstatt connectToAnOpenTokSession Um direkt darauf zuzugreifen, müssen Sie einen Netzwerkaufruf an den Pfad senden /session auf Ihrem Server, um zunächst gültige OpenTok-Anmeldedaten abzurufen.

Kopieren Sie den folgenden Code und ersetzen Sie damit viewDidLoad in Ihrer Datei „ViewController.m“:

- (void)viewDidLoad { [super viewDidLoad]; NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration]; NSURLSession *session = [NSURLSession sessionWithConfiguration:configuration]; NSURL *url = [NSURL URLWithString:<#https://YOURAPPNAME.herokuapp.com/session#>]; NSURLSessionDataTask *dataTask = [session dataTaskWithURL:url completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) { if (!error) { NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil]; kApiKey = dict[@"apiKey"]; kSessionId = dict[@"sessionId"]; kToken = dict[@"token"]; [self connectToAnOpenTokSession]; } else { NSLog(@"%@", error); } }]; [dataTask resume]; [session finishTasksAndInvalidate]; }

Sie müssen Folgendes ersetzen: https://YOURAPPNAME.herokuapp.com durch die tatsächliche URL Ihrer Heroku-App ersetzen – diese finden Sie auf Ihrer App-Seite auf der Heroku-Website.

Der obige Code sendet eine Anfrage an die /Sitzung Endpunkt (https://YOURAPPNAME.herokuapp.com/session), was eine HTTP-Antwort zurückgeben sollte, die die Sitzungs-ID, das Token und den API-Schlüssel im JSON-Format enthält, die dann den entsprechenden Variablen zugewiesen werden.

Diese /session Der Endpunkt gibt stets dieselbe Sitzungs-ID zurück, generiert jedoch bei jedem Aufruf ein neues Token – dadurch erhält jeder Client ein eindeutiges Token.

Server-Option 2 – Komplette Neuerstellung mithilfe der Server-SDKs

Option 1 nutzt REST-Endpunkte zur Übertragung von Anmeldedaten an den Client, doch dies ist nur eine von vielen Möglichkeiten, einen Server mit OpenTok zu implementieren. Wenn Sie ein höheres Maß an Anpassung wünschen, können Sie sich die Dokumentation von OpenTok ansehen. Dokumentation zum Server-SDK für die Serversprache Ihrer Wahl (verfügbar für PHP, Node.js, Java, .NET, Python und Rubinrot). Die Dokumentation behandelt den Einrichtungsprozess und die verschiedenen Methoden, die Sie zum Generieren von Sitzungen und Tokens benötigen, sowie weitere serverseitige Funktionen.