Protocolo NowChatServiceDelegate - iOS

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 2 min. de leitura
  • . NowChatServiceDelegate o protocolo fornece retornos de chamada para notificação de ações no NowChatService Como uma solicitação para abrir um URL ou descartar o controlador de exibição de bate-papo.

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

    Retorno de chamada que notifica a aplicação host de que o serviço de bate-papo especificado recebeu uma solicitação para abrir um URL. Este retorno de chamada geralmente é acionado por um usuário tocando em um link na IU do bate-papo. É responsabilidade da aplicação host lidar com a abertura do URL ou ignorar a solicitação.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    ChatService NowChatService Objeto NowChatService que faz a solicitação.
    url do didRequestOpenUrl URL URL que o serviço solicitou para abrir.
    Tabela 2. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo de código a seguir mostra como chamar esta função.

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

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

    Retorno de chamada que notifica a aplicação host de que o tema de bate-papo do sistema foi alterado.

    Tabela 3. Parâmetros
    Nome Tipo Descrição
    ChatService NowChatService Objeto NowChatService que faz a solicitação.
    TraitCollection UITraitCollection UITraitCollection que contém o novo tema.
    Tabela 4. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo de código a seguir mostra como substituir o. SystemThemeDidChange() função delegada para chamar UpdateTheme() função para aplicar mudanças de tema quando o tema do sistema muda.

    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)

    Retorno de chamada que notifica a aplicação host de que o controlador de exibição de bate-papo foi descartado.

    Tabela 5. Parâmetros
    Nome Tipo Descrição
    ChatService NowChatService Objeto NowChatService cujo controlador de exibição foi descartado.
    Tabela 6. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo de código a seguir mostra como chamar esta função.

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

    NowChatServiceDelegate - didEndSessionWithId(SessionID: Cadeia de caracteres)

    Chamado quando a tela de bate-papo é fechada e a sessão de bate-papo termina.

    Nota:
    Você pode definir a funcionalidade desejada para este retorno de chamada substituindo a função.
    Tabela 7. Parâmetros
    Nome Tipo Descrição
    sessionId Cadeia de caracteres Sys_id da sessão encerrada.

    Tabela: Sessão de conversa [sys_cs_session]

    Tabela 8. Retornos
    Tipo Descrição
    Nenhum(a)

    O exemplo de código a seguir mostra onde colocar seu código para substituir a funcionalidade padrão.

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