Notes de mise à jour
Product deprecation notice
Effective April 30th, 2026, Vonage In-App Messaging will no longer be available. Access for new users will be closed, and the service will be discontinued for all existing users.
If you have any questions regarding this product’s discontinuation, please contact your account manager or our support team.
5.0.1 - 2022-09-29
Fixe
- La configuration du handshake de la socket est effacée lors de la déconnexion
5.0.0 - 2022-09-01
Ajouté
- Prise en charge de XCFrameworks pour M1
4.3.2 - 2022-07-01
Fixer
- Correction de la transition entre la mise en sourdine et le rétablissement de la sourdine sur les objets multimédias
- Correction de l'analyse des événements pour
NXMCustomEvent.customType
4.3.1 - 2022-05-09
Fixer
- Fixer
[NXMConversation sendMessage:message completionHandler:handler]pourNXMMessageTypeImage,NXMMessageTypeAudio,NXMMessageTypeVideoetNXMMessageTypeFileles types de messages.
4.3.0 - 2022-04-28
Ajouté
pushNotificationTTLa été ajoutée à la propriétéNXMClientConfigpour définir le TTL des notifications push.[NXMConversation sendMarkDeliveredMessage:message completionHandler:handler]a été ajoutée pour envoyer des accusés de réception.[NXMConversation sendMarkSeenMessage]prend désormais en charge le statut "vu" pour tous les messages.NXMMessageStatusTypeSubmitted,NXMMessageStatusTypeRejected,NXMMessageStatusTypeUndeliverableÉtats ajoutés àNXMMessageStatusEvent
4.2.1 - 2022-04-06
Fixe
[NXMClient uploadAttachmentWithType:name:data:completionHandler:]méthode pour télécharger des pièces jointes qui renvoient des données d'image
4.2.0 - 2022-03-24
Ajouté
- Soutien aux
call:transferà l'intérieurNXMCall [NXMCallDelegate call:didTransfer:event:]pour recevoir un nouvel événement de transfert d'appel lorsque l'appel est transféré vers une nouvelle conversation.
Améliorations
- Dépendance WebRTC mise à jour vers la version
84.0.22.
4.1.0 - 2022-02-25
Ajouté
[NXMClient getDeviceId]pour récupérer l'identifiant de l'appareil.
4.0.6 - 2022-02-15
Fixe
- Correction des avertissements DSYM
4.0.5 - 2022-02-15
Ajouté
- Support Bitcode
4.0.4 - 2022-01-14
Fixe
- La file d'attente pour le traitement des événements d'appels entrants est par défaut non suspendue.
4.0.3 - 2021-12-13
Fixe
- Tête de parapluie.
4.0.2 - 2021-12-07
Fixe
- Dépendances CocoaPods.
4.0.0 - 2021-12-06
Ajouté
[NXMConversation sendMessage:completionHandler:]pour envoyer desNXMMessage.[NXMClient uploadAttachmentWithType:name:data:completionHandler:]pour télécharger des pièces jointes.NXMMessagereprésente un message à envoyer.NXMMessageTypepour les messages de typetext,image,audio,video,file,template,vcardetcustom.NXMEventTypeMemberMessageStatus, un nouveauNXMEventTypereprésente un événement relatif à l'état d'un message de membre qui peut être reçu sur un site Web de lNXMConversation.
Améliorations
- Dépendance WebRTC mise à jour vers la version
84.0.0. - Appliquer les directives pour les
NXMCallMemberStatuspendant les appels.
Modifié
NXMDirectionTyperenommé enNXMChannelType.
Déclassé
[NXMConversation sendText:completionHandler:]méthode.[NXMConversation sendAttachmentWithType:name:data:completionHandler:]méthode.
3.3.0 - 2021-11-22
Ajouté
NXMClientConfig'sapiPinningetwebsocketPinningchamps facultatifs pour activer l'épinglage HTTP et SSL des sockets web.[NXMPinningConfig fromPublicKeys:]pour créer une configuration d'épinglage basée sur une clé publique.NXMConnectionStatusReasonSSLPinningErrordécrivant la mise à jour d'une connexion client en raison d'une erreur d'épinglage SSL.
Modifié
- Version iOS minimale prise en charge (
IPHONEOS_DEPLOYMENT_TARGET) est passé à10.3.
3.2.1 - 2021-11-08
Fixe
- Stocker les événements pendant que la conversation est en cours de téléchargement pour éviter de les manquer
3.2.0 - 2021-10-19
Ajouté
NXMClientConfig.autoMediaReofferpour permettre de reconnecter automatiquement les médias lorsque les interfaces réseau changent.[NXMClientConfig description]pour uneNXMClientConfigdescription de l'instance.NXMMediaConnectionStatusénumérer.[NXMConversationDelegate conversation:onMediaConnectionStateChange:legId:]pour recevoir une notification de changement d'état de la connexion média.[NXMConversation reconnectMedia]pour déclencher une reconnexion des médias.[NXMClient reconnectCallWithConversationId:andLegId:completionHandler:]pour reconnecter un appel à partir d'un identifiant de conversation et d'un identifiant de segment.NXMCall.conversationpour obtenir la conversation associée à un appel.
Déclassé
[NXMClientConfig initWithApiUrl:websocketUrl:ipsUrl:].[NXMClientConfig initWithApiUrl:websocketUrl:ipsUrl:iceServerUrls:].[NXMClientConfig initWithApiUrl:websocketUrl:ipsUrl:useFirstIceCandidate:].[NXMClientConfig initWithApiUrl:websocketUrl:ipsUrl:iceServerUrls:useFirstIceCandidate].
3.1.0 - 2021-09-06
Ajouté
[NXMClient inAppCallWithCallee:completionHandler:]pour effectuer des appels in-app.[NXMClient serverCallWithCallee:customData:completionHandler:]pour effectuer les appels au serveur, en spécifiant éventuellementcustomData.
Améliorations
- Appels API internes optimisés pour la création de conversations.
Déclassé
[NXMClient call:callHandler:completionHandler:]méthode.NXMCallHandlerénumérer.[NXMLogger getLogFileNames]méthode.
3.0.1 - 2021-07-12
Fixe
- Envoi de DTMF pendant les appels.
- Terminaison des médias préchauffés.
Modifié
NXMMemberEvent'smemberremplacé parmemberId.
3.0.0 - 2021-07-01
Ajouté
- Ajouté
NXMMemberSummaryrenvoyée par[NXMConversation getMembersPageWithPageSize:order:completion:](paginé), représentant un sous-ensemble d'informations sur les membres. - Ajouté
NXMMemberEvent'sinvitedByqui représente le nom de l'invitant, s'il existe. - Ajouté
NXMEventEmbeddedInfoà tous les événements renvoyés parNXMEvent'sembeddedInfoet contenant leNXMUserliés à l'événement. - Ajouté
[NXMConversation getMemberWithMemberUuid:completion:]qui renvoie le membre en fonction de son identifiant.
Améliorations
- Permettre à 1 000 membres de participer à une conversation.
- Améliorée
callServertemps de préparation en préchauffant la jambe. - Média désactivé après l'événement de raccrochage RTC.
- Correction de la gestion des événements liés à la saisie de texte.
Changements en cours
- Supprimé
NXMCallMemberremplacée parNXMMember. - Supprimé
NXMCallMember'sstatus, déplacé à[NXMCall callStatusForMember:member:]. - Supprimé
[NXMCallMember mute:]converti en[NXMMember enableMute]et[NXMMember disableMute]. - Supprimé
NXMConversation'sallMembers(remplacé par[NXMConversation getMembersPageWithPageSize:order:completion:](paginé)). - Supprimé
[NXMConversationUpdateDelegate conversation:didUpdateMember:withType:]remplacée par[NXMConversationDelegate conversation:didReceiveMemberEvent:]avec les états possibles suivants :NXMMemberStateInvited,NXMMemberStateJoinedetNXMMemberStateLeft. Peut être souscrit à l'aide deNXMConversation'sdelegate. - Renommé
NXMCall'sotherCallMembersàallMembers. - Renommé
NXMCall'smyCallMemberàmyMember. - Les
legsdoit être incluse dans leaclchemins surJWTla création de jetons.
"acl": {
"paths": {
...,
"/*/legs/**": {}
}
}
2.5.0 - 2020-11-23
Modifié
- Renommé
NXMCallMemberStatusCanceledàNXMCallMemberStatusCancelled. - Renommé
NXMLegStatusCanceledàNXMLegStatusCancelled.
Améliorations
- Notifié avec
NXMCallMemberStatusCancelledsurNXMCallDelegatepour raccrocher l'appel.
2.4.0 - 2020-09-24
Ajouté
- Exposer la raison
NXMConnectionStatusReasonTokenExpiredsur l'état de la connexionNXMConnectionStatusDisconnectedpour lesNXMClientDelegate.
2.3.0 - 2020-08-17
Ajouté
[NXMClientConfig AMS]méthode statique.
Fixe
- Analyse des événements personnalisés.
2.2.2 - 2020-07-20
Fixe
- Synchronisation des événements après déconnexion du socket.
2.2.1 - 2020-07-06
Fixe
- Erreur d'appel au serveur signalée par
NXMCallDelegateà la fin de l'appel.
Améliorations
- Amélioration de la gestion des événements d'appel.
- Amélioration de la gestion de l'expiration des conversations.
2.2.0 - 2020-04-22
Ajouté
- Ajouté
isConnectedà la méthodeNXMClientpour afficher l'état actuel de la connexion.
[NXNClient.shared isConnected]
Fixe
- Événement API
client_refmanipulation.
2.1.10 - 2020-04-16
Améliorations
- Amélioration de la mise en œuvre de la collecte des candidats à la CIE unique.
2.1.9 - 2020-04-14
Fixe
NXMClientConfigles implémentations de l'initialisateur de commodité.
2.1.8 - 2020-04-02
Ajouté
- Ajouter
useFirstIceCandidateparamètres àNXMClientConfig
NXMClientConfig *config = [[NXMClientConfig alloc] initWithApiUrl:restUrl
websocketUrl:wsUrl
ipsUrl:ipsUrl
useFirstIceCandidate:NO];
2.1.5 - 2020-03-18
Améliorations
- Mise à jour du format d'enregistrement des appareils pour les environnements de production.
2.1.1 - 2020-03-05
Ajouté
NXMClient'sgetConversationsPageWithSize:order:filter:completionHandler:pour obtenir des conversations avec la radiomessagerie.
Déclassé
NXMClient'sgetConversationsPageWithSize:order:completionHandler:pour obtenir des conversations avec la radiomessagerie.
Améliorations
- Le Client SDK est maintenant construit avec Xcode 11.
2.1.0 - 2020-01-31
Ajouté
NXMPushPayloadpour les notifications push personnalisées.
if (NXNClient.shared isNexmoPushWithUserInfo:pushInfo]){
NXMPushPayload *pushPayload = [myNXNClient processNexmoPushPayload:pushInfo];
if (!pushPayload){
// "Not a Nexmo push!!"
return;
};
if (pushPayload.template == NXMPushTemplateCustom) {
// Got custom push
pushPayload.customData // your customData
}
}
2.0.0 - 2020-01-15
Ajouté
NXMHelperavecdescriptionForEventType:méthode.NXMConversation'sgetEvents:remplacée par la méthodegetEventsPage:,getEventsPageWithSize:order:completionHandler:,getEventsPageWithSize:order:eventType:completionHandler:.
[myNXMConversation getEventsPagePageWithSize:15
order:NXMPageOrderDesc
eventType:nil
completionHandler:^(NSError * _Nullable error, NXMEventsPage * _Nullable page) {
if (error || !page) {
// handle error...
return;
}
// use page...
}];
NXMConversationsPage'snextPage:etpreviousPage:sont désormais non nuls.
Fixe
- Appel
conversation.getEventsa renvoyé unNXMMemberEventavec le champmemberfixé ànil.
1.2.3 - 2019-12-17
Fixe
conversation.getEventsa renvoyé quelquesNXMEventcontenant une valeur nullefromMember- Ajout d'une description
userInfopourNXMErrors.
1.2.2 - 2019-12-12
Fixe
- Ajout de la prise en charge de DTLS dans WebRTC.
didReceiveCalletdidReceiveConversationn'être appelé qu'une seule fois pour le même appel ou la même conversation.- Ajout d'une option permettant d'activer la notification push avec un seul
pushKitouuserNotificationde l'argent. - Correction pour
NXMClientConfigles URL des régions. - En cas de connexion avec un utilisateur non valide, le système renvoie
NXMConnectionStatusReasonUserNotFound. - Ajout d'architectures de construction :
armv7etarmv7s.
1.2.1 - 2019-12-05
Ajouté
Configuration du serveur ICE :
NXMClientConfig *config = [[NXMClientConfig alloc] initWithApiUrl:restUrl
websocketUrl:wsUrl
ipsUrl:ipsUrl
iceServerUrls:iceUrls];
[NXMClient setConfiguration:config];
Cette configuration est facultative et une valeur par défaut sera définie si elle n'est pas spécifiée.
Remarque : setConfiguration doit être utilisé avant d'accéder à NXMClient.shared.
Fixe
Corrigé nil pour les fromMember pour NXMConversation événements.
1.2.0 - 2019-12-03
Ajouté
NXMClient's getConversationsPageWithSize:order:completionHandler: pour obtenir des conversations avec la radiomessagerie.
NXMConversationsPagequi représente la page récupérée, fournit les méthodes d'instance suivantes :
hasNextPage/hasPreviousPagepour vérifier si l'extraction de pages en avant/en arrière est possible etnextPage:/previousPage:pour récupérer de manière asynchrone la page suivante/précédente.
Modifié
NXMClient's getConversationWithUUid:completionHandler: (qui s'appelle désormais getConversationWithUuid:completionHandler:).
1.1.1 - 2019-11-21
Ajouté
NXMClientConfig afin de modifier la configuration du centre de données. Comment l'utiliser ?
[NXMClient setConfiguration:NXMClientConfig.DC];
NXMClient setConfiguration est facultatif, la configuration prendra une valeur par défaut.
Remarque : vous devez appeler setConfiguration avant d'utiliser la méthode NXMClient.shared.
1.1.0 - 2019-11-14
Fixe
- Prise en charge des notifications push d'iOS 13.
- Démarrer la stabilité de l'appel du serveur.
- Réception d'un événement DTMF en cours d'appel et de conversation.
Ajouté
NXMConversationDelegate a reçu la méthode d'événement DTMF :
- (void)conversation:(nonnull NXMConversation *)conversation didReceiveDTMFEvent:(nullable NXMDTMFEvent *)event;
Modifié
NXMClient - La méthode d'activation des notifications push par le client a été modifiée.
param pushKitToken - uniquement pour les appels VoIP push (appels entrants).
param userNotificationToken - tous les types de poussée :
- (void)enablePushNotificationsWithPushKitToken:(nullable NSData *)pushKitToken
userNotificationToken:(nullable NSData *)userNotificationToken
isSandbox:(BOOL)isSandbox
completionHandler:(void(^_Nullable)(NSError * _Nullable error))completionHandler;
1.0.0 - 2019-09-05
Fixe
NexmoClienten cas de déconnexion, renvoie un rappel d'erreur pour toutes les fonctions.CallMembercalculé en fonction de l'état actuel de l'étape.CallMemberprend en charge les états d'échec, d'occupation, de dépassement de délai et d'annulation.- Les membres du comité de soutien sont invités.
Conversationa des méthodes médiatiques.NexmoClientest désormais unique.- La méthode d'appel a été modifiée pour utiliser une chaîne de caractères au lieu d'un tableau.
NexmoClientles méthodes de délégation ont été renommées.
Ajouté
- Ajout d'un support de conversation :
NXMConversation myConversation;
[myConversation enableMedia]; // my media will be enabled
[myConversation disableMedia]; // my media will be disabled
- Ajout d'un membre invité :
NXMConversation myConversation;
[myConversation inviteMemberWithUsername:@"someUsername"
completion:myCompletionBlock];
- Ajout de l'initiateur de l'État membre :
NXMMember *member = someMember;
NSDictionary<NSValue *, NXMInitiator *> *initiators = member.initiators;
NXMInitiator leftStateInitiator = initiators[NXMMemberStateLeft];
leftStateInitiator.isSystem;
leftStateInitiator.userId;
leftStateInitiator.memberId;
leftStateInitiator.time;
- Ajouté
NXMConversationUpdateDelegatepour être informé des mises à jour concernant les membres, comme les médias, les jambes et l'état. - Ajouté
updatesDelegateà la propriétéNXMConversation:
@property (nonatomic, weak, nullable) id <NXMConversationUpdateDelegate> updatesDelegate;
Exemple :
@interface MyClass() <NXMConversationUpdateDelegate>
@implementation MyClass
- (void)setConversation:(NXMConversation *conversation) {
conversation.updatesDelegate(self); // register to conversation updatesDelegate
}
- (void)conversation:(nonnull NXMConversation *)conversation didUpdateMember:(nonnull NXMMember *)member withType:(NXMMemberUpdateType)type {
if (type == NXMMemberUpdateTypeState) {
// the member state changed
}
if (type == NXMMemberUpdateTypeMedia) {
// the member media changed
}
}
@end
Modifié
NXMClientest maintenant un singleton :
NXMClient.shared // the shared instance of NXMClient
- Renommé :
@property (nonatomic, readonly, nullable, getter=getToken) NSString *authToken; // was token
// was - (void)login;
- (void)loginWithAuthToken:(NSString *)authToken;
// was - (void)refreshAuthToken:(nonnull NSString *)authToken;
- (void)updateAuthToken:(nonnull NSString *)authToken;
// was callees array
- (void)call:(nonnull NSString *)callee
callHandler:(NXMCallHandler)callHandler
delegate:(nullable id<NXMCallDelegate>)delegate
completion:(void(^_Nullable)(NSError * _Nullable error, NXMCall * _Nullable call))completion;
completionHandler:(void(^_Nullable)(NSError * _Nullable error, NXMCall * _Nullable call))completionHandler;
NXMClientDelegaterenommé :
@protocol NXMClientDelegate <NSObject>
// was - (void)connectionStatusChanged:(NXMConnectionStatus)status reason:(NXMConnectionStatusReason)reason;
- (void)client:(nonnull NXMClient *)client didChangeConnectionStatus:(NXMConnectionStatus)status reason:(NXMConnectionStatusReason)reason;
// was - (void)incomingCall:(nonnull NXMCall *)call;
- (void)client:(nonnull NXMClient *)client didReceiveCall:(nonnull NXMCall *)call;
// was - (void)incomingConversation:(nonnull NXMConversation *)conversation;
- (void)client:(nonnull NXMClient *)client didReceiveConversation:(nonnull NXMConversation *)conversation;
@end
NXMConversationotherMembersa été renommée enallMembers:
NXMConversation myConversation = someConversation;
NSArray<NXMMember *> * allMembers = myConversation.allMembers // return the all conversation members
- (void)joinMemberWithUsername:(nonnull NSString *)username // username instead of userId
NXMConversationDelegateles méthodes renommées :
// was - (void)customEvent:(nonnull NXMCustomEvent *)customEvent;
- (void)conversation:(nonnull NXMConversation *)conversation didReceiveCustomEvent:(nonnull NXMCustomEvent *)event;
// was - (void)textEvent:(nonnull NXMMessageEvent *)textEvent;
- (void)conversation:(nonnull NXMConversation *)conversation didReceiveTextEvent:(nonnull NXMTextEvent *)event;
// was - (void)attachmentEvent:(nonnull NXMMessageEvent *)attachmentEvent;
- (void)conversation:(nonnull NXMConversation *)conversation didReceiveImageEvent:(nonnull NXMImageEvent *)event;
// - (void)messageStatusEvent:(nonnull NXMMessageStatusEvent *)messageStatusEvent;
- (void)conversation:(nonnull NXMConversation *)conversation didReceiveMessageStatusEvent:(nonnull NXMMessageStatusEvent *)event;
// was - (void)typingEvent:(nonnull NXMTextTypingEvent *)typingEvent;
- (void)conversation:(nonnull NXMConversation *)conversation didReceiveTypingEvent:(nonnull NXMTextTypingEvent *)event;
// was - (void)memberEvent:(nonnull NXMMemberEvent *)memberEvent;
- (void)conversation:(nonnull NXMConversation *)conversation didReceiveMemberEvent:(nonnull NXMMemberEvent *)event;
// was - (void)legStatusEvent:(nonnull NXMLegStatusEvent *)legStatusEvent;
- (void)conversation:(nonnull NXMConversation *)conversation didReceiveLegStatusEvent:(nonnull NXMLegStatusEvent *)event;
// was - (void)mediaEvent:(nonnull NXMEvent *)mediaEvent;
- (void)conversation:(nonnull NXMConversation *)conversation didReceiveMediaEvent:(nonnull NXMMediaEvent *)event;
Utilisation
usernameau lieu deuserId.NXMCallDelegaterenommé :
// was - (void)statusChanged:(nonnull NXMCallMember *)callMember;
- (void)didUpdate:(nonnull NXMCallMember *)callMember status:(NXMCallMemberStatus)status;
- (void)didUpdate:(nonnull NXMCallMember *)callMember muted:(BOOL)muted;
// was - (void)DTMFReceived:(nonnull NSString *)dtmf callMember:(nonnull NXMCallMember *)callMember;
- (void)didReceive:(nonnull NSString *)dtmf fromCallMember:(nonnull NXMCallMember *)callMember;
NXMEventetNXMMemberEventajouter un objet membre au lieu dememberId:
@property (nonatomic, readonly, nonnull) NXMMember *member;
NXMImageInfopropriétés renommées :
@property NSInteger sizeInBytes; // was size
@property NXMImageSize size; // was type
NXMMessageStatusEventpropriété renommée :
@property NSInteger referenceEventId; // was refEventId
NexmoClientlogger exposé -NXMLoggerobjet :
[NXMLogger setLogLevel:NXMLoggerLevelDebug];
NSArray *logNames = [NXMLogger getLogFileNames];
Supprimé
NXMLoggerDelegate
NXMClient myClient = ...;
[myClient setLoggerDelegate:LoggerDelegate];
0.3.0 - 2019-06-03
Ajouté
- Interopérabilité avec les SDK JS et Android - Les appels peuvent désormais être passés entre les applications utilisant les SDK iOS, JS ou Android.
Modifié
NXMCallMember- ajout d'un canal membre avec des données de direction :
@interface NXMCallMember : NSObject
...
@property (nonatomic, readonly, nullable) NXMChannel *channel;
...
@end
@interface NXMChannel : NSObject
@property (nonatomic, readonly, nonnull) NXMDirection *from;
@property (nonatomic, readonly, nullable) NXMDirection *to;
@end
@interface NXMDirection : NSObject
@property (nonatomic, assign) NXMDirectionType type;
@property (nonatomic, copy, nullable) NSString *data;
@end
Supprimé
NXMCallMember'sphoneNumberetchannelTypeont été supprimées.
0.2.56 - 2019-01-24
Ajouté
- Modifier le fichier journal.
Modifié
- Amélioration de la gestion de la mémoire.
- Récupérer les événements manquants et nouveaux sur les changements de réseau.
- Renvoi des objets User au lieu des Ids.
- Correction de bugs.
- Ajouter
non-nullounullableaux propriétés. - Renommer
call.declineàcall.reject.
0.1.52 - 2019-01-01
Version bêta initiale avec des fonctions d'appel et de chat de base.
Veuillez vous référer à la liste des caractéristiques et de l'utilisation : https://developer.nexmo.com/
Cocoapodes: https://cocoapods.org/pods/nexmoclient