NowChatServiceDelegate-Protokoll – iOS
Die NowChatServiceDelegat das protokoll bietet Rückrufe für die Benachrichtigung über Aktionen innerhalb von NowChatService Z. B. eine Anforderung zum Öffnen einer URL oder zum Verwerfen des Chatansichts-Controllers.
NowChatServiceDelegate – chatService(_chatService: NowChatService, didRequestOpenUrlurl: URL)
Rückruf, der die Hostanwendung benachrichtigt, dass der angegebene Chatservice eine Anforderung zum Öffnen einer URL erhalten hat. Dieser Rückruf wird normalerweise ausgelöst, wenn ein Anwender auf einen Link in der Chat-UI tippt. Es liegt in der Verantwortung der Hostanwendung, das Öffnen der URL zu verarbeiten oder die Anforderung zu ignorieren.
| Name | Typ | Beschreibung |
|---|---|---|
| ChatService | NowChatService | NowChatService-Objekt, das die Anforderung stellt. |
| DidRequestOpenUrl-url | URL | URL, deren Öffnen der Service angefordert hat. |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.
func chatService(_ chatService: NowChatService, didRequestOpenUrl url: URL) {
var updatedViewState = makeViewState()
updatedViewState.urlToOpen = url
viewState = updatedViewState
}
NowChatServiceDelegate – chatService(_ chatService: NowChatService, systemThemeDidChange traitCollection: UITraitCollection)
Rückruf, der die Hostanwendung benachrichtigt, dass sich das System-Chat-Design geändert hat.
| Name | Typ | Beschreibung |
|---|---|---|
| ChatService | NowChatService | NowChatService-Objekt, das die Anforderung stellt. |
| TraitCollection | UITraitCollection | UITraitCollection, die das neue Design enthält. |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Codebeispiel zeigt, wie Sie den überschreiben SystemThemeDidChange() Delegierungsfunktion zum Aufrufen von UpdateTheme() Funktion zum Anwenden von Designänderungen, wenn sich das Systemdesign ändert.
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 – chatServiceViewControllerWasDismissing(_chatService: NowChatService)
Rückruf, der die Hostanwendung benachrichtigt, dass der Controller für die Chatansicht geschlossen wurde.
| Name | Typ | Beschreibung |
|---|---|---|
| ChatService | NowChatService | NowChatService-Objekt, dessen Ansichts-Controller verworfen wurde. |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.
func chatServiceViewControllerWasDismissed(_ chatService: NowChatService) {
resetChat()
}
NowChatServiceDelegate – didEndSessionWithId(sessionId: Zeichenfolge)
Wird aufgerufen, wenn der Chat-Bildschirm geschlossen wird und die Chat-Sitzung endet.
| Name | Typ | Beschreibung |
|---|---|---|
| sessionId | Zeichenfolge | SYS_ID der Sitzung, die beendet wurde. Tabelle: Konversationssitzung [sys_cs_Session] |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Codebeispiel zeigt, wo Ihr Code platziert werden soll, um die Standardfunktionalität zu überschreiben.
func chatService(_ chatService: NowChatService, didEndSessionWithId sessionId: String) {
print("Chat Session ended with ID: \(sessionId)")
}