NowChatServiceDelegate-Protokoll – iOS

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 1 Minute Lesedauer
  • 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.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    ChatService NowChatService NowChatService-Objekt, das die Anforderung stellt.
    DidRequestOpenUrl-url URL URL, deren Öffnen der Service angefordert hat.
    Tabelle : 2. Rückgaben
    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.

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    ChatService NowChatService NowChatService-Objekt, das die Anforderung stellt.
    TraitCollection UITraitCollection UITraitCollection, die das neue Design enthält.
    Tabelle : 4. Rückgaben
    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.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    ChatService NowChatService NowChatService-Objekt, dessen Ansichts-Controller verworfen wurde.
    Tabelle : 6. Rückgaben
    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.

    Hinweis:
    Sie können die gewünschte Funktionalität für diesen Rückruf definieren, indem Sie die Funktion überschreiben.
    Tabelle : 7. Parameter
    Name Typ Beschreibung
    sessionId Zeichenfolge SYS_ID der Sitzung, die beendet wurde.

    Tabelle: Konversationssitzung [sys_cs_Session]

    Tabelle : 8. Rückgaben
    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)")
    }