Protocole NowChatServiceDelegate : iOS
Le protocole NowChatServiceDelegate fournit des rappels pour la notification d’actions dans 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 messagerie instantanée. Il incombe à l’application hôte de gérer l’ouverture de l’URL ou d’ignorer la demande.
| Nom | Type | Description |
|---|---|---|
| service instantané | NowChatService | Objet NowChatService à l’origine de la demande. |
| didRequestOpenUrl url | URL | URL que le service a demandé d’ouvrir. |
| Type | Description |
|---|---|
| Néant |
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é.
| Nom | Type | Description |
|---|---|---|
| service instantané | NowChatService | Objet NowChatService à l’origine de la demande. |
| traitCollection | UITraitCollection | UITraitCollection qui contient le nouveau thème. |
| 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 informe l’application hôte que le contrôleur de vue de messagerie instantanée a été rejeté.
| Nom | Type | Description |
|---|---|---|
| service instantané | NowChatService | Objet NowChatService dont le contrôleur de vue a été rejeté. |
| Type | Description |
|---|---|
| Néant |
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.
| Nom | Type | Description |
|---|---|---|
| sessionId | Chaîne | Sys_id de la session qui s’est terminée. Table : Session de conversation [sys_cs_session] |
| 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)")
}