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

セットアップ

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

以下のプラットフォーム要件に従ってサウンドファイルを作成してください。デバイスが指定されたファイルを見つけられない場合、またはファイル形式がサポートされていない場合は、デフォルトのシステム通知サウンドにフォールバックします。
一部のプラットフォームはサウンドファイルの大文字を無視するため、サウンドファイル名は小文字にしてください。AwesomeSound.wavの代わりにawesomesound.wavまたはawesome_sound.wavを使用してください。
プラットフォーム拡張子注意事項
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はサポートされていません。
SDKに応じて、Xcodeプロジェクトの適切な場所にサウンドファイルを追加します。
SDKフォルダー
iOS NativeXcodeプロジェクトルートにファイルを追加します。ファイルを追加する際にAdd to targetsが選択されていることを確認して、バンドルリソースに自動的に追加されるようにします。
Cordova, Ionic<project-root>/platforms/ios/project-name.xcodeproj内のXcodeプロジェクトのResourcesディレクトリにファイルを追加します。
UnityUnityプロジェクト内の任意の場所にサウンドを追加し、プロジェクトをビルドしてから、それらのサウンドをXcodeプロジェクトルートに移動します。

通知を送信する

サウンドリソースを参照する際には、ファイル拡張子を含めてください(例:explode_sound.wav)。プッシュメッセージを送信する際にダッシュボードでサウンドを設定するか、Create Notification APIのios_soundプロパティを使用します。サウンドなしの場合は、Soundフィールドにnilを渡します。
OneSignal dashboard push composer showing the iOS Sound field
アプリにサウンドリソースを最近追加した場合は、そのサウンドを使用して通知を送信する前に数日待つことを検討してください。ほとんどのユーザーが新しいサウンドファイルを含む最新バージョンにアプリを更新するには、数日から数週間かかる場合があります。サウンドリソースのない古いバージョンのアプリを持つユーザーがそれを参照する通知を受信した場合、デフォルトのシステム通知サウンドのみが聞こえます。

よくある質問

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

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

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

ios_soundandroid_channel_idパラメータはリクエストレベルです——そのAPIコールのすべての受信者に適用されます。単一のリクエストで異なるユーザーに異なるサウンドを指定することはできません。 異なるユーザーに異なるサウンドを配信するには、ファンアウトパターンを使用します:各サウンドバリアント用に別々のAPIコールを行い、タグまたはセグメントでユーザーをターゲティングします。たとえば、各ユーザーの好みのサウンドをpreferred_soundなどのタグに保存し、サウンド値ごとに1つのリクエストを送信します。
{
  "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"}
  ]
}
各リクエストはpreferred_soundタグが一致するユーザーのみをターゲットにするため、各グループは独自のサウンドを聞くことができます。必要なだけバリアントを追加してください——サウンドごとに1つのAPIコールです。

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

一般的な原因としては以下が挙げられます:
  • サウンドファイルのファイル拡張子が正しくない
  • サウンドファイルがサポートされている形式でエンコードされていない
  • サウンドファイルがプロジェクト内の正しくない場所にある
  • サウンドファイルが30秒を超えている
iOS — エンコードとテストのガイダンスについては、Appleのドキュメントを参照してください。 Android — APKを展開してres/raw/に存在することを確認し、サウンドファイルがAPKに含まれていることを検証してください。 リソースの縮小が有効になっている場合は、res/raw/keep.xmlを作成してサウンドファイルが削除されないように保護してください:
<resources xmlns:tools="http://schemas.android.com/tools"
  tools:keep="@raw/sound_file"/>

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

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

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

Androidでは、デバイスが開かずに一定数の通知を受信すると、通知がグループ化されます。グループ化された通知はデフォルトのサウンドを再生します。すべての通知に対してグループキーでサウンドを設定できます。

関連ページ

通知カテゴリ

Androidの通知チャネルを設定してサウンド、バイブレーション、重要度を制御する。

テンプレート

事前定義されたサウンドを持つ再利用可能な通知テンプレートを作成する。

Create Notification API

ios_sound、android_channel_id、adm_soundパラメータのAPIリファレンス。

通知アイコン

モバイルアプリの通知アイコンをカスタマイズする。