メインコンテンツへスキップ
プッシュ権限プロンプトは、アプリがプッシュ通知を送信してよいかどうかをユーザーに尋ねるオペレーティングシステムのダイアログです。ユーザーの回答によって、バナーとして表示され、ロック画面に表示され、サウンドを再生する通知を配信できるかどうかが決まります。
iOSとAndroidのシステム権限プロンプトを並べて表示
プロンプト表示は戦略として扱ってください。システムプロンプトは表示回数が制限されています。iOSでは1回Android(GoogleとHuawei)では2回までです。ユーザーが毎回拒否した場合、システム設定で通知を手動で再有効化する必要があります。タイミングの悪いプロンプトはサブスクライバーを永久に失う原因となり得ます。リーチ可能なオーディエンスは、実施するあらゆるプッシュキャンペーンのROIを左右する最大のレバーです。 AppleGoogleは、いずれも権限をリクエストする前に通知の価値を説明することを推奨しています。コンテキストがなければユーザーは拒否する可能性が高くなり、iOSでは一度拒否されたプロンプトを再表示することはできません。 このガイドはモバイルアプリのプッシュを対象としています。ウェブプッシュについては、ウェブプッシュ権限プロンプトをご覧ください。

高いオプトイン率を実現するための戦略

プッシュのオプトイン率は、システムプロンプト自体の文言よりも、いつどのように尋ねるかに大きく左右されます。プロンプト表示を戦略として扱うアプリは、初回起動時にプロンプトを表示するアプリを一貫して上回るパフォーマンスを発揮します。以下の原則はその構成要素です。下記のサンプル戦略は、これらを具体的なプレイブックにまとめる方法を示しています。

原則

  • 価値を実感した瞬間の後に尋ねる。 ユーザーが通知に値する体験をした直後まで待ってください。オンボーディングの完了、アイテムの保存、トピックのフォロー、注文の実行、初回セッションの完了などです。ユーザーがアプリの用途を理解する前、初回起動時にプロンプトを表示することは、オプトイン率が低くなる最大の原因です。
  • iOSでは仮通知から始める。 仮通知はプロンプトを表示せずに通知センターに静かに配信されるため、ユーザーは仮定の説明ではなく実際のコンテンツに基づいて維持するかどうかを判断できます。これはiOSでコンバージョン率が最も高くなることが多く、デフォルトの出発点にすべきです。
  • アプリ内ソフトプロンプトで価値を説明する。 ソフトプロンプトはOneSignalのアプリ内メッセージで、送信する通知の種類とそれが重要な理由をユーザーに伝えます。ソフトプロンプトを閉じてもシステムプロンプトの試行回数は消費されないため、まだ準備が整っていないユーザーに再度尋ねることができます。
  • システムプロンプトではなく、ソフトプロンプトを拒否したユーザーに再度尋ねる。 ソフトプロンプトを一定の間隔(たとえば2 weeksごと)で再表示するよう設定します。準備が整っていなかったユーザーは、システムプロンプトの上限を消費することなく、別の機会を得られます。
  • コピーとタイミングを反復改善する。 ソフトプロンプトを公開し、メッセージレポートでコンバージョンを観察したうえで、トリガー、文言、頻度を調整します。タイミングとコピーのわずかな変更で、オプトイン率が数十パーセントポイント変動することは珍しくありません。

例:オンボーディングオプトイン戦略

この例では、iOSで即座にリーチを獲得するための仮通知と、フルオプトインのために価値を実感した瞬間に表示するソフトプロンプトを組み合わせています。出発点として使用し、通知の種類と価値を実感する瞬間をアプリに合わせて調整してください。AndroidおよびHuaweiアプリの場合は、フェーズ1をスキップしてフェーズ2から始めてください。 フェーズ1:iOSでのサイレントリーチ
  1. OneSignalダッシュボードの Settings > Apple iOS > Advanced Configuration > Enable iOS 12 direct to history で仮認証をオンにします。
  2. ユーザーの最初の1週間に、質の高い通知を2~3件送信します。パーソナライズされたおすすめ、速報アラート、週次ダイジェストなど、サブスクライブする価値を示すコンテンツを選択してください。ユーザーはプロンプトなしで通知センターに静かに受信します。
フェーズ2:価値を実感した瞬間にコンバージョン
  1. Messages > In-App で、ユーザーがすでに体験した価値に言及するソフトプロンプトを作成します。ヘッドラインの例:「速報アラートをロック画面で受け取ろう」。
  2. オーディエンスを Show to all users に設定します。Push Permission Prompt クリックアクションが自動的に未購読ユーザーにフィルタリングします。
  3. シグナル性の高いイベントでメッセージをトリガーします。仮通知を開く、または仮通知に対して行動する、トピックをフォローする、カートにアイテムを追加する、セッション時間が5分に達するなどです。
  4. CTAボタンに Push Permission Prompt クリックアクションを追加します。
  5. スケジュールを Multiple times に設定し、ユーザーあたりの最大表示回数を20、表示間隔を2 weeksに設定します(約10か月間の再プロンプト表示に相当します)。
フェーズ3:測定と反復
  1. 1~2週間後、メッセージレポートでプロンプトからオプトインへのコンバージョンを確認します。
  2. SDKリスナーを使ってファネル全体を計測します。ソフトプロンプトのクリック、閉じる動作、システムプロンプトの結果を計測し、イベントを分析ツールに転送してください。
  3. 数値に基づき、一度に1つの変数(トリガーイベント、ヘッドライン、CTAのコピー、または表示間隔)を調整します。
ユーザーが仮通知を開いたり操作した直後にソフトプロンプトをトリガーしてください。ユーザーはすでに通知の価値を体験しているため、システムプロンプトでの「Allow」率が大幅に向上します。

アプローチを選択する

OneSignalでプッシュサブスクライバーベースを拡大する方法は3つあります。ほとんどのiOSアプリでは仮通知とアプリ内ソフトプロンプトを組み合わせるべきです。ほとんどのAndroidアプリではソフトプロンプトから始めるべきです。
アプローチプラットフォーム仕組み使用するタイミング
アプリ内ソフトプロンプト(推奨)iOS、Android、HuaweiOneSignalのアプリ内メッセージに Push Permission Prompt クリックアクションを設定します。ボタンをタップするとシステムプロンプトが表示されます。アプリ内メッセージを閉じても何も消費されないため、後で再度尋ねることができます。デフォルトの選択肢。コードリリースなしでプロンプトを設計、スケジュール、ターゲット、再表示できます。
プログラム的なプロンプトiOS、Android、HuaweiアプリコードからrequestPermission()またはoptIn()を呼び出します。システムプロンプトが即座に表示されます。アプリがトリガーを制御するカスタムフロー:プリファレンスセンター、プロフィール画面、またはプロンプトを表示するに値するアプリ内イベントなど。
仮通知iOSOneSignalダッシュボードで有効化します。ユーザーはプロンプトなしで通知センターに静かな通知を受け取り、Keep をタップしてフルサブスクライバーに変換されます。iOSのオンボーディングと低摩擦のリーチに最適。ソフトプロンプトと組み合わせて、静かなサブスクライバーをフルプッシュサブスクライバーに変換します。
3つはすべて組み合わせることができます。iOSでよく見られる高パフォーマンスのパターンは、仮通知を有効にして即時に静かなリーチを確保し、価値を実感した瞬間にソフトプロンプトを表示し、オンデマンドでオプトインしたいユーザー向けにプリファレンスセンターからプログラム的なプロンプトを提供する、というものです。
システムプッシュ権限プロンプトへつながるアプリ内メッセージ

前提条件


アプリ内プッシュ権限プロンプトを設定する

1

自動権限プロンプトを削除する

開始する前に、アプリがシステム権限プロンプトを自動的にトリガーしていないことを確認してください:
  • アプリ起動時に呼び出されるrequestPermission()またはoptIn()の呼び出しを削除します。
  • requestAuthorizationWithOptionsへのネイティブiOS呼び出しと、プッシュトークンを直接生成するコードを削除します。
  • requestPermissionsへのAndroid呼び出しと、プッシュトークンを直接生成するコードを削除します。
2

アプリ内メッセージを作成または編集する

Messages > In-App に移動し、次のいずれかを実行します:
  • デフォルトの Push Permission Prompt テンプレートを編集する、または
  • New Message をクリックして独自のメッセージを作成する。
Push Permission Prompt テンプレートを表示するOneSignalのアプリ内メッセージ一覧
オーディエンスを Show to all users に設定します。OneSignalは Push Permission Prompt クリックアクションに基づいて、このメッセージをプッシュを未購読のユーザーにのみ自動的にフィルタリングします。
すべてのユーザーに表示するよう設定されたオーディエンス設定
3

メッセージデザインをカスタマイズする

アプリに合わせて外観、雰囲気、文言をパーソナライズします。どのような通知が届くのか、なぜそれが価値があるのかをユーザーに伝えます。詳細は、ドラッグアンドドロップでアプリ内メッセージをデザインするまたはHTMLでアプリ内メッセージをデザインするをご覧ください。
プッシュオプトインプロンプトを備えたアプリ内メッセージのブロックエディター
4

Push Permission Prompt クリックアクションを追加する

メッセージ内の任意のボタンまたは画像に Push Permission Prompt クリックアクションを追加します。タップされると、システム権限プロンプトが表示されます。
Push Permission Prompt が選択されたクリックアクションのドロップダウン
iOSのネイティブプッシュ通知権限プロンプト
ユーザーがすでに最大回数(iOSでは1回、Androidでは2回)システム権限プロンプトを拒否している場合、クリックアクションは代わりにユーザーをアプリの通知設定に誘導します。これはSDKからrequestPermission(fallbackToSettings: true)を呼び出すのと同等です。
Push Permission Prompt クリックアクションが設定されたアプリ内メッセージは、すでに通知を許可しているユーザーには表示されません。
5

トリガーを選択する

オーディエンスはメッセージを表示する資格があるを制御します。トリガーはいつ表示されるかを制御します。プロンプトは価値を実感した瞬間、つまりユーザーが通知に値する体験をした直後にトリガーすることを目指してください。
アプリ内メッセージのトリガー設定パネル
トリガーオプション(コンバージョン率がおおむね低い順から高い順):
  • アプリ起動時。 シンプルですが、最適であることはめったにありません。アプリの価値が数秒以内に明らかな場合のみ使用してください。
  • 設定されたセッション時間の経過後。 良いデフォルト設定。ユーザーがアプリを探索してから尋ねます。
  • 特定のユーザーイベント時。 コンバージョンに最適。オンボーディングの完了、アイテムの保存、トピックのフォロー、初回購入の完了など、シグナル性の高いアクションの後にトリガーします。
  • プログラム的にアプリ内メッセージトリガーのSDKメソッドを使用します。タイミングとコンテキストを完全に制御でき、プロンプト表示前に複数のシグナルを組み合わせることも可能です。
たとえば、ユーザーがアプリで少なくとも5分間過ごすまで待つには:
5分に設定されたセッション時間のトリガー
6

スケジュールと頻度

メッセージが表示される頻度を制御します:
  • Only once。 最初に準備ができていなかったユーザーを転換できる可能性が低くなります。
  • Every time conditions are met。 積極的すぎてユーザーを煩わせる可能性があります。
  • Multiple times(推奨)。 ユーザーあたりの最大表示回数と表示間の間隔を設定します。たとえば、表示回数20、間隔2 weeksにすると、未購読ユーザーに約10か月間、積極的な頻度で再プロンプトを表示します。エンゲージメントが低いアプリやユーティリティアプリで2週間の間隔が押しつけがましく感じる場合は、間隔を緩めてください(たとえば30 days60 days)。
最大表示回数と表示間隔を示すスケジュール設定

プログラム的に権限プロンプトを表示する

requestPermission()またはoptIn() SDKメソッドを使用して、システム権限プロンプトを手動でトリガーできます。これは次のようなカスタムフローに役立ちます: requestPermission()fallbackToSettings: trueを渡すと、すでに拒否したユーザーは黙って何もしないのではなく、アプリの通知設定にリダイレクトされます。
サブスクリプションがoptOut()によってSDKレベルでオプトアウトされている場合(サブスクリプションレコードにnotification_types: -2と表示されます)、requestPermission()だけではサブスクリプションのステータスは変わりません。代わりにoptIn()を使用してください。権限をリクエストすると同時に、オプトアウト状態を解除します。

iOS仮通知を使用する

仮プッシュ通知はiOS 12で導入されました。権限プロンプトを表示せずに通知センターに通知を配信できます。ユーザーはアプリからの実際のコンテンツを見て、その体験に基づいて通知を維持するか、サイレントにするか、オフにするかを判断します。 戦略として有効な理由:
  • 失敗するシステムプロンプトがありません。事前のオプトイン判断なしに、初回セッションからユーザーへのリーチを開始できます。
  • ユーザーは仮定の説明ではなく、実際の価値に基づいて判断します。
  • 後からソフトプロンプトを表示することで、仮通知のユーザーをバナー、サウンド、ロック画面アラートを備えたフルプッシュサブスクライバーに変換できます。
トレードオフ。 仮通知は視認性が低下します。ユーザーがフル権限にアップグレードするまでは、通知センターにのみ静かに配信されます。バナーもサウンドもロック画面アラートもありません。
KeepとTurn Offのオプションを備えたiOS仮プッシュ通知
仮認証を有効にするには、OneSignalダッシュボードの Settings > Apple iOS > Advanced Configuration に移動し、Enable iOS 12 direct to history にチェックを入れます。ユーザーが仮通知とどのように操作するか、標準プロンプトとどのように組み合わさるかを含む詳細なウォークスルーについては、iOS仮プッシュ通知をご覧ください。
仮通知と価値を実感した瞬間のソフトプロンプトを組み合わせる具体的なプレイブックについては、例:オンボーディングオプトイン戦略をご覧ください。

プッシュ権限とプロンプト結果を追跡する

これらのSDKイベントは、任意のバックエンドや分析ツールに転送できます。

FAQ

ユーザーがシステム権限プロンプトを拒否した場合はどうなりますか?

iOSでは、システム権限プロンプトを拒否すると、そのアプリのプッシュ通知は永久に無効になります。プロンプトを再表示することはできません。Androidでは、ユーザーはもう1回チャンスを得られます(合計2回)。すべての試行を使い切ると、ユーザーはデバイスの Settings > Notifications で手動で通知を再有効化する必要があります。Push Permission Prompt クリックアクションとrequestPermission(fallbackToSettings: true)はいずれも、ユーザーを通知設定に直接誘導することで対応します。

ネイティブシステム権限プロンプトをカスタマイズできますか?

いいえ。iOSとAndroidのシステム権限プロンプトはオペレーティングシステムによって制御されており、カスタマイズできません。カスタマイズできるのは、その前に表示されるアプリ内メッセージであるソフトプロンプトだけです。ソフトプロンプトを使って通知の価値を説明し、期待値を設定し、システムプロンプトで「Allow」が選択される可能性を高めましょう。

仮通知を利用しているユーザーにもプロンプトを表示できますか?

はい、表示すべきです。仮通知のユーザーは、すでにアプリからの実際の通知を目にしているため、ソフトプロンプトの絶好の対象です。推奨されるパターンについては、iOS仮通知を使用するをご覧ください。ユーザーが仮通知を開いたり操作した直後にソフトプロンプトが出るようタイミングを調整してください。

以前にプッシュを拒否したユーザーに再プロンプトするにはどうすればよいですか?

システム権限プロンプトを使い切ったら(iOSでは1回、Androidでは2回)、再表示することはできません。代わりに、requestPermission(fallbackToSettings: true) SDKメソッドか、アプリ内メッセージ上の Push Permission Prompt クリックアクションを使用します。どちらもアプリの通知設定を開き、ユーザーが手動で通知を有効にできるようにします。これを、通知が価値ある理由を説明するアプリ内メッセージと組み合わせて使用してください。

すべてのAndroidバージョンでシステム権限プロンプトが必要ですか?

いいえ。Android 13(APIレベル33)以降のみです。Android 13でランタイム通知権限が導入され、プッシュ通知にユーザーの明示的な同意が必要になりました。
  • リリース: 2022年8月(Pixelデバイス)。
  • ターゲットSDKに必要: 2023年8月31日以降、Google Playのすべての新しいアプリとアップデートはAPIレベル33以上をターゲットにする必要があります。
  • 出典: 通知権限に関するGoogleの開発者ガイド
Android 12以下では、インストール時にアプリに通知権限が自動的に付与されます。

iOS仮プッシュ通知

iOS 12以降で事前の権限プロンプトなしに通知センターへ通知を送信します。

モバイルSDKリファレンス

requestPermissionoptIn、権限オブザーバー、アプリ内クリックリスナーのAPI。

ウェブプッシュ権限プロンプト

ソフトプロンプト、スライドダウン、ネイティブウェブプッシュ権限リクエストを設定します。

アプリ内メッセージのセットアップ

ソフトプロンプトを実行できるように、アプリでアプリ内メッセージを有効化します。