要件
- Flutterflowプラン:Standard以上
- 構成されたOneSignalアプリとプラットフォーム
- Xcode 14+を搭載したmacOS(セットアップ手順ではXcode 16.2を使用)
- iOS 12+、iPadOS 12+を搭載したデバイス、またはiOS 16.2+を実行するXcodeシミュレーター
- CocoaPods 1.16.2+
- Google Playストア(サービス)がインストールされたAndroid 7.0+デバイスまたはエミュレーター
OneSignalアプリとプラットフォームを設定
サポートするプラットフォーム(Apple(APNs)、Google(FCM)、Huawei(HMS)、Amazon(ADM))でOneSignalアプリを設定します。セットアップのステップバイステップ手順
セットアップのステップバイステップ手順
アプリを作成または選択

最初のOneSignalアプリ、組織、チャネルのセットアップ。
プラットフォーム認証情報を設定
- Android:Firebase認証情報をセットアップ
- iOS:p8トークン(推奨)またはp12証明書
- Amazon:APIキーを生成
- Huawei:OneSignalを承認
App IDを保存してSDKをインストール

App IDを保存して追加のチームメンバーを招待します。
セットアップ
1. 新しいカスタムアクションを作成する
Flutterflowプロジェクトで、カスタムコードに移動し、+追加ボタンをクリックしてアクションを選択します。

YOUR_APP_IDを、OneSignalダッシュボードの**設定 > キーとID**にあるOneSignalアプリIDに置き換えます。
onesignalアクションをクリックします。


2. プロジェクトのエクスポート
- APKダウンロード(Androidのみ)
- 完全なプロジェクトのダウンロード(iOSおよびAndroid)

3. iOSセットアップ
ダウンロードしたプロジェクトは、iOSで起動する準備ができていない可能性があります。OneSignal固有の追加をセットアップする前に、プロジェクトが完全にビルドされていることを確認する必要があります。そのためには:- ターミナルウィンドウを開き、ダウンロードしたプロジェクトの
iosフォルダーにcd(ディレクトリを変更)します。 - ターミナルで
flutter build iosと入力してEnterキーを押します。ビルドが完了するまで待ちます。プロジェクトのサイズによっては時間がかかる場合があります。 - ターミナルで引き続き
pod installと入力してEnterキーを押します。podのインストールが完了するまで待ちます。
.xcworkspaceファイルをXcodeで開きます。
ルートプロジェクト > メインアプリターゲット > 署名と機能を選択します。
プッシュ通知が有効になっていない場合は、+ 機能をクリックしてプッシュ通知を追加します。チームとバンドル識別子の正しい詳細を入力していることを確認してください。


通知サービス拡張機能を追加
OneSignalNotificationServiceExtensionを使用すると、iOSアプリケーションで画像、ボタン、バッジを含むリッチ通知を受信できます。OneSignalの確認済み配信分析機能にも必要です。 Xcodeで**ファイル > 新規 > ターゲット…**を選択します 通知サービス拡張機能を選択してから次へをクリックします。
OneSignalNotificationServiceExtensionと入力し、完了を押します。


キャンセルすることで、作成したばかりの拡張機能ではなく、アプリのデバッグを続けることができます。誤ってアクティブ化した場合は、デバイスセレクターの横の中央上部近くでアプリターゲットをデバッグするために切り替えることができます。

これはメインアプリケーションターゲットと同じ値である必要があります。
アプリグループを追加
アプリグループを使用すると、アプリがアクティブでない場合でも、通知を受信したときにアプリとOneSignalNotificationServiceExtensionが通信できます。これは、バッジと確認済み配信に必要です。 メインアプリターゲット > 署名と機能 > + 機能 > アプリグループを選択します。
group.YOUR_BUNDLE_IDENTIFIER.onesignalに設定します。ここで、YOUR_BUNDLE_IDENTIFIERはメインアプリケーションの「バンドル識別子」と同じです。


group.YOUR_BUNDLE_IDENTIFIER.onesignalに設定します。ここで、YOUR_BUNDLE_IDENTIFIERは**メインアプリケーションの「バンドル識別子」**と同じです。
含めないでください OneSignalNotificationServiceExtension。

OneSignalNotificationServiceExtensionを含めないでください
カスタムアプリグループ名を設定するオプションの手順
カスタムアプリグループ名を設定するオプションの手順
group.{your_bundle_id}.onesignal)を使用したくない場合にのみ必要です。Info.plistファイルを開き、Stringタイプとして新しいOneSignal_app_groups_keyを追加します。最後の手順でチェックしたグループ名をその値として入力します。OneSignalNotificationServiceExtensionフォルダーの下のInfo.plistに対しても同じことを行ってください。OneSignalNotificationServiceExtensionにOneSignal SDKを追加
ios/Podfileを更新して次を含めます:
Podfileの上部にplatform :ios, '11.0'があることを確認してください。 - または、アプリで必要な場合はより新しいiOSバージョン。
iosディレクトリにcdして、pod installを実行します。
以下のエラーが表示された場合は、podfileの上部にuse_frameworks!を追加して再試行してください。
OneSignalNotificationServiceExtensionコード
Xcodeプロジェクトナビゲーターで、OneSignalNotificationServiceExtensionフォルダーを選択し、NotificationService.mまたはNotificationService.swiftファイルを開きます。
ファイル全体の内容を次のコードに置き換えます。

