NowChatServiceDelegate プロトコル:iOS
NowChatServiceDelegate プロトコルは、URL を開く要求やチャットビューコントローラーを閉じる要求など、NowChatService 内のアクションを通知するためのコールバックを提供します。
NowChatServiceDelegate:chatService (_chatService:NowChatService、didRequestOpenUrlurl:URL)
指定されたチャットサービスが URL を開く要求を受信したことをホストアプリケーションに通知するコールバック。このコールバックは通常、ユーザーがチャット UI のリンクをタップすることでトリガーされます。URL を開くか、要求を無視するかは、ホスト アプリケーションの責任です。
| 名前 | タイプ | 説明 |
|---|---|---|
| チャットサービス | Now チャットサービス | 要求を行う NowChatService オブジェクト。 |
| didRequestOpenURL URL | URL | サービスが開くように要求した URL。 |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出す方法を示しています。
func chatService(_ chatService: NowChatService, didRequestOpenUrl url: URL) {
var updatedViewState = makeViewState()
updatedViewState.urlToOpen = url
viewState = updatedViewState
}
NowChatServiceDelegate - chatService(_ chatService: NowChatService, systemThemeDidChange traitCollection: UITraitCollection)
システムチャットテーマが変更されたことをホストアプリケーションに通知するコールバック。
| 名前 | タイプ | 説明 |
|---|---|---|
| チャットサービス | Now チャットサービス | 要求を行う NowChatService オブジェクト。 |
| traitCollection | UITraitCollection | 新しいテーマを含む UITraitCollection。 |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、 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)
チャットビューコントローラーが却下されたことをホストアプリケーションに通知するコールバック。
| 名前 | タイプ | 説明 |
|---|---|---|
| チャットサービス | Now チャットサービス | ビューコントローラーが却下された NowChatService オブジェクト。 |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、この関数を呼び出す方法を示しています。
func chatServiceViewControllerWasDismissed(_ chatService: NowChatService) {
resetChat()
}
NowChatServiceDelegate:didEndSessionWithId(sessionId:文字列)
チャット画面が閉じられ、チャットセッションが終了すると呼び出されます。
注:
関数を上書きすることで、このコールバックに必要な機能を定義できます。
| 名前 | タイプ | 説明 |
|---|---|---|
| sessionId | 文字列 | 終了したセッションのSys_id。 テーブル:会話セッション [sys_cs_session] |
| タイプ | 説明 |
|---|---|
| なし |
次のコード例は、既定の機能をオーバーライドするコードを配置する場所を示しています。
func chatService(_ chatService: NowChatService, didEndSessionWithId sessionId: String) {
print("Chat Session ended with ID: \(sessionId)")
}