メインコンテンツへスキップ
カスタムサウンドは、アプリにより独自のブランド体験を提供する方法です。送信するすべての通知にカスタムサウンドを追加することも、特定のタイプの通知のみにサウンドを追加することもできます。たとえば、「Jewel Breaker」のようなゲームは、通知を受信したときに常に宝石のようなサウンドを再生したい場合があります。一方、ソーシャルネットワークは、ユーザーが別のユーザーからメッセージを受信したときにのみサウンドを再生して、これらの通知をより一般的なシステム通知と区別したい場合があります。
モバイルアプリのみ。カスタムサウンドは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はサポートされていません。
  • iOS
  • Android、Huawei、Amazon
SDKに応じて、Xcodeプロジェクトの適切な場所にサウンドファイルを追加します。
SDKフォルダー
iOS NativeXcodeプロジェクトルートにファイルを追加します。ファイルを追加する際にAdd to targetsが選択されていることを確認して、バンドルリソースに自動的に追加されるようにします。
Cordova, Ionic<project-root>/platforms/ios/project-name.xcodeproj内のXcodeプロジェクトのResourcesディレクトリにファイルを追加します。
UnityUnityプロジェクト内の任意の場所にサウンドを追加し、プロジェクトをビルドしてから、それらのサウンドをXcodeプロジェクトルートに移動します。

通知を送信する

  • iOS
  • Android、Huawei、Amazon
  • REST API
サウンドリソースを参照する際には、ファイル拡張子を追加します。たとえば、explode_sound.wavです。プッシュメッセージを送信する際にダッシュボードで設定するか、Create Notification APIのios_soundプロパティを使用します。サウンドなしの場合は、Soundフィールドにnilを渡します。
アプリにサウンドリソースを最近追加した場合は、サウンドを使用して通知を送信する前に数日待つことをお勧めします。これは、ユーザーの大部分が新しいサウンドリソースを含む最新バージョンにアプリを更新するのに数日または数週間かかる可能性があるためです。サウンドリソースのない古いバージョンのアプリを持つユーザーがそれを参照する通知を受信した場合、デフォルトのシステム通知サウンドのみが聞こえます。

よくある質問

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

サウンドやAndroid通知チャネルを参照するテンプレートを使用してください。

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

サウンドが再生されない理由はいくつかあります。
  • サウンドファイルのファイル拡張子が正しくない
  • サウンドファイルがサポートされている形式でエンコードされていない
  • サウンドファイルが正しくない場所にある
  • サウンドファイルが長すぎる
現在、OneSignalはリソースの不正な問題をログに記録しませんが、これをログに追加する作業を行っています。 iOS - ファイルのエンコード方法とテスト方法のヒントについては、Appleのドキュメントを参照してください。 Android - APKにビルドされていることを確認し、res/raw/に配置されていることを確認してください。 リソースの縮小が有効になっている場合は、次のコードでres/raw/keep.xmlを作成することで、サウンドファイルが削除されないように保護できます
xml
<resources xmlns:tools="http://schemas.android.com/tools"
tools:keep="@raw/sound_file"/>

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

セットアップ手順に注意深く従い、サウンドファイルがSDKの正しい場所にあることを確認してください。

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

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