NowChatServiceDelegate プロトコル:iOS

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:4分
  • NowChatServiceDelegate プロトコルは、URL を開く要求やチャットビューコントローラーを閉じる要求など、NowChatService 内のアクションを通知するためのコールバックを提供します。

    NowChatServiceDelegate:chatService (_chatService:NowChatService、didRequestOpenUrlurl:URL)

    指定されたチャットサービスが URL を開く要求を受信したことをホストアプリケーションに通知するコールバック。このコールバックは通常、ユーザーがチャット UI のリンクをタップすることでトリガーされます。URL を開くか、要求を無視するかは、ホスト アプリケーションの責任です。

    表 : 1. パラメーター
    名前 タイプ 説明
    チャットサービス Now チャットサービス 要求を行う NowChatService オブジェクト。
    didRequestOpenURL URL URL サービスが開くように要求した URL。
    表 : 2. 戻り値
    タイプ 説明
    なし

    次のコード例は、この関数を呼び出す方法を示しています。

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

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

    システムチャットテーマが変更されたことをホストアプリケーションに通知するコールバック。

    表 : 3. パラメーター
    名前 タイプ 説明
    チャットサービス Now チャットサービス 要求を行う NowChatService オブジェクト。
    traitCollection UITraitCollection 新しいテーマを含む UITraitCollection。
    表 : 4. 戻り値
    タイプ 説明
    なし

    次のコード例は、 systemThemeDidChange() デリゲート関数をオーバーライドして、 updateTheme() 関数を呼び出して、システム テーマが変更されたときにテーマの変更を適用する方法を示しています。

    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)

    チャットビューコントローラーが却下されたことをホストアプリケーションに通知するコールバック。

    表 : 5. パラメーター
    名前 タイプ 説明
    チャットサービス Now チャットサービス ビューコントローラーが却下された NowChatService オブジェクト。
    表 : 6. 戻り値
    タイプ 説明
    なし

    次のコード例は、この関数を呼び出す方法を示しています。

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

    NowChatServiceDelegate:didEndSessionWithId(sessionId:文字列)

    チャット画面が閉じられ、チャットセッションが終了すると呼び出されます。

    注:
    関数を上書きすることで、このコールバックに必要な機能を定義できます。
    表 : 7. パラメーター
    名前 タイプ 説明
    sessionId 文字列 終了したセッションのSys_id。

    テーブル:会話セッション [sys_cs_session]

    表 : 8. 戻り値
    タイプ 説明
    なし

    次のコード例は、既定の機能をオーバーライドするコードを配置する場所を示しています。

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