NotificationService.swiftファイルの例。
OneSignal SDK統合のテスト
このガイドでは、プッシュ通知、サブスクリプション登録、アプリ内メッセージをテストして、OneSignal SDK統合が正しく機能していることを確認する方法を説明します。モバイルサブスクリプションを確認
テストデバイスでアプリを起動します。
requestPermissionメソッドを追加した場合、ネイティブのプッシュ許可プロンプトが自動的に表示されます。
iOSとAndroidのプッシュ許可プロンプト
OneSignalダッシュボードを確認
- Audience > Subscriptionsに移動します。
- ステータスが「Never Subscribed」の新しいエントリが表示されるはずです。

「Never Subscribed」ステータスのサブスクリプションを表示するダッシュボード
アプリに戻り、プロンプトで「許可」をタップします。
OneSignalダッシュボードのSubscriptionsページを更新します。

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

デバイスをtest usersに追加
サブスクリプションに名前を付けます。
テストユーザーセグメントを作成します。
セグメントに名前を付けます。
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 receiptを確認します。

iOSとAndroidで画像付きプッシュ通知
confirmed receiptを確認します。
アプリ内メッセージを送信
アプリ内メッセージを使用すると、ユーザーがアプリを使用している間にユーザーとコミュニケーションできます。デバイスでアプリを閉じるか、バックグラウンドにします。
アプリ内メッセージを作成します。
- OneSignalダッシュボードで、Messages > In-App > New In-Appに移動します。
- Welcomeメッセージを見つけて選択します。
- Audienceを、以前使用したTest Usersセグメントに設定します。

「Test Users」セグメントをアプリ内メッセージでターゲティング
必要に応じてメッセージコンテンツをカスタマイズします。

アプリ内Welcomeメッセージのカスタマイズ例
トリガーを「On app open」に設定します。
頻度をスケジュールします。

アプリ内メッセージのスケジュールオプション
メッセージをライブにします。
アプリを開いてメッセージを確認します。

デバイスに表示されたWelcomeアプリ内メッセージ
- サブスクリプションの収集、テストサブスクリプションの設定、セグメントの作成。
- セグメントとCreate message APIを使用した画像付きプッシュとConfirmed receiptの送信。
- アプリ内メッセージの送信。
ユーザー識別
以前、モバイルサブスクリプションの作成方法を説明しました。次に、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セグメントをターゲットとするプッシュ通知を示すスクリーンショット

パーソナライズされたコンテンツを含むプッシュ通知がiOSおよびAndroidデバイスで受信されます
メールおよび/またはSMSサブスクリプションを追加
以前、SDKがプッシュとアプリ内メッセージを送信するためにモバイルサブスクリプションを作成する方法を見ました。対応するサブスクリプションを作成することで、メールとSMSチャネルを通じてユーザーにリーチすることもできます。addEmailメソッドを使用してメールサブスクリプションを作成します。addSmsメソッドを使用してSMSサブスクリプションを作成します。

External IDによって統合されたプッシュ、メール、SMSサブスクリプションを持つユーザープロファイル
- メールまたはSMSサブスクリプションを追加する前に、明示的な同意を得てください。
- 各コミュニケーションチャネルの利点をユーザーに説明してください。
- ユーザーが好むチャネルを選択できるように、チャネルの設定を提供してください。
プライバシーとユーザー同意
OneSignalがユーザーデータを収集するタイミングを制御するには、SDKの同意ゲーティングメソッドを使用します:setConsentRequired(true):同意が与えられるまでデータ収集を防ぎます。setConsentGiven(true):同意が付与されるとデータ収集を有効にします。
プッシュ許可のプロンプト
アプリを開いたときにすぐにrequestPermission()を呼び出すのではなく、より戦略的なアプローチを取ります。許可をリクエストする前に、アプリ内メッセージを使用してプッシュ通知の価値を説明します。
ベストプラクティスと実装の詳細については、プッシュ許可のプロンプトガイドを参照してください。
プッシュ、ユーザー、アプリ内イベントをリッスン
SDKリスナーを使用して、ユーザーのアクションと状態の変化に反応します。 SDKは、フックできるいくつかのイベントリスナーを提供します。詳細については、SDKリファレンスガイドを参照してください。プッシュ通知イベント
addClickListener():通知がタップされたときを検出します。ディープリンクに役立ちます。addForegroundLifecycleListener():フォアグラウンドでの通知の動作を制御します。
ユーザー状態の変更
- ユーザー状態用の
addObserver():External IDが設定されたときを検出します。 addPermissionObserver():ネイティブのプッシュ許可プロンプトとのユーザーの特定のインタラクションを追跡します。- プッシュサブスクリプション用の
addObserver():プッシュサブスクリプションのステータスが変更されたときを追跡します。
アプリ内メッセージイベント
addClickListener():アプリ内クリックアクションを処理します。ディープリンクやイベントの追跡に最適です。addLifecycleListener():アプリ内メッセージの完全なライフサイクル(表示、クリック、閉じるなど)を追跡します。
高度なセットアップと機能
統合を強化するための追加機能を探索します:- 🔁 別のサービスからOneSignalへの移行
- 🌍 位置情報トラッキング
- 🔗 ディープリンク
- 🔌 統合
- 🧩 Mobile Service Extensions
- 🛎️ アクションボタン
- 🌐 多言語メッセージング
- 🛡️ Identity Verification
- 📊 カスタムアウトカム
- 📲 Live Activities
