| 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