Ruby Server SDK
Mit dem Vonage Ruby SDK können Sie mit der Vonage Video API interagieren, indem Sie Methoden für:
- Sitzungen erstellen
- Erzeugen von Client-Tokens
- Arbeiten mit Strömen
- Arbeiten mit Archiven
- Arbeiten mit Broadcasts
- Signalisierung
- Moderation
- Arbeiten mit SIP
Einrichtung
Bundler (empfohlen):
Bundler hilft bei der Verwaltung von Abhängigkeiten für Ruby-Projekte. Mehr Informationen finden Sie hier: http://bundler.io
Fügen Sie den Edelstein zu Ihrem Projekt Gemfile:
gem "vonage"
Erlauben Sie Bundler, den Edelstein in Ihrem Projekt zu installieren.
$ bundle install
RubyGems:
Alternativ können Sie den Gem auch direkt auf Ihrem System über die Kommandozeile mit dem RubyGems CLI installieren gem install Befehl.
$ gem install vonage
Verwendung
Initialisierung
Laden Sie den Edelstein an den Anfang jeder Datei, in der er verwendet werden soll. Initialisieren Sie dann eine Vonage::Client Objekt mit dem privaten Schlüssel und der Anwendungs-ID, die mit Ihrer Vonage Video-Anwendung verbunden sind.
require "vonage"
client = Vonage::Client.new(
application_id: ENV['VONAGE_APPLICATION_ID'],
private_key: File.read(ENV['VONAGE_PRIVATE_KEY_PATH'])
)
Hinweis: Das obige Beispiel setzt voraus, dass Sie die Werte für Ihre Vonage Application ID und den Pfad zu Ihrem privaten Schlüssel als Umgebungsvariablen in einer ENV Hash mit den Schlüsseln VONAGE_APPLICATION_ID und VONAGE_PRIVATE_KEY_PATH beziehungsweise.
Initialisierungsoptionen
Der Vonage-Client erlaubt es, einige Standardkonfigurationsoptionen zu überschreiben, wenn besondere Anforderungen auftreten, wie z. B. die Notwendigkeit, auf ein anderes Rechenzentrum zu verweisen.
require "vonage"
client = Vonage::Client.new(
application_id: ENV['VONAGE_APPLICATION_ID'],
private_key: File.read(ENV['VONAGE_PRIVATE_KEY_PATH']),
video_host: 'country-specific-video.api.vonage.com'
)
Dieses Beispiel verwendet die video_host: Schlüsselwortargument, um die standardmäßige Basis-URL für die Video API außer Kraft zu setzen. Dies ist nützlich, wenn Sie ein bestimmtes Rechenzentrum auswählen oder zu Testzwecken auf einen Mock-Server der API verweisen müssen.
Sitzungen erstellen
An eine Vonage-Videositzung erstellen mit dem Ruby SDK, verwenden Sie die Video#create_session Methode. Die Methode akzeptiert einige optionale Schlüsselwortparameter:
:media_mode: ob die Sitzung die Funktion Vonage Video-Media-Routerdie für einige Vonage Video-Funktionen (z. B. Archivierung) erforderlich ist. Die gültigen Optionen sind'routed'(für die Verwendung des Media Routers ist dies die Standardeinstellung) oder'relayed'(für Peer-to-Peer-Streaming):archive_mode: Ob die Sitzung automatisch archiviert wird oder nicht. Die gültigen Optionen sind'always'(für die automatische Archivierung) oder'manual'(bei der manuell gesteuerten Archivierung ist dies der Standard):location: Ein Standort-Hinweis für den Vonage Video-Server.
Nachfolgend finden Sie einige Beispiele für die Erstellung von Sitzungen mit unterschiedlichen Einstellungen:
Erstellen einer Sitzung unter Verwendung der Standardeinstellungen (
media_modewird standardmäßig auf'routed'die den Vonage Media Router verwenden wird, undarchive_modewird standardmäßig auf'manual'die nicht automatisch ein Archiv erstellen):session = client.video.create_sessionErstellen einer Sitzung, in der versucht wird, Streams direkt zwischen Clients zu übertragen (beachten Sie, dass
archive_modeMUSS SEIN'manual'was die Standardeinstellung ist, fürmedia_modezu sein'relayed'):session = client.video.create_session(media_mode: 'relayed')Erstellen einer Sitzung mit einem Hinweis auf den Standort:
session = client.video.create_session(location: '12.34.56.78')Erstellen einer Sitzung mit automatischer Archivierung (MUSS die
'routed'Medienmodus, der die Standardeinstellung ist):session = client.video.create_session(archive_mode: 'always')
Sie können die session_id Accessor-Methode des zurückgegebenen Vonage::Response Instanz, um die Sitzungs-ID der erstellten Sitzung zu erhalten. Diese kann einer Variablen zugewiesen oder später verwendet werden, z. B. wenn Token erzeugen:
session_id = session.session_id
Token generieren
Sobald eine Sitzung erstellt ist, können Sie beginnen Token erzeugen für Clients, die bei der Verbindung mit der Sitzung verwendet werden.
Sie können ein Token erzeugen, indem Sie die Funktion Video#generate_client_token Methode. Die Methode erwartet ein erforderliches Schlüsselwortargument :session_iddie die ID der Sitzung ist, für die Sie das Token erstellen möchten (siehe Sitzungen erstellen oben). Zusätzlich akzeptiert die Methode einige optionale Schlüsselwortparameter:
:scope: der Geltungsbereich des Tokens. Dieser kann nur gesetzt werden auf'session.connect'was die Standardeinstellung ist.:role: die Rolle des Kunden. Gültige Optionen sind'publisher'(dies ist die Standardeinstellung),'subscriber','moderator'und'publisher-only'. Siehe Rollen:data: eine Zeichenkette mit Metadaten, die den Client beschreiben, z. B. eine Benutzerkennung oder ein Name. Siehe Verbindungsdaten:expire_timeeine Verfallszeit von bis zu 30 Tagen für das Token (danach kann es nicht mehr für die Verbindung zur Sitzung verwendet werden), als Ganzzahl Epochensekunden. Die Standardeinstellung ist 24 Stunden.:initial_layout_class_list:
Nachstehend finden Sie einige Beispiele für die Erzeugung von Token:
Generieren Sie ein Token mit Standardeinstellungen:
token = client.video.generate_client_token(session_id: session_id)Generieren Sie ein Token mit einigen spezifischen Optionen
token = client.video.generate_client_token( session_id: session_id, role: 'moderator', expire_time: Time.now.to_i+(7 * 24 * 60 * 60), # in one week data: 'name=Johnny', initial_layout_class_list: ['focus', 'inactive'] )
Arbeiten mit Strömen
Das Ruby SDK bietet Methoden zum Abrufen von Informationen über einen bestimmten Vonage Video-Stream, der mit einer Sitzung verbunden ist, oder zum Abrufen von Informationen über alle Streams für diese Sitzung (siehe Sitzungen erstellen).
Um Informationen über alle Streams in einer Sitzung zu erhalten, verwenden Sie die Streams#list Methode:
streams = client.video.streams.list(session_id: session_id)
Sie können dann verschiedene Accessor-Methoden für die zurückgegebenen Vonage::Streams::ListResponse Instanz, um Informationen über die Streamliste zu erhalten:
streams.count # => integer with the number of streams in the list
streams.items # => array of streams connected to the session
Die items Array enthält einzelne Streams, die mit der Sitzung in Form von Vonage::Entity Objekte, für die Sie Accessor-Methoden aufrufen können. Um zum Beispiel die ID des ersten Streams in der Liste der Streams zu erhalten, könnten Sie Folgendes tun:
stream_id = streams.items.first.id # => "af61926e-77dd-43ae-aa83-0b7e2835b3a0"
Die Vonage::Streams::ListResponse Klasse umfasst Enumerableso können Sie jede Enumerable Methode auf eine Vonage::Streams::ListResponse Objekt. Um beispielsweise ein Array mit den IDs aller mit der Sitzung verbundenen Streams zu erhalten, könnten Sie Folgendes tun:
stream_ids_array = streams.map { |stream| stream.id }
Um Informationen über einen bestimmten Stream in einer Sitzung zu erhalten, verwenden Sie die Streams#info Methode:
stream = client.video.streams.info(session_id: session_id, stream_id: stream_id)
Sie können dann verschiedene Accessor-Methoden für die zurückgegebenen Vonage::Response Instanz, um Informationen über den Stream zu erhalten:
stream.id # string with the stream ID
stream.video_type # string with the video type
stream.name # string with the name
stream.layout_class_list # array with the layout class list
Arbeiten mit Archiven
Mit der Vonage Video API können Sie Archivieren, Speichern und Abrufen von Sitzungen.
Sie können nur Sitzungen archivieren, die den Vonage Video Media Router verwenden (Sitzungen mit dem Medienbetrieb eingestellt auf routed).
Starten einer Archivaufzeichnung
Wenn Sie eine Sitzung erstellenkönnen Sie die archive_mode zu 'always' um automatisch eine Archivaufzeichnung einer Sitzung zu erstellen. Wenn Sie die Option archive_mode zu 'manual' können Sie stattdessen eine Archivaufzeichnung der Sitzung starten, indem Sie die Archives#start Methode.
Die Methode erfordert ein Schlüsselwortargument, :session_idfür die zu archivierende Sitzung und nimmt auch einige optionale Schlüsselwortargumente entgegen, mit denen Sie die :has_audio, :has_videound :name Optionen. Beachten Sie, dass Sie ein Archiv nur in einer Sitzung starten können, in der bereits Clients verbunden sind.
Nachstehend finden Sie einige Beispiele für die Erstellung von Archiven:
Ein Archiv erstellen
archive = client.video.archives.start(session_id: session_id)Ein benanntes Archiv erstellen
archive = client.video.archives.start(session_id: session_id, name: 'Important Presentation')Ein reines Audio-Archiv erstellen
archive = client.video.archives.start(session_id: session_id, has_video: false)
Sie können die id Accessor-Methode des zurückgegebenen Vonage::Response Instanz, um die Archiv-ID des erstellten Archivs zu erhalten. Sie können diese ID dann für andere Interaktionen mit dem Archiv verwenden, z. B. zum Stoppen der Archivaufzeichnung oder zum Abrufen von Informationen über das Archiv.
archive_id = archive.id
Einstellung der output_mode Option zu 'individual' bewirkt, dass jeder Stream im Archiv in einer eigenen Datei aufgezeichnet wird:
archive = client.video.archives.start(session_id: session_id, output_mode: 'individual')
Einstellung der output_mode Option zu 'composed' (die Standardeinstellung) bewirkt, dass alle Streams im Archiv in einer einzigen (zusammengesetzten) Datei aufgezeichnet werden.
Für zusammengesetzte Archive können Sie die resolution des Archivs, "640x480" (SD-Querformat, Standard), "1280x720" (HD-Querformat), "1920x1080" (FHD-Querformat), "480x640" (SD-Hochformat), "720x1280" (HD-Hochformat) oder "1080x1920" (FHD-Hochformat).
archive = client.video.archives.start(session_id: session_id, output_mode: 'composed', resolution: '1280x720')
Um das anfängliche Layout der zusammengestellten Archive anzupassen, können Sie die layout Option. Setzen Sie dies auf einen Hash mit zwei Schlüsseln: :type und :stylesheet.
Gültige Werte für :type sind "bestFit" (beste Anpassung), "custom" (benutzerdefiniert), "horizontalPresentation" (horizontale Darstellung), "pip" (Bild-in-Bild) und "verticalPresentation" (vertikale Darstellung).
Wenn Sie einen "benutzerdefinierten" Layouttyp angeben, setzen Sie die :stylesheet auf eine Zeichenkette mit CSS-Stilen. (Für andere Layouttypen setzen Sie nicht den :stylesheet Schlüssel).
archive = client.video.archives.start(
session_id: session_id
output_mode: 'composed',
resolution: '1280x720',
layout: {
type: 'custom',
stylesheet: 'stream:last-child{display: block;margin: 0;top: 0;left: 0;width: 1px;height: 1px;}stream:first-child{display: block;margin: 0;top: 0;left: 0;width: 100%;height: 100%;}'
}
}
Wenn Sie keinen anfänglichen Layouttyp angeben, verwendet das Archiv die 'bestFit' Layout-Typ. Für weitere Informationen, siehe Anpassen des Videolayouts für zusammengestellte Archive.
Beachten Sie, dass Sie auch eine automatisch archivierte Sitzung erstellen können, indem Sie in 'always' als Wert die :archive_mode Schlüsselwortargument, das an die Video#create_session Methode (siehe Sitzungen erstellen oben).
Anhalten einer Archivaufzeichnung
Sie können die Aufzeichnung eines gestarteten Archivs mit der Taste Archives#stop Methode und die Übergabe der :archive_id des zu beendenden Archivs.
client.video.archives.stop(archive_id: archive_id)
Informationen über Archive erhalten
Sie können Informationen über eine bestimmte Archivaufzeichnung mit der Funktion Archives#info Methode und die Übergabe der :archive_id des Archivs.
archive_info = client.video.archives.info(archive_id: archive_id)
Sie können sich auch eine Liste aller von Ihnen erstellten Archive (bis zu 1000) anzeigen lassen. Dies geschieht mit der Funktion Archives#list Methode. Die Methode kann optionale :offset und :count Schlüsselwortargumente, die Ihnen helfen, die Ergebnisse zu paginieren. Dies gibt eine Instanz der Video::Archives::ListResponse Klasse.
archive_list = client.video.archives.list
Löschen eines Archivs
Um ein Archiv zu löschen, können Sie die Funktion Archives#delete Methode und die Übergabe der archive_id des zu löschenden Archivs.
client.video.archives.delete(archive_id: archive_id)
Einstellen des Layouts eines Archivs
Sie können das Layout eines Archivs mit der Funktion Archives#change_layout Methode:
client.video.archives.change_layout(
archive_id: archive_id,
type: 'verticalPresentation'
)
Die Methode nimmt eine erforderliche archive_id Schlüsselwortargumente sowie drei optionale Argumente (type, stylesheetund screenshare_type):
Die
typeist der Layouttyp für das Archiv. Gültige Werte sind "bestFit" (beste Anpassung), "custom" (benutzerdefiniert), "horizontalPresentation" (horizontale Darstellung), "pip" (Bild-in-Bild) und "verticalPresentation" (vertikale Darstellung).Wenn Sie einen "benutzerdefinierten" Layouttyp angeben, setzen Sie die
stylesheetEigenschaft. (Für andere Layouttypen setzen Sie die Stylesheet-Eigenschaft nicht.)Die
screenshare_typegibt den Layouttyp an, der verwendet werden soll, wenn ein Screen-Sharing-Stream in der Sitzung vorhanden ist. Beachten Sie, dass Sie zur Verwendung dieser Eigenschaft die OptiontypeEigenschaft auf "bestFit" und lassen Sie diestylesheetEigenschaft nicht gesetzt. Für weitere Informationen, siehe Layout-Typen für die Bildschirmfreigabe.
Sie können die anfängliche Layoutklasse für die Streams eines Clients festlegen, indem Sie die layout wenn Sie das Token für den Client erstellen, indem Sie die Option Video#generate_client_token Methode.
Die Festlegung des Layouts von zusammengestellten Archiven ist optional. Standardmäßig wird für zusammengesetzte Archive das Layout "best fit" verwendet. Siehe Anpassen des Videolayouts für zusammengestellte Archive für weitere Einzelheiten.
Arbeiten mit Broadcasts
Mit der Vonage Video API können Sie Broadcast-Sitzungen.
Sie können nur Sitzungen übertragen, die den Vonage Video Media Router verwenden (Sitzungen mit dem Medienbetrieb eingestellt auf routed).
Starten einer Sendung
Sie können eine Übertragung der Sitzung starten, indem Sie die Broadcasts#start Methode. Die Methode erfordert ein Schlüsselwortargument, :session_idfür die zu übertragende Sitzung und nimmt auch einige optionale Schlüsselwortargumente entgegen, mit denen Sie Einstellungen für die Übertragung festlegen können:
layout: wird verwendet, um das Layout der Sendung anzupassen. Setzen Sie dies auf einen Hash mit drei Schlüsseln::type(erforderlich). Gültige Werte sind"bestFit"(beste Anpassung),"custom"(Gewohnheit),"horizontalPresentation"(horizontale Darstellung),"pip"(Bild-in-Bild), und"verticalPresentation"(vertikale Darstellung).:stylesheet: (erforderlich, wenn:typewird eingestellt auf'custom'). Wenn Sie einen "benutzerdefinierten" Layouttyp angeben, setzen Sie den:stylesheetauf eine Zeichenkette mit CSS-Stilen. (Für andere Layouttypen setzen Sie nicht den:stylesheetSchlüssel).:screenshareTypescreenshareType: Wird verwendet, um die Eigenschaft screenshareType auf den Layouttyp zu setzen, der verwendet werden soll, wenn es einen Screen-Sharing-Stream in der Sitzung gibt. Gültige Werte sind"bestFit"(beste Anpassung),"custom"(Gewohnheit),"horizontalPresentation"(horizontale Darstellung),"pip"(Bild-in-Bild), und"verticalPresentation"(vertikale Darstellung).
max_duration: Die maximale Dauer für die Übertragung in Sekunden. Der Standardwert ist 4 Stunden.outputs: Ein Hash, der die Arten von Broadcast-Streams definiert, die Sie starten möchten (sowohl HLS als auch RTMP). Der Hash hat zwei mögliche Schlüssel,:hlsund/oderrtmp::hls: Dies ist ein Hash mit zwei möglichen Schlüsseln (beide boolesche Werte),:dvr(ob die DVR-Funktionalität aktiviert werden soll), und:lowLatency(ob der Modus der niedrigen Latenz für den HLS-Stream aktiviert werden soll):rtmp: ein Array von bis zu fünf Hashes, die jeweils Informationen über RTMP-Broadcast-Streams enthalten. Jeder Hash kann einen:idfür den Stream, eine erforderliche:serverUrlfür den RTMP-Server, und eine erforderliche:streamName.
:resolution: eine Zeichenkette, die die Auflösung der Sendung angibt. Gültige Optionen sind640x480,1280x720,1920x1080,480x640,720x1280,1080x1920:stream_mode: entwederauto(die Standardeinstellung), odermanual:multi_broadcast_tagWenn Sie mehrere Übertragungen für dieselbe Sitzung unterstützen, setzen Sie dies auf eine eindeutige Zeichenfolge für jede gleichzeitige Übertragung.:max_bitrate: Die maximale Bitrate für den Stream
Nachstehend finden Sie einige Beispiele für die Erstellung von Sendungen:
Erstellen einer HLS-Sendung
broadcast = client.video.archives.start( session_id: session_id, outputs: { hls: { dvr: true, lowLatency: true } } )Eine RTMP-Übertragung erstellen
broadcast = client.video.archives.start( session_id: session_id, outputs: { rtmp: [ { id: 'foo', serverURL: "rtmps://myfooserver/myfooapp", streamName: "myfoostream" } ] } )
Sie können die id Accessor-Methode des zurückgegebenen Vonage::Response Instanz, um die Broadcast-ID des erstellten Broadcasts zu erhalten. Sie können diese ID dann für andere Interaktionen mit dem Broadcast verwenden, z. B. zum Anhalten des Broadcasts oder zum Abrufen von Informationen über den Broadcast.
broadcast_id = broadcast.id
Anhalten einer Sendung
Sie können eine Sendung mit dem Befehl Broadcasts#stop Methode und die Übergabe der :broadcast_id der zu stoppenden Sendung.
client.video.broadcasts.stop(broadcast_id: broadcast_id)
Informationen über den Rundfunk erhalten
Sie können Informationen über eine bestimmte Sendung mit dem Befehl Broadcast#info Methode und die Übergabe der :broadcast_id der Sendung.
broadcast_info = client.video.broadcasts.info(broadcast_id: broadcast_id)
Sie können auch eine Liste aller von Ihnen erstellten Broadcasts abrufen. Dies geschieht mit der Funktion Broadcasts#list Methode. Die Methode kann optionale :offset und :count Schlüsselwortargumente, die Ihnen helfen, die Ergebnisse zu paginieren. Dies gibt eine Instanz der Video::Broadcasts::ListResponse Klasse.
broadcast_list = client.video.broadcasts.list
Signalisierung
Sie können ein Signal entweder an einen bestimmten Teilnehmer einer aktiven Vonage Video-Sitzung oder an alle Teilnehmer senden.
Um an einen bestimmten Teilnehmer zu senden, verwenden Sie die Signals#send_to_one Methode.
client.video.signals.send_to_one(
session_id: '80e87ab2-8dd3-11ed-a1eb-0242ac120002',
connection_id: '909b9024-901d-11ed-a1eb-0242ac120002',
type: 'chat',
data: 'Hello'
)
Um an alle Teilnehmer zu senden, verwenden Sie die Signals#send_to_all Methode.
client.video.signals.send_to_all(
session_id: '80e87ab2-8dd3-11ed-a1eb-0242ac120002',
type: 'chat',
data: 'Hello'
)
Beide Methoden erfordern session_id, typeund data Schlüsselwortargumente. Die Website send_to_one Methode erfordert zusätzlich eine connection_id Schlüsselwortargument, das den spezifischen Teilnehmer angibt, an den das Signal gesendet werden soll.
Die maximale Länge der type string ist 128 Byte groß und darf nur Buchstaben (A-Z und a-z), Numbers (0-9), '-', '_' und '~' enthalten.
Die data String darf die maximale Größe (8 kB) nicht überschreiten.
Weitere Informationen zur Signalisierung finden Sie in der Vonage Video-Signalisierung Programmieranleitung.
Moderation
Sie können moderate Sitzungen auf verschiedene Weise.
Sie können einen Client dazu zwingen, die Verbindung zu einer Sitzung zu beenden, indem Sie die Moderation#force_disconnect Methode und übergibt dabei die session_id der aktiven Vonage-Videositzung und die connection_id des zu trennenden Clients.
client.video.moderation.force_disconnect(
session_id: '80e87ab2-8dd3-11ed-a1eb-0242ac120002',
connection_id: '909b9024-901d-11ed-a1eb-0242ac120002'
)
Sie können einen bestimmten Stream in einer aktiven Vonage Video-Sitzung stummschalten oder mehrere Streams in dieser Sitzung stummschalten.
Um einen bestimmten Stream stumm zu schalten, verwenden Sie die Moderation#mute_single_stream Methode und übergibt dabei die session_id der aktiven Vonage-Videositzung und die stream_id des zu stummschaltenden Streams.
client.video.moderation.mute_single_stream(
session_id: '80e87ab2-8dd3-11ed-a1eb-0242ac120002',
stream_id: '684d899a-901f-11ed-a1eb-0242ac120002'
)
Um mehrere Streams in einer Sitzung stumm zu schalten, verwenden Sie die Moderation#mute_multiple_streams Methode.
client.video.moderation.mute_multiple_streams(
session_id: '80e87ab2-8dd3-11ed-a1eb-0242ac120002',
active: true,
excluded_stream_ids: [
'2c2a905c-9029-11ed-a1eb-0242ac120002',
'2c2a92f0-9029-11ed-a1eb-0242ac120002',
'2c2a97c8-9029-11ed-a1eb-0242ac120002'
]
)
Sowie die session_iddie mute_multiple_streams Methode definiert zwei zusätzliche Schlüsselwortargumente:
Die
activeist erforderlich und sollte auf einen der folgenden Werte gesetzt werdentrueoderfalse. Einstellung auftrueaktiviert die Stummschaltung der Sitzung, was bedeutet, dass alle aktuellen und zukünftigen Streams, die für die Sitzung veröffentlicht werden (mit Ausnahme der Streams imexcluded_stream_idsArray) werden stummgeschaltet. Wenn Sie diese Methode mit der OptionactiveEigenschaft eingestellt auffalsewerden künftige Streams, die für die Sitzung veröffentlicht werden, nicht stummgeschaltet (vorhandene stummgeschaltete Streams bleiben jedoch stumm).Die
excluded_stream_idsist optional und enthält ein Array von Stream-IDs, die von der Stummschaltung ausgeschlossen werden sollen.
Arbeiten mit SIP
Sie können eine SIP-Anruf unter Verwendung der SIP#dial Methode. Die Methode hat drei erforderliche Schlüsselwortargumente:
:session_id: die ID der Sitzung, in die gewählt werden soll.:token: ein Client-Token für die Sitzung (siehe Erzeugen von Client-Tokens):sip_uriSIP URI: die SIP URI, die als Ziel des von Vonage Video initiierten SIP-Anrufs an Ihre SIP-Plattform verwendet werden soll.
Im Folgenden finden Sie ein Beispiel für die Verwendung der SIP#dial Methode:
client.video.sip.dial(
session_id: session_id,
token: token,
sip_uri: "sip:+15128675309@acme.pstn.example.com;transport=tls"
)
Weitere Informationen zu SIP Interconnect finden Sie in der Vonage Video-SIP-Zusammenschaltung Leitfaden für Entwickler.
Anforderungen
Sie benötigen eine Anwendungs-ID und einen privaten Schlüssel für eine videofähige Vonage Application. Sie können eine Vonage-Applikation über die Vonage Dashboard.
Das Vonage Video Ruby SDK unterstützt Ruby 2.7.0 oder höher.
Anmerkungen zur Veröffentlichung
Beachten Sie, dass sich die Videofunktionalität in der Vonage Ruby SDK von Version 7.19.0.
Siehe die Veröffentlichungen Seite für Details.