Protocole NowChatServiceDelegate : iOS

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 2 minutes de lecture
  • Le protocole NowChatServiceDelegate fournit des rappels pour la notification d’actions au sein de NowChatService , telles qu’une demande d’ouverture d’une URL ou le rejet du contrôleur de vue de messagerie instantanée.

    NowChatServiceDelegate : chatService(_chatService : NowChatService, didRequestOpenUrlurl : URL)

    Rappel qui notifie l’application hôte que le service de messagerie instantanée spécifié a reçu une demande d’ouverture d’URL. Ce rappel est généralement déclenché par un utilisateur qui appuie sur un lien dans l’interface utilisateur de la messagerie instantanée. Il est de la responsabilité de l’application hôte de gérer l’ouverture de l’URL ou d’ignorer la demande.

    Tableau 1. Paramètres
    Nom Type Description
    service instantané NowChatService Objet NowChatService à l’origine de la demande.
    didRequestOpenUrl url URL URL que le service a demandé à ouvrir.
    Tableau 2. Renvoie
    Type Description
    Aucun

    L’exemple de code suivant montre comment appeler cette fonction.

    func chatService(_ chatService: NowChatService, didRequestOpenUrl url: URL) {
      var updatedViewState = makeViewState()
      updatedViewState.urlToOpen = url
      viewState = updatedViewState
    }

    NowChatServiceDelegate : chatService(_ chatService : NowChatService, systemThemeDidChange, traitCollection : UITraitCollection)

    Rappel qui notifie l’application hôte que le thème de la messagerie instantanée système a changé.

    Tableau 3. Paramètres
    Nom Type Description
    service instantané NowChatService Objet NowChatService à l’origine de la demande.
    traitCollection UITraitCollection UITraitCollection qui contient le nouveau thème.
    Tableau 4. Renvoie
    Type Description
    Aucun

    L’exemple de code suivant montre comment remplacer la fonction de délégué systemThemeDidChange() pour appeler la fonction updateTheme() afin d’appliquer les changements de thème lorsque le thème système change.

    func chatService(_ chatService: any SnowChat.ChatServiceProvider, systemThemeDidChange traitCollection: UITraitCollection) {
    
      /// The corresponding updateTheme() method can be called here to change the UI theme based on System Theme
      chatService.updateTheme(theme: traitCollection.userInterfaceStyle == .dark ? DarkNowChatTheme() : LightNowChatTheme())
      print(“System Theme Did Change)
    }

    NowChatServiceDelegate : chatServiceViewControllerWasDismissed(_chatService : NowChatService)

    Rappel qui notifie l’application hôte que le contrôleur de vue de messagerie instantanée a été rejeté.

    Tableau 5. Paramètres
    Nom Type Description
    service instantané NowChatService Objet NowChatService dont le contrôleur de vue a été rejeté.
    Tableau 6. Renvoie
    Type Description
    Aucun

    L’exemple de code suivant montre comment appeler cette fonction.

    func chatServiceViewControllerWasDismissed(_ chatService: NowChatService) {
      resetChat()
    }

    NowChatServiceDelegate : didEndSessionWithId(sessionId : chaîne)

    Appelé lorsque l’écran de messagerie instantanée est fermé et que la session de messagerie instantanée se termine.

    Remarque :
    Vous pouvez définir la fonctionnalité souhaitée pour ce rappel en remplaçant la fonction.
    Tableau 7. Paramètres
    Nom Type Description
    sessionId Chaîne Sys_id de la session qui s’est terminée.

    Table : Session de conversation [sys_cs_session]

    Tableau 8. Renvoie
    Type Description
    Aucun

    L’exemple de code suivant montre où placer votre code pour remplacer la fonctionnalité par défaut.

    func chatService(_ chatService: NowChatService, didEndSessionWithId sessionId: String) {
      print("Chat Session ended with ID: \(sessionId)")
    }