概要
このガイドでは、Vue.jsアプリケーションにOneSignalプッシュ通知を統合する方法について説明します。公式のOneSignal Vueプラグインを使用したVue 2とVue 3の両方を対象とし、サービスワーカーの構成やTypeScriptサポートなどの主要なセットアップの考慮事項を含みます。要件
- 構成されたOneSignalアプリとプラットフォーム。開始するにはWebプッシュセットアップを参照してください。
Vue互換性
Vue環境と互換性のあるプラグインバージョンをインストールしてください。| Vue | OneSignal Plugin |
|---|---|
| 2 | onesignal-vue |
| 3 | onesignal-vue3 |
インストール
お好みのパッケージマネージャーを使用してインストールします:初期化
OneSignalサービスをインポートし、ルートコンポーネントで初期化します。init関数は、OneSignalが読み込まれたときに解決されるプロミスを返します。
YOUR_APP_IDをキーとIDで見つかるOneSignalアプリIDに置き換えてください。
$OneSignalグローバルプロパティを自動的に公開します。
Composition API
setup内から呼び出すことができるuseOneSignal()フックを介して、VueのComposition APIを活用することもできます。
init オプションのカスタマイズ
追加のinitパラメーターを使用して初期化をカスタマイズできます。
サービスワーカーの設定
まだ行っていない場合は、OneSignalサービスワーカーファイルをダウンロードしてサイトに追加する必要があります。OneSignalSDKWorker.jsファイルは公開アクセス可能である必要があります。publicディレクトリ、トップレベルルート、またはサブディレクトリに配置できます。ただし、ファイルをサブディレクトリに配置する場合や、サイトに別のサービスワーカーがある場合は、パスを指定してください。詳細については、OneSignalサービスワーカーを参照してください。
| オプション | 説明 |
|---|---|
serviceWorkerParam | OneSignalワーカーによって制御されるスコープ。推奨: カスタムサブパスを使用します(例:"/onesignal/")。 |
serviceWorkerPath | ホストされているOneSignalサービスワーカーファイルへのパス(例:"onesignal/OneSignalSDKWorker.js")。公開アクセス可能である必要があります。 |
ワーカーのホスティング
- パブリックルート(デフォルト):
/OneSignalSDKWorker.js - カスタムフォルダー(推奨):例:前のステップで設定した
/onesignal/OneSignalSDKWorker.js
サービスワーカーのホスティングを確認
ブラウザでパスにアクセスして、アクセス可能であることを確認します。 ルートを使用した場合:重要な注意事項
- 開発環境での重複初期化を回避
- 開発環境でテストする場合、OneSignal SDKが2回初期化され、コンソールエラーが発生する可能性があります。
- これは、
<React.StrictMode>が開発環境でエフェクトを2回実行するために発生します。解決するには、開発中にルートコンポーネントから<React.StrictMode>を削除してください。
OneSignal SDK統合のテスト
このガイドでは、プッシュ通知とサブスクリプション登録をテストして、OneSignal SDK統合が正しく機能していることを確認する方法を説明します。Webプッシュサブスクリプションを確認
テストデバイスでサイトを起動します。
- テスト中は、Chrome、Firefox、Edge、またはSafariを使用してください。
- **シークレットモードやプライベートブラウジングモードは使用しないでください。**これらのモードでは、ユーザーはプッシュ通知にサブスクライブできません。
- 許可プロンプトの設定に基づいてプロンプトが表示されるはずです。
- プッシュ通知にサブスクライブするには、ネイティブプロンプトでAllowをクリックします。

Webプッシュのネイティブ許可プロンプト
OneSignalダッシュボードを確認
- Audience > Subscriptionsに移動します。
- ステータスがSubscribedの新しいエントリが表示されるはずです。

「Subscribed」ステータスのサブスクリプションを表示するダッシュボード
テストサブスクリプションをセットアップ
テストサブスクリプションは、メッセージを送信する前にプッシュ通知をテストするのに役立ちます。Test Subscriptionsに追加します。

デバイスをTest Subscriptionsに追加
サブスクリプションに名前を付けます。

「Name your subscription」フィールドを表示するダッシュボード
テストユーザーセグメントを作成します。
セグメントに名前を付けます。
Test Usersという名前を付けます(この名前は後で使用されるため重要です)。Test Usersフィルターを追加し、Create Segmentをクリックします。

Test Usersフィルターを使用して「Test Users」セグメントを作成
API経由でテストプッシュを送信
App API KeyとApp IDを取得します。
提供されたコードを更新します。
YOUR_APP_API_KEYとYOUR_APP_IDを実際のキーに置き換えます。このコードは、先ほど作成したTest Usersセグメントを使用します。コードを実行します。
画像とConfirmed Deliveryを確認します。

Chrome macOSで画像付きの展開されたプッシュ通知
Confirmed Deliveryを確認します。

Confirmed Deliveryを示す配信統計

Audience Activityでのデバイスレベルでの Confirmed Delivery
support@onesignal.comにお問い合わせください:- APIリクエストとレスポンスを
.txtファイルにコピー&ペースト - あなたのSubscription ID
- OneSignalコードを含むあなたのウェブサイトURL
ユーザー識別
以前、Webプッシュサブスクリプションの作成方法を説明しました。次に、OneSignal SDKを使用して、すべてのサブスクリプション(プッシュ、メール、SMSを含む)にわたるユーザーの識別に拡張します。プラットフォーム間でユーザーを統合し、エンゲージメントするために、External ID、タグ、マルチチャネルサブスクリプション、プライバシー、イベントトラッキングについて説明します。External IDを割り当て
External IDを使用して、バックエンドのユーザー識別子を使用して、デバイス、メールアドレス、電話番号間でユーザーを一貫して識別します。これにより、チャネルとサードパーティシステム間でメッセージングが統一されたままになります(特に統合に重要)。 アプリによって識別されるたびに、SDKのloginメソッドを使用してExternal IDを設定します。
データタグを追加
タグは、ユーザープロパティ(username、role、設定など)とイベント(purchase_date、game_level、ユーザーインタラクションなど)を保存するために使用できる文字列データのキーと値のペアです。タグは、高度なメッセージパーソナライゼーションとセグメンテーションを強化し、より高度なユースケースを可能にします。
アプリでイベントが発生したときに、SDKのaddTagおよびaddTagsメソッドを使用してタグを設定します。
この例では、ユーザーはレベル6に到達し、current_levelというタグで識別され、値は6に設定されます。

"current_level"というタグが"6"に設定されたOneSignalのユーザープロファイル

current_level値が4より大きく10より小さいユーザーをターゲットとするセグメントを示すセグメントエディター

パーソナライズされたメッセージでLevel 5-10セグメントをターゲットとするプッシュ通知を示すスクリーンショット
メールおよび/またはSMSサブスクリプションを追加
以前、SDKがプッシュを送信するためにWebプッシュサブスクリプションを作成する方法を見ました。対応するサブスクリプションを作成することで、メールとSMSチャネルを通じてユーザーにリーチすることもできます。addEmailメソッドを使用してメールサブスクリプションを作成します。addSmsメソッドを使用してSMSサブスクリプションを作成します。

External IDによって統合されたプッシュ、メール、SMSサブスクリプションを持つユーザープロファイル
- メールまたはSMSサブスクリプションを追加する前に、明示的な同意を得てください。
- 各コミュニケーションチャネルの利点をユーザーに説明してください。
- ユーザーが好むチャネルを選択できるように、チャネルの設定を提供してください。
プライバシーとユーザー同意
OneSignalがユーザーデータを収集するタイミングを制御するには、SDKの同意ゲーティングメソッドを使用します:setConsentRequired(true):同意が与えられるまでデータ収集を防ぎます。setConsentGiven(true):同意が付与されるとデータ収集を有効にします。
プッシュ、ユーザー、アプリ内イベントをリッスン
SDKリスナーを使用して、ユーザーのアクションと状態の変化に反応します。 SDKは、フックできるいくつかのイベントリスナーを提供します。詳細については、SDKリファレンスガイドを参照してください。プッシュ通知イベント
- クリックイベントリスナー:通知がタップされたときを検出します。
- フォアグラウンドライフサイクルリスナー:フォアグラウンドでの通知の動作を制御します。
ユーザー状態の変更
- ユーザー状態変更イベントリスナー:External IDが設定されたときを検出します。
- 許可オブザーバー:ネイティブのプッシュ許可プロンプトとのユーザーの特定のインタラクションを追跡します。
- プッシュサブスクリプション変更オブザーバー:プッシュサブスクリプションのステータスが変更されたときを追跡します。
高度なセットアップと機能
統合を強化するための追加機能を探索します:Web SDKのセットアップとリファレンス
Webプッシュセットアップガイドを確認して、すべての主要機能が有効になっていることを確認してください。 利用可能なメソッドと設定オプションの詳細については、Web SDKリファレンスにアクセスしてください。support@onesignal.comにメールしてください以下を含めてください:- 発生している問題の詳細と再現手順(利用可能な場合)
- OneSignal App ID
- 該当する場合は、External IDまたはSubscription ID
- 該当する場合は、OneSignalダッシュボードでテストしたメッセージのURL
- 関連するログまたはエラーメッセージ