Hérite de NSObject
Déclaré dans OTSession.h

Vue d'ensemble

La première étape pour utiliser le SDK OpenTok pour iOS consiste à initialiser un objet OTSession avec votre clé API et une ID de la session Utilisez l'objet OTSession pour vous connecter à OpenTok à l'aide de votre identifiant de développeur Clé API et un jeton.

Obtenir des informations sur la session

sessionConnectionStatus

État de cette instance OTSession. Utile pour les requêtes ponctuelles concernant l'état de la session.

@property (readonly) OTSessionConnectionStatus sessionConnectionStatus

Discussion

Les valeurs valides sont définies dans OTSessionConnectionStatus :

  • OTSessionConnectionStatusNotConnected - La session n'est pas connectée.
  • OTSessionConnectionStatusConnected - La session est connectée.
  • OTSessionConnectionStatusConnecting - La session est en cours d'établissement.
  • OTSessionConnectionStatusDisconnecting - La session est en train de se déconnecter.
  • OTSessionConnectionStatusFailed - La session a rencontré une erreur fatale

Lors de l'instanciation, attendez-vous à ce que le sessionConnectionStatus pour que la valeur soit OTSessionConnectionStatusNotConnected.

Vous pouvez utiliser un observateur clé-valeur pour surveiller cette propriété. Cependant, le [OTSessionDelegate sessionDidConnect:] et [OTSessionDelegate sessionDidDisconnect:] Des messages sont envoyés au délégué de la session lorsque celle-ci s'établit ou se déconnecte.

Déclaré à

OTSession.h

sessionId

Les ID de la session de cette instance. Il s'agit d'une valeur immuable.

@property (readonly) NSString *sessionId

Déclaré à

OTSession.h

streams

Les flux faisant partie de cette session, identifiés par leur streamId.

@property (readonly) NSDictionary<NSString*OTStream*> *streams

Déclaré à

OTSession.h

connection

Les OTConnection objet pour cette session. La propriété de connexion n'est disponible qu'une fois que le [OTSessionDelegate sessionDidConnect:] Le message est envoyé. Si la session ne parvient pas à s'établir, cette propriété doit rester nulle.

@property (readonly) OTConnection *connection

Déclaré à

OTSession.h

delegate

Les OTSessionDelegate objet qui sert d'objet délégué pour cet objet OTSession, et qui gère les messages pour le compte de cette session.

@property (nonatomic, assign) id<OTSessionDelegate> _Nullable delegate

Déclaré à

OTSession.h

apiQueue

La file d'attente des rappels du délégué peut être définie par l'application. La file d'attente GCD chargée d' émettre les rappels vers le délégué peut être redéfinie afin de permettre l'intégration avec XCTest (nouveauté d'XCode 5) ou d'autres frameworks nécessitant de fonctionner dans le thread principal.

@property (nonatomic, assign) dispatch_queue_t _Nonnull apiQueue

Déclaré à

OTSession.h

capabilities

Un OTSessionCapabilities objet qui indique si le client peut publier et s'abonner à des flux au cours de la session, en fonction du rôle attribué au jeton utilisé pour se connecter à la session. Cette propriété est définie sur nil jusqu'à ce que vous soyez connecté à une session et que le [OTSessionDelegate sessionDidConnect:] La méthode a été appelée.

@property (readonly) OTSessionCapabilities *capabilities

Déclaré à

OTSession.h

Initialisation et connexion à une session

– initWithApiKey:sessionId:delegate:

Initialisez cette session à l'aide de votre clé API OpenTok, une ID de la session, et déléguer avant de se connecter à OpenTok. Envoyer le [OTSession connectWithToken:error:] message pour se connecter à la session.

- (nullable id)initWithApiKey:(nonnull NSString *)apiKey sessionId:(nonnull NSString *)sessionId delegate:(nullable id<OTSessionDelegate>)delegate

Paramètres

apiKey Votre clé API OpenTok. Important : Si vous utilisez une application Vonage (et non un projet OpenTok), indiquez l'identifiant de l'application (et non une clé API OpenTok) pour ce paramètre.
sessionId L'identifiant de session de cette instance.
delegate Le délégué (OTSessionDelegate) qui gère les messages pour le compte de cette session.

Valeur de retour

L'objet OTSession, ou nil si l'initialisation échoue.

Déclaré à

OTSession.h

– initWithApiKey:sessionId:delegate:settings:

Initialisez l'objet OTSession avec les paramètres définis par un OTSessionSettings objet.

