> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 通知サウンド

> iOS、Android、Huawei、Amazon アプリにカスタム通知サウンドを追加する——ファイル形式、SDK セットアップ、API パラメータを含む。

カスタムサウンドを使用すると、アプリにより独自のブランド体験を提供できます。すべての通知にカスタムサウンドを追加することも、特定のタイプの通知のみにサウンドを追加することもできます。たとえば、ソーシャルアプリはダイレクトメッセージにのみ独自のサウンドを再生して、システム通知と区別することができます。

<Warning>
  モバイルアプリのみ。カスタムサウンドはWebプッシュではサポートされていません。
</Warning>

## セットアップ

### サウンドファイルを作成する

以下のプラットフォーム要件に従ってサウンドファイルを作成してください。デバイスが指定されたファイルを見つけられない場合、またはファイル形式がサポートされていない場合は、デフォルトのシステム通知サウンドにフォールバックします。

<Note>
  一部のプラットフォームはサウンドファイルの大文字を無視するため、サウンドファイル名は小文字にしてください。`AwesomeSound.wav`の代わりに`awesomesound.wav`または`awesome_sound.wav`を使用してください。
</Note>

| プラットフォーム | 拡張子                   | 注意事項                                                                        |
| -------- | --------------------- | --------------------------------------------------------------------------- |
| iOS      | `.wav` `.aiff` `.caf` | サウンドはLinear PCM、MA4（IMA/ADPCM）、µLaw、またはaLawでエンコードする必要があります。30秒未満である必要があります。 |
| Android  | `.wav` `.mp3` `.ogg`  | 推奨される長さは30秒未満です。ファイルサイズを小さく保ち、大きなファイルは一部のデバイスで再生されない場合があります。                |
| Huawei   | `.wav` `.mp3` `.wma`  | 推奨される長さは30秒未満です。ファイルサイズを小さく保ち、大きなファイルは一部のデバイスで再生されない場合があります。                |
| Amazon   | `.wav` `.mp3` `.ogg`  | 推奨される長さは30秒未満です。ファイルサイズを小さく保ち、大きなファイルは一部のデバイスで再生されない場合があります。                |

### アプリにサウンドファイルを追加する

サウンドファイルはアプリ内のリソースとして含める必要があります。外部URLはサポートされていません。

<Tabs>
  <Tab title="iOS">
    SDKに応じて、Xcodeプロジェクトの適切な場所にサウンドファイルを追加します。

    | SDK            | フォルダー                                                                                            |
    | -------------- | ------------------------------------------------------------------------------------------------ |
    | iOS Native     | Xcodeプロジェクトルートにファイルを追加します。ファイルを追加する際に**Add to targets**が選択されていることを確認して、バンドルリソースに自動的に追加されるようにします。 |
    | Cordova, Ionic | `<project-root>/platforms/ios/project-name.xcodeproj`内のXcodeプロジェクトの`Resources`ディレクトリにファイルを追加します。 |
    | Unity          | Unityプロジェクト内の任意の場所にサウンドを追加し、プロジェクトをビルドしてから、それらのサウンドをXcodeプロジェクトルートに移動します。                        |
  </Tab>

  <Tab title="Android、Huawei、Amazon">
    SDKに応じて、プロジェクト内の適切なフォルダーにサウンドファイルを追加します。**フォルダーが存在しない場合は、作成してください。**

    | SDK                            | フォルダー                                                                                                       |
    | ------------------------------ | ----------------------------------------------------------------------------------------------------------- |
    | Android, Huawei, Amazon Native | `res/raw`                                                                                                   |
    | React Native                   | `<project-root>/android/app/src/main/res/raw`                                                               |
    | Cordova                        | `<project-root>/platforms/android/res/raw/`                                                                 |
    | Ionic                          | `/android/app/src/main/res/raw/`                                                                            |
    | Unity                          | `Assets/Plugins/Android/OneSignalConfig/res/raw` *注意：サウンドとアイコンのファイル名は小文字である必要があり、アンダースコアと数字以外は含めることができません。* |
    | Flutter                        | `main/res/raw`                                                                                              |
    | .NET                           | `<project-root>/Platforms/Android/Resources/raw/`                                                           |
  </Tab>
</Tabs>

### 通知を送信する

<Tabs>
  <Tab title="iOS">
    サウンドリソースを参照する際には、ファイル拡張子を含めてください（例：`explode_sound.wav`）。プッシュメッセージを送信する際にダッシュボードでサウンドを設定するか、[Create Notification](/reference/create-message) APIの`ios_sound`プロパティを使用します。

    サウンドなしの場合は、**Sound**フィールドに`nil`を渡します。

    <Frame caption="OneSignalダッシュボードでiOSのカスタムサウンドを設定する。">
      <img src="https://mintcdn.com/onesignal/6tscVAtiSqz353kV/images/docs/a05af7e-Screenshot_2023-02-28_at_3.16.55_PM.png?fit=max&auto=format&n=6tscVAtiSqz353kV&q=85&s=9d33c9837ac9f67b0d6c6a7a87d03212" alt="OneSignal dashboard push composer showing the iOS Sound field" width="423" height="606" data-path="images/docs/a05af7e-Screenshot_2023-02-28_at_3.16.55_PM.png" />
    </Frame>
  </Tab>

  <Tab title="Android、Huawei、Amazon">
    Android 8+は、通知サウンドをカスタマイズするために設定する必要がある[通知カテゴリ](./android-notification-categories)を導入しました。OneSignalは、すべてのバージョンのAndroidで通知チャネルに設定されたサウンドを使用します。

    **Settings > Push & In-App > Android Notification Channels**で、グループとチャネルを作成します。

    <Frame caption="通知チャネルを作成する。">
      <img src="https://mintcdn.com/onesignal/tc0EvmtSSX56SX0c/images/docs/8f39237-Screenshot_2023-02-28_at_3.11.52_PM.png?fit=max&auto=format&n=tc0EvmtSSX56SX0c&q=85&s=b18a97c1706dde194bd4e5c13cd9f593" alt="OneSignal dashboard showing the notification channel creation form" width="877" height="487" data-path="images/docs/8f39237-Screenshot_2023-02-28_at_3.11.52_PM.png" />
    </Frame>

    * サウンドを再生するには、**Importance**を「Urgent」または「High」に設定します。
    * ニーズに基づいて**Sound**を「Default」または「Custom」に設定します。サウンドリソースを参照する際には、ファイル拡張子を追加**しないでください**（例：`cat_meow_sound`）。
    * サウンドなしの場合は、**Importance**を「Urgent」または「High」に設定し、**Sound**を「Off」に設定します。または、**Importance**を「Medium」または「Low」に設定することでサウンドなしにできます。

    <Frame caption="通知チャネルのサウンドを設定する。">
      <img src="https://mintcdn.com/onesignal/KSCNwSpBCNSQ8xdF/images/docs/f7950b6-Screenshot_2023-02-28_at_3.11.03_PM.png?fit=max&auto=format&n=KSCNwSpBCNSQ8xdF&q=85&s=88d88df41d360b190b4c083709e8119c" alt="OneSignal notification channel settings showing sound configuration options" width="429" height="498" data-path="images/docs/f7950b6-Screenshot_2023-02-28_at_3.11.03_PM.png" />
    </Frame>

    プッシュメッセージを送信する際にダッシュボードでカテゴリ名を設定するか、[Create Notification](/reference/create-message) APIの`android_channel_id`および`huawei_channel_id`プロパティを使用できます。カテゴリに設定されたサウンドは、すべてのAndroidバージョンで機能します。

    <Frame caption="プッシュコンポーザーで通知カテゴリを選択する。">
      <img src="https://mintcdn.com/onesignal/jFWn5xzleD8du3j6/images/docs/5e8625c-Screenshot_2023-02-28_at_3.15.19_PM.png?fit=max&auto=format&n=jFWn5xzleD8du3j6&q=85&s=c02f9a68fcb73b913a1de93e01d0f4aa" alt="OneSignal push composer showing the notification category dropdown" width="423" height="517" data-path="images/docs/5e8625c-Screenshot_2023-02-28_at_3.15.19_PM.png" />
    </Frame>
  </Tab>

  <Tab title="REST API">
    REST APIを使用して、各プラットフォームに対応したパラメータでサウンド付きの通知を送信できます。詳細は[Create Notification APIリファレンス](/reference/push-notification)を参照してください。

    | プラットフォーム | APIパラメータ                                                                                                                                                      | 詳細                                                                      |
    | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- |
    | iOS      | `ios_sound`                                                                                                                                                   | ファイル拡張子を含めます。例：`"ios_sound": "explode_sound.wav"`。サウンドなしの場合は`nil`を渡します。 |
    | Android  | `android_channel_id` — OneSignalダッシュボードの[通知カテゴリ](./android-notification-categories)でチャネルを作成した場合に使用します。`existing_android_channel_id` — 他の場所でチャネルを作成した場合に使用します。 | [通知カテゴリ](./android-notification-categories)の使用を推奨します。                   |
    | Huawei   | `huawei_channel_id` — OneSignalダッシュボードの[通知カテゴリ](./android-notification-categories)でチャネルを作成した場合に使用します。`huawei_existing_channel_id` — 他の場所でチャネルを作成した場合に使用します。   | [通知カテゴリ](./android-notification-categories)の使用を推奨します。                   |
    | Amazon   | `adm_sound`                                                                                                                                                   | ファイル拡張子を含めないでください。例：`"adm_sound": "explode_sound"`。                     |
  </Tab>
</Tabs>

<Warning>
  アプリにサウンドリソースを最近追加した場合は、そのサウンドを使用して通知を送信する前に数日待つことを検討してください。ほとんどのユーザーが新しいサウンドファイルを含む最新バージョンにアプリを更新するには、数日から数週間かかる場合があります。

  サウンドリソースのない古いバージョンのアプリを持つユーザーがそれを参照する通知を受信した場合、デフォルトのシステム通知サウンドのみが聞こえます。
</Warning>

***

## よくある質問

### デフォルトのサウンドを設定できますか？

サウンドやAndroid通知チャネルを参照する[テンプレート](./templates)を使用してください。そのテンプレートで送信されるすべての通知は、設定されたサウンドを自動的に使用します。

### 異なるユーザーに異なる通知サウンドを送信できますか？

`ios_sound`と`android_channel_id`パラメータはリクエストレベルです——そのAPIコールの**すべて**の受信者に適用されます。単一のリクエストで異なるユーザーに異なるサウンドを指定することはできません。

異なるユーザーに異なるサウンドを配信するには、**ファンアウトパターン**を使用します：各サウンドバリアント用に別々のAPIコールを行い、タグまたはセグメントでユーザーをターゲティングします。たとえば、各ユーザーの好みのサウンドを`preferred_sound`などの[タグ](./add-user-data-tags)に保存し、サウンド値ごとに1つのリクエストを送信します。

<CodeGroup>
  ```json Request 1 — "chime" users theme={null}
  {
    "app_id": "YOUR_APP_ID",
    "contents": {"en": "You have a new message!"},
    "ios_sound": "chime.wav",
    "android_channel_id": "CHIME_CHANNEL_ID",
    "include_filters": [
      {"field": "tag", "key": "preferred_sound", "relation": "=", "value": "chime"}
    ]
  }
  ```

  ```json Request 2 — "bell" users theme={null}
  {
    "app_id": "YOUR_APP_ID",
    "contents": {"en": "You have a new message!"},
    "ios_sound": "bell.wav",
    "android_channel_id": "BELL_CHANNEL_ID",
    "include_filters": [
      {"field": "tag", "key": "preferred_sound", "relation": "=", "value": "bell"}
    ]
  }
  ```
</CodeGroup>

各リクエストは`preferred_sound`タグが一致するユーザーのみをターゲットにするため、各グループは独自のサウンドを聞くことができます。必要なだけバリアントを追加してください——サウンドごとに1つのAPIコールです。

### 通知がカスタムサウンドファイルを再生しないのはなぜですか？

一般的な原因としては以下が挙げられます：

* サウンドファイルのファイル拡張子が正しくない
* サウンドファイルがサポートされている形式でエンコードされていない
* サウンドファイルがプロジェクト内の正しくない場所にある
* サウンドファイルが30秒を超えている

**iOS** — エンコードとテストのガイダンスについては、[Appleのドキュメント](https://developer.apple.com/documentation/usernotifications/unnotificationsound?language=objc)を参照してください。

**Android** — APKを展開して`res/raw/`に存在することを確認し、サウンドファイルがAPKに含まれていることを検証してください。

リソースの縮小が有効になっている場合は、`res/raw/`に`keep.xml`を作成してサウンドファイルが削除されないように保護してください：

```xml theme={null}
<resources xmlns:tools="http://schemas.android.com/tools"
  tools:keep="@raw/sound_file"/>
```

### 通知がデフォルトのサウンドファイルを再生するのはなぜですか？

セットアップ手順に従い、サウンドファイルがSDKの正しい場所にあることを確認してください。ファイル名の大文字小文字を再確認してください——一部のプラットフォームは大文字を無視します。

### 間違ったサウンドが再生されるのはなぜですか？

Androidでは、デバイスが開かずに一定数の通知を受信すると、通知がグループ化されます。グループ化された通知はデフォルトのサウンドを再生します。すべての通知に対して[グループキー](https://developer.android.com/training/notify-user/group)でサウンドを設定できます。

***

## 関連ページ

<Columns cols={2}>
  <Card title="通知カテゴリ" icon="layer-group" href="./android-notification-categories">
    Androidの通知チャネルを設定してサウンド、バイブレーション、重要度を制御する。
  </Card>

  <Card title="テンプレート" icon="file-lines" href="./templates">
    事前定義されたサウンドを持つ再利用可能な通知テンプレートを作成する。
  </Card>

  <Card title="Create Notification API" icon="code" href="/reference/push-notification">
    ios\_sound、android\_channel\_id、adm\_soundパラメータのAPIリファレンス。
  </Card>

  <Card title="通知アイコン" icon="image" href="./notification-icons">
    モバイルアプリの通知アイコンをカスタマイズする。
  </Card>
</Columns>
