Protocolo NowChatServiceDelegate - iOS
. 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.
| 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. |
| 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.
| Nome | Tipo | Descrição |
|---|---|---|
| ChatService | NowChatService | Objeto NowChatService que faz a solicitação. |
| TraitCollection | UITraitCollection | UITraitCollection que contém o novo tema. |
| 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.
| Nome | Tipo | Descrição |
|---|---|---|
| ChatService | NowChatService | Objeto NowChatService cujo controlador de exibição foi descartado. |
| 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.
| Nome | Tipo | Descrição |
|---|---|---|
| sessionId | Cadeia de caracteres | Sys_id da sessão encerrada. Tabela: Sessão de conversa [sys_cs_session] |
| 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)")
}