- (nullable id)initWithApiKey:(nonnull NSString *)apiKey sessionId:(nonnull NSString *)sessionId delegate:(nullable id<OTSessionDelegate>)delegate settings:(nullable OTSessionSettings *)settings

Paramètres

apiKey Votre clé API OpenTok. Important : Si vous utilisez la Video API avec une application Vonage (et non un projet OpenTok), indiquez l'identifiant de l'application (et non une clé API OpenTok) pour ce paramètre.
sessionId L'identifiant de session de cette instance.
delegate Le délégué (OTSessionDelegate) pour la session.
settings Le (OTSessionSettings) objet qui définit les paramètres de la session.

Déclaré à

OTSession.h

– connectWithToken:error:

Une fois que votre demande comporte un jeton, entrez en contact avec votre Clé API pour commencer à participer à une session OpenTok.

- (void)connectWithToken:(nonnull NSString *)token error:(OTError *_Nullable *_Nullable)error

Paramètres

token Le jeton généré pour cette connexion.
error À définir si une erreur survient de manière synchrone lors du traitement de la requête. Le OTSessionErrorCode L'énumération (définie dans le fichier OTError.h) définit les valeurs pour le code propriété de cet objet. Cet objet est NULL si aucune erreur synchrone ne se produit. Si une erreur asynchrone se produit, la [OTSessionDelegate session:didFailWithError:] le message est envoyé au délégué de la session.

Discussion

Une fois la connexion établie, le [OTSessionDelegate sessionDidConnect:] Le message est envoyé au délégué de la session.

Si la session ne parvient pas à se connecter, le [OTSessionDelegate session:didFailWithError:] Le message est envoyé au délégué de la session.

Lorsque la session est interrompue, le [OTSessionDelegate sessionDidDisconnect:] le message est envoyé au délégué de la session.

Notez que les sessions se déconnectent automatiquement lorsque l'application est suspendue.

Veillez à définir une méthode de délégation pour le [OTSessionDelegate session:didFailWithError:] message.

Déclaré à

OTSession.h

– disconnect:

Se déconnecter d'une session OpenTok en cours.

- (void)disconnect:(OTError *_Nullable *_Nullable)error

Paramètres

error À définir si une erreur survient de manière synchrone lors du traitement de la requête. Le OTSessionErrorCode L'énumération (définie dans le fichier OTError.h) définit les valeurs pour le code propriété de cet objet. Cet objet est NULL si aucune erreur ne se produit.

Discussion

Cette méthode détruit tous les objets OTPublisher et OTSubscriber qui ont été initialisés.

Il est recommandé, avant d'appeler cette méthode, d'appeler la méthode [OTSession unpublish:erreur:] méthode pour tous les éditeurs et attendre la [OTPublisherKitDelegate publisher:streamDestroyed:] message. Cela garantit la suppression complète des éditeurs, en particulier si des problèmes de connectivité réseau empêchent leur suppression en raison de la fonctionnalité de reconnexion, qui peut maintenir les flux des éditeurs actifs en vue d'une éventuelle reconnexion.

Lorsque la session est interrompue, le [OTSessionDelegate sessionDidDisconnect:] Le message est envoyé au délégué de la session.

Déclaré à

OTSession.h

Diffusion de flux audio-vidéo vers une session

– publish:error:

Ajoute un éditeur à la session.

- (void)publish:(nonnull OTPublisherKit *)publisher error:(OTError *_Nullable *_Nullable)error

Paramètres

publisher Les OTPublisherKit objet à diffuser.
error À définir si une erreur survient de manière synchrone lors du traitement de la requête. Le OTPublisherErrorCode L'énumération (définie dans le fichier OTError.h) définit les valeurs pour le code propriété de cet objet. Cet objet est NULL si aucune erreur ne se produit. Si une erreur asynchrone se produit, la [OTPublisherKitDelegate publisher:didFailWithError:] le message est envoyé au délégué de l'éditeur.

Discussion

Lorsque l'éditeur commence à diffuser des données, le [OTPublisherKitDelegate publisher:streamCreated:] Le message est envoyé au délégué de l'éditeur.

Si la publication échoue, [OTPublisherKitDelegate publisher:didFailWithError:] est envoyé au délégué de l'éditeur et aucun message du délégué de session ne sera transmis.

Veuillez noter que la prise en charge de plusieurs éditeurs n'est pas disponible.

Déclaré à

OTSession.h

– unpublish:error:

Supprime un éditeur de la session.

- (void)unpublish:(nonnull OTPublisherKit *)publisher error:(OTError *_Nullable *_Nullable)error

Paramètres

publisher Les OTP éditeur objet à supprimer de la session.
error À définir si une erreur survient de manière synchrone lors du traitement de la requête. Le OTPublisherErrorCode L'énumération (définie dans le fichier OTError.h) définit les valeurs pour le code propriété de cet objet. Cet objet est NULL si aucune erreur ne se produit.

Discussion

Une fois l'éditeur supprimé, le [OTPublisherKitDelegate publisher:streamDestroyed:] Un message est envoyé au délégué de l'éditeur une fois la diffusion terminée.

Déclaré à

OTSession.h

S'abonner à des flux audio-vidéo

– subscribe:error:

Connecte cette instance d'abonné à la session et lance l'abonnement. Si l'abonné passé en paramètre est créé à partir d'un OTStream par exemple, à partir d'un autre OTSession Dans ce cas, le comportement de cette fonction n'est pas défini.

- (void)subscribe:(nonnull OTSubscriberKit *)subscriber error:(OTError *_Nullable *_Nullable)error

Paramètres

subscriber L'abonné doit se connecter pour commencer à s'abonner.
error À définir si une erreur survient de manière synchrone lors du traitement de la requête. Le OTSubscriberErrorCode L'énumération (définie dans le fichier OTError.h) définit les valeurs pour le code propriété de cet objet. Cet objet est NULL si aucune erreur ne se produit. Si une erreur asynchrone se produit, la [OTSubscriberKitDelegate subscriber:didFailWithError:] Le message est envoyé au délégué de l'abonné.

Déclaré à

OTSession.h

– unsubscribe:error:

Déconnecte cette instance d'abonné de la session et lance le nettoyage des objets.

- (void)unsubscribe:(nonnull OTSubscriberKit *)subscriber error:(OTError *_Nullable *_Nullable)error

Paramètres

subscriber L'abonné doit se déconnecter et quitter cette session.
error À définir si une erreur survient de manière synchrone lors du traitement de la requête. Le OTSubscriberErrorCode L'énumération (définie dans le fichier OTError.h) définit les valeurs pour le code propriété de cet objet. Cet objet est NULL si aucune erreur ne se produit.

Déclaré à

OTSession.h

Envoi et réception de signaux au cours d'une session

– signalWithType:string:connection:error:

Envoie un signal à un ou plusieurs clients participant à une session.

- (void)signalWithType:(NSString *_Nullable)type string:(NSString *_Nullable)string connection:(OTConnection *_Nullable)connection error:(OTError *_Nullable *_Nullable)error

Paramètres

type Le type du signal. Ce type est également défini dans le [OTSessionDelegate session:receivedSignalType:fromConnection:withString:] message. La longueur maximale de la chaîne de caractères est de 128 caractères ; elle ne doit contenir que des lettres (A-Z et a-z), des Numbers (0-9), les caractères « - », « _ » et « ~ ».
string Les données à envoyer. La taille maximale des données est de 8 Ko.
connection Un objet OTConnection de destination. Définissez ce paramètre sur nil pour envoyer un signal à tous les participants à la session.
error En cas d'échec de l'envoi d'un signal, cette valeur est définie sur un objet OTError. L'énumération OTSessionErrorCode (dans OTError.h) comprend les constantes OTSessionInvalidSignalType et OTSessionSignalDataTooLong pour ces erreurs. Notez qu’un résultat positif indique que les options transmises à la méthode sont valides et que le signal a été envoyé. Cela ne signifie pas pour autant que le signal a bien été reçu par l’un des destinataires prévus.

Discussion

Voir [OTSession signalWithType:string:connection:retryAfterReconnect:error:] et [OTSessionDelegate session:receivedSignalType:fromConnection:withString:].

Déclaré à

OTSession.h

– signalWithType:string:connection:retryAfterReconnect:error:

Envoie un signal à un ou plusieurs clients au cours d'une session. Cette version de la méthode comprend un retryAfterReconnect paramètre.

- (void)signalWithType:(NSString *_Nullable)type string:(NSString *_Nullable)string connection:(OTConnection *_Nullable)connection retryAfterReconnect:(BOOL)retryAfterReconnect error:(OTError *_Nullable *_Nullable)error

Paramètres

type Le type du signal. Ce type est également défini dans le [OTSessionDelegate session:receivedSignalType:fromConnection:withString:] message. La longueur maximale de la chaîne de caractères est de 128 caractères ; elle ne doit contenir que des lettres (A-Z et a-z), des chiffres (0-9), les caractères « - », « _ » et « ~ ». Voir [OTSession signalWithType:string:connection:retryAfterReconnect:error:], [OTSessionDelegate session:receivedSignalType:fromConnection:withString:]et [OTSessionDelegate sessionDidBeginReconnecting:].
string Les données à envoyer. La taille maximale des données est de 8 Ko.
connection Un objet OTConnection de destination. Définissez ce paramètre sur nil pour envoyer un signal à tous les participants à la session.
retryAfterReconnect Lors de la reconnexion à la session, il convient de déterminer s'il faut envoyer les signaux qui ont été déclenchés pendant la déconnexion. Si votre client perd sa connexion à la session OpenTok en raison d'une interruption de la connexion réseau, il tente de se reconnecter à la session, et le [OTSessionDelegate sessionDidBeginReconnecting:] Le message est envoyé. Par défaut, les signaux générés alors que la connexion était interrompue sont envoyés lorsque (et si) le client se reconnecte à la session OpenTok. Vous pouvez empêcher cela en définissant le retryAfterReconnect au paramètre false. (La valeur par défaut est true.)
error En cas d'échec de l'envoi d'un signal, cette valeur est définie sur un objet OTError. L'énumération OTSessionErrorCode (dans OTError.h) comprend les constantes OTSessionInvalidSignalType et OTSessionSignalDataTooLong pour ces erreurs. Notez qu’un résultat positif indique que les options transmises à la méthode sont valides et que le signal a été envoyé. Cela ne signifie pas pour autant que le signal a bien été reçu par l’un des destinataires prévus.

Déclaré à

OTSession.h

Forcer la mise en sourdine du son des flux

– forceMuteAll:error:

Oblige tous les diffuseurs de la session (à l'exception de ceux qui diffusent des flux exclus) à couper le son.

- (void)forceMuteAll:(NSArray<OTStream*> *_Nullable)excludedStreams error:(OTError *_Nullable *_Nullable)error

Paramètres

excludedStreams Flux à exclure de la demande de mise en sourdine. Définissez cette valeur sur null pour mettre en sourdine tous les flux de la session (y compris ceux publiés par le client local).
error Si l'action échoue, cette valeur est définie sur un objet OTError. Notez qu'un résultat positif indique que les options transmises à la méthode sont valides et que la demande de mise en sourdine des flux a bien été envoyée. Cela ne signifie pas pour autant que la demande a été traitée avec succès par les clients cibles.

Discussion

De plus, tous les flux publiés après l'appel à la fonction [OTSession forceMuteAll:error:] méthode sont publiées avec le son désactivé. Vous pouvez désactiver la mise en sourdine d'une session en appelant la méthode [OTSession disableForceMute:] méthode. Une fois que vous avez appelé la [OTSession disableForceMute:] Grâce à cette méthode, les nouveaux flux publiés sur la session ne seront plus mis en sourdine.

L'appel de cette méthode entraîne l'envoi du message à chaque client connecté à la session, avec le active de la propriété muteForcedInfo objet défini sur YES.

Vérifier le canForceMute de la propriété [Fonctionnalités d'OTSession] objet pour vérifier si vous pouvez appeler cette fonction correctement. Cette fonctionnalité est réservée aux clients qui se sont connectés à l'aide d'un jeton auquel a été attribué le rôle de modérateur (voir la Présentation générale de la création de jetons).

Voir [OTSession forceMuteStream:error:], [Fonctionnalités d'OTSession], [OTSessionDelegate session:muteForced:], [OTPublisherKitDelegate muteForced:]et Couper le son des flux audio d'une session.

Déclaré à

OTSession.h

– disableForceMute:

Désactive l'état de sourdine actif de la session. Une fois cette méthode appelée, les nouveaux flux publiés sur la session ne seront plus en sourdine.

- (void)disableForceMute:(OTError *_Nullable *_Nullable)error

Paramètres

error Si l'action échoue, cette variable est renseignée avec un objet OTError.

Discussion

Après avoir appelé le [OTSession forceMuteAll:error:] méthode (ou lorsqu'un modérateur d'un autre client lance une commande pour couper le son de tous les flux), tous les flux publiés après cette commande de modération sont diffusés avec le son coupé. Appelez la disableForceMute() méthode permettant de désactiver la mise en sourdine d'une session (afin que les nouveaux flux publiés ne soient pas automatiquement mis en sourdine).

L'appel de cette méthode entraîne l'envoi du message à chaque client connecté à la session, avec le active de la propriété muteForcedInfo objet défini sur NO.

Vérifier le canForceMute de la propriété [Fonctionnalités d'OTSession] objet pour vérifier si vous pouvez appeler cette fonction correctement. Cette fonctionnalité est réservée aux clients qui se sont connectés à l'aide d'un jeton auquel a été attribué le rôle de modérateur (voir la Présentation générale de la création de jetons).

Voir [OTSession forceMuteAll:error:], [Fonctionnalités d'OTSession], [OTSessionDelegate session:muteForced:]et Couper le son des flux audio d'une session.

Déclaré à

OTSession.h

– forceMuteStream:error:

Force l'éditeur d'un flux spécifié à couper le son.

- (void)forceMuteStream:(nonnull OTStream *)stream error:(OTError *_Nullable *_Nullable)error

Paramètres

stream Le flux à mettre en sourdine.
error Si l'action échoue, cette valeur est définie sur un objet OTError. Notez qu'un résultat positif indique que les options transmises à la méthode sont valides et que la demande de mise en sourdine des flux a bien été envoyée. Cela ne signifie pas pour autant que la demande a été traitée avec succès par les clients cibles.

Discussion

Vérifier le canForceMute de la propriété [Fonctionnalités d'OTSession] objet pour vérifier si vous pouvez appeler cette fonction correctement. Cette fonctionnalité est réservée aux clients qui se sont connectés à l'aide d'un jeton auquel a été attribué le rôle de modérateur (voir la Présentation générale de la création de jetons).

Voir [OTSession forceMuteAll:error:], [Fonctionnalités d'OTSession], [OTSessionDelegate session:muteForced:], [OTPublisherKitDelegate muteForced:]et Couper le son des flux audio d'une session.

Déclaré à

OTSession.h

Forcer les clients à se déconnecter

– forceDisconnect:error:

Force un client à se déconnecter de la session.

- (void)forceDisconnect:(OTConnection *_Nullable)connection error:(OTError *_Nullable *_Nullable)error

Paramètres

connection La connexion OT à déconnecter.
error Si la déconnexion forcée échoue, cette valeur est définie sur un objet OTError. L'énumération OTSessionErrorCode (dans OTError.h) comprend la valeur OTSessionUnableToForceDisconnect pour ces erreurs.

Discussion

Bien que vous puissiez utiliser le [OTSession forceDisconnect:error:] méthode permettant de mettre fin à votre propre connexion, en appelant la [Déconnexion de la session OTS :] Cette méthode est plus simple. Une erreur est renvoyée si le rôle du client ne dispose pas des autorisations nécessaires pour forcer la déconnexion d’autres utilisateurs. Vous définissez le rôle d’un client lors de la création du jeton utilisateur. Lorsqu’une connexion est interrompue à l’aide de cette méthode, [OTSessionDelegate sessionDidDisconnect:], [OTSessionDelegate session:connectionDestroyed:] et [OTPublisherKitDelegate publisher:streamDestroyed:] Les messages sont transmis de la même manière que si la connexion avait pris fin d'elle-même à l'aide de [Déconnexion de la session OTS :]

Déclaré à

OTSession.h

Signaler un problème

– reportIssue:

Signalez un problème rencontré avec votre application. Vous pouvez utiliser l'identifiant du problème avec le Inspecteur ou lorsque vous abordez un problème avec l'équipe d'assistance de la Video API Vonage.

- (void)reportIssue:(NSString *_Nullable *_Nullable)issueId

Paramètres

issueId Un pointeur vers une chaîne de caractères qui servira d'identifiant unique pour le problème signalé. Si l'appel à la méthode échoue (par exemple, en raison d'une absence de connexion réseau), cette valeur est définie sur nil.

Déclaré à

OTSession.h

– setEncryptionSecret:error:

Définit la clé de chiffrement de bout en bout utilisée par tous les éditeurs et abonnés.

- (void)setEncryptionSecret:(nonnull NSString *)secret error:(OTError *_Nullable *_Nullable)error

Paramètres

secret Valeur de la clé de chiffrement.
error Si l'action échoue, ce paramètre prend la valeur d'un objet OTError.

Discussion

Voir le Chiffrement de bout en bout guide du développeur.

Déclaré à

OTSession.h