> ## Documentation Index
> Fetch the complete documentation index at: https://social-b97141fb-feat-user-history-moderation-detail.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Channel Notification Settings

> Read and update push notification settings for a single chat channel.

Channel notification settings control whether the signed-in user receives push notifications for one channel.

## API surface

| Platform | Manager | Read | Enable | Disable |
| - | - | - | - | - |
| TypeScript | `Client.notifications().channel(channelId)` | `getSettings()` | `enable()` | `disable()` |
| iOS | `channelRepository.notificationManagerForChannel(withId:)` | `getSettings()` | `enable()` | `disable()` |
| Android | `AmityCoreClient.notifications().channel(channelId)` | `getSettings()` | `enable()` | `disable()` |
| Flutter | `AmityCoreClient.notifications().channel(channelId)` | `getSettings()` | `enable()` | `disable()` |

## Parameters

| Name | Platform | Type | Required | Description |
| - | - | - | - | - |
| `channelId` | TypeScript, iOS, Android, Flutter | `String` / `string` | Yes | ID of the channel whose push setting should be read or updated. |

## Get channel settings

Read channel notification settings before rendering a channel-level push toggle.

```typescript TypeScript theme={null}
import { Client } from '@amityco/ts-sdk';

const settings = await Client.notifications()
  .channel(channelId)
  .getSettings();

const isEnabled = settings.isEnabled;
```

```swift iOS theme={null}
let notificationManager = channelRepository.notificationManagerForChannel(withId: channelId)
let settings = try await notificationManager.getSettings()

let isEnabled = settings.isEnabled
```

```kotlin Android theme={null}
AmityCoreClient.notifications()
    .channel(channelId)
    .getSettings()
    .doOnSuccess { settings: AmityChannelNotificationSettings ->
        val isEnabled = settings.isEnabled()
    }
    .doOnError { error ->
        // Handle error.
    }
    .subscribe()
```

```dart Flutter theme={null}
final settings = await AmityCoreClient
    .notifications()
    .channel(channelId)
    .getSettings();

final isEnabled = settings.isEnabled;
```

## Update channel settings

Enable or disable notifications for a channel after the user changes that channel's push preference.

```typescript TypeScript theme={null}
import { Client } from '@amityco/ts-sdk';

await Client.notifications()
  .channel(channelId)
  .enable();

await Client.notifications()
  .channel(channelId)
  .disable();
```

```swift iOS theme={null}
let notificationManager = channelRepository.notificationManagerForChannel(withId: channelId)

try await notificationManager.enable()
try await notificationManager.disable()
```

```kotlin Android theme={null}
AmityCoreClient.notifications()
    .channel(channelId)
    .enable()
    .doOnComplete {
        // Channel push notifications enabled.
    }
    .doOnError { error ->
        // Handle error.
    }
    .subscribe()

AmityCoreClient.notifications()
    .channel(channelId)
    .disable()
    .doOnComplete {
        // Channel push notifications disabled.
    }
    .doOnError { error ->
        // Handle error.
    }
    .subscribe()
```

```dart Flutter theme={null}
await AmityCoreClient
    .notifications()
    .channel(channelId)
    .enable();

await AmityCoreClient
    .notifications()
    .channel(channelId)
    .disable();
```

## Related

> **[User Settings](./user-settings)**
>
> Configure account-wide push preferences.

> **[Community Settings](./community-settings)**
>
> Configure push settings for social community events.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.