メインコンテンツへスキップ

iOSのアクションボタンを示す画像

このガイドはプッシュ通知にのみ適用されます。アプリ内メッセージについては、アプリ内メッセージ:クリックアクションを追加する方法を参照してください。
アクションボタンを使用すると、単一のプッシュ通知に複数のラベル付きアクションを追加できるため、ユーザーは最初にアプリやサイトを開かずに応答できます。オペレーティングシステムとデバイスに応じて、ユーザーは通知を展開することでボタンを表示します(長押し、スワイプ + 表示、または展開アフォーダンス)。

アクションボタンを追加する

アクションボタンは、テンプレートで設定するか、ダッシュボードでメッセージを作成する際に直接設定するか、API経由で設定できます。

ダッシュボードとテンプレートのセットアップ

プッシュを作成する際、詳細オプション > アクションボタンを開きます。

iOSとAndroid用に追加されるアクションボタンを示す画像

APIのセットアップ

  • モバイルアプリbuttonsパラメータを使用します。idtexticonを持つ最大3つのオブジェクトの配列を渡します。
  • ウェブ(Chrome)web_buttonsを使用し、idtexticonurlを持つ最大2つのオブジェクトを渡します。

アクションボタンのプロパティ

  • Action ID:特定のボタンアクションの一意の識別子。クリックされたボタンのIDが渡されるため、どのボタンがクリックされたかを識別できます。(例:‘accept-button’)
    • ボタンごとに一意である必要があります。
    • OSNotificationペイロードで利用可能で、SDK Notification Opened Event Handler内でアクセスできます。
    • API:idプロパティ
  • Label:ボタンがユーザーに表示するテキスト。(例:‘Accept’)
    • API:textプロパティ
  • Icon:ボタンラベルと一緒に表示されるオプションのアイコン。すべてのプラットフォームとオペレーティングシステムで利用できるわけではありません。詳細については、以下のFAQを参照してください。
    • モバイルアプリでは、ボタンを画像リソースに含める必要があります。詳細については、以下のアクションボタンアイコンを参照してください。
    • ウェブサイトでは、アイコンへの有効な公開アクセス可能なURLを使用できます。通知が表示されるたびにダウンロードされるため、小さく保つようにしてください。(例:http://site.com/icon.png
    • API:iconプロパティ
  • Button URL:通知がクリックされたときに開くURL。URLを開かないようにするには、'do_not_open'を渡します。(例:‘do_not_open’)
    • ウェブのみ
    • API:urlプロパティ

アクションボタンアイコン

  • iOSはiOS 15以降のアクションボタンアイコンをサポートしています
  • AndroidはAndroid N(別名7)以降、アクションボタンアイコンのサポートを停止しました

アクションボタンのクリックを処理する

ユーザーがボタンをタップすると、OneSignalはアプリ/サイトにAction IDを配信します。デフォルトの動作(アプリ/サイトを開く)を使用するか、オーバーライドできます。

デフォルトの動作(アプリ/サイトを開いてから処理)

  1. アプリ/サイトが開きます(ウェブではフォーカスされます)。
  2. クリック/オープンリスナーがAction IDを含むイベントを受信します。(クリックリスナーの詳細については、モバイルSDKリファレンスまたはウェブSDKリファレンスを参照してください。)

アクションボタンのクリックからアプリの起動を防ぐ


サポートされているプラットフォームと制限

プラットフォームサポートされるボタン注意事項
iOS最大4つiOS 15以降でアイコン対応。バックグラウンド処理にはカテゴリが必要です。
Android / Amazon / Huawei最大3つAndroid 7以降、ボタンアイコンはありません。
Web – Chrome最大2つボタンとアイコンがサポートされています。_osp=do_not_openがサポートされています。
Web – Firefoxボタンなし_osp=do_not_openは起動URLのみで機能します。
Web – Safariボタンなし_osp=do_not_openはサポートされていません。実際のURLを提供してください。
ユーザーは、ボタンを表示するために通知を展開する必要がある場合が多くあります(例:iOSでの長押し、一部のAndroid OEMでのスワイプ + 表示)。

トラブルシューティング

ボタンが表示されない

  • 通知を展開します(長押し、スワイプ + 表示、または展開)。
  • 各ボタンにAction IDとLabelを追加したことを確認してください。
  • プラットフォームの制限を確認してください(例:Chromeでは2つのボタンのみ)。

モバイルウェブでボタンをクリックしてもブラウザが開かない

ブラウザがバックグラウンドにあるか完全に閉じている場合、クリックイベントがサービスワーカーで依然としてトリガーされても、ほとんどのモバイルブラウザ(Chromeを含む)はフォアグラウンドに移動したりURLを開いたりしません。これは、バックグラウンドアプリがユーザーを中断するのを防ぐための意図的なブラウザの動作です。
  • ほとんどのモバイルブラウザは、バックグラウンドサービスワーカーから自身をフォアグラウンドにしません。クリックはワーカーで依然として発生しますが、タブは開きません。これは意図的なものです。
  • 新しいタブを開く代わりにタブをフォーカスすることを期待する場合は、起動URLとボタンURLが完全に一致していることを確認してください(末尾のスラッシュを含む)。

アイコンが表示されない

  • iOSはボタンアイコンのためにiOS 15以降である必要があります。
  • Android 7以降は、アクションボタンアイコンをレンダリングしません。
  • ウェブでは、アイコンURLが公開アクセス可能で小さい(ダウンロードが速い)ことを確認してください。

なぜ閉じるアクションボタンがあるのですか?

デフォルトでは、Windows 10のウェブプッシュ通知には閉じるボタンが含まれています。ただし、独自のアクションボタンを追加すると、この閉じるボタンは削除されます。したがって、いずれの場合も、ユーザーが通知と対話するまで、通知は画面上に残ります。これは、ユーザーに通知と対話する機会を与えるためにGoogleによって設計されています。
Need help?Chat with our Support team or email support@onesignal.comPlease include:
  • Details of the issue you’re experiencing and steps to reproduce if available
  • Your OneSignal App ID
  • The External ID or Subscription ID if applicable
  • The URL to the message you tested in the OneSignal Dashboard if applicable
  • Any relevant logs or error messages
We’re happy to help!