概要
OneSignalを使用してUnityアプリのプッシュ通知を設定する
Unityアプリにプッシュ通知を統合することは、ユーザーエンゲージメントとリテンションを高める強力な方法です。OneSignalのUnity SDKは、iOS(APNS)、Android(FCM)、Amazon(ADM)、Huaweiデバイスをサポートし、最小限の労力でリアルタイムメッセージングを可能にします。 モバイルゲームやインタラクティブアプリを構築している場合でも、このガイドはOneSignalを迅速かつ確実に統合するのに役立ちます。要件
- Unity 2022.3以降
- 設定済みのOneSignalアプリとプラットフォーム
- Xcode 14+を搭載したmacOS(セットアップ手順はXcode 16.2を使用)
- iOS 12+、iPadOS 12+、またはiOS 16.2+を実行するXcodeシミュレーターを搭載したデバイス
- Google Play Store(サービス)がインストールされたAndroid 7.0+デバイスまたはエミュレーター
OneSignalアプリとプラットフォームを設定
プッシュ通知の必須セットアップ OneSignalでプッシュ通知の送信を開始するには、まずサポートするすべてのプラットフォーム(Apple(APNs)、Google(FCM)、Huawei(HMS)、Amazon(ADM))でOneSignalアプリを設定する必要があります。組織がすでにOneSignalアカウントを持っている場合は、管理者ロールへの招待をリクエストしてアプリを設定します。それ以外の場合は、無料アカウントにサインアップして開始してください。
OneSignalアプリを設定するためのステップバイステップの手順
OneSignalアプリを設定するためのステップバイステップの手順
単一のOneSignalアプリで複数のプラットフォーム(iOS、Android、Huawei、Amazon、Web)を管理できます。
アプリを作成または選択
- 既存のアプリにプラットフォームを追加するには、OneSignalダッシュボードでSettings > Push & In-Appに移動します。
- 新規に開始するには、New App/Websiteをクリックしてプロンプトに従います。

プラットフォームをセットアップして有効化
- アプリと組織の明確で認識可能な名前を選択します。
- 設定するプラットフォーム(iOS、Androidなど)を選択します。
- Next: Configure Your Platformをクリックします。

プラットフォーム認証情報を設定
プラットフォームに基づいてプロンプトに従います:
- Android:Firebase認証情報をセットアップ
- iOS:p8トークン(推奨)またはp12証明書
- Amazon:APIキーを生成
- Huawei:OneSignalを承認
セットアップ
1. OneSignal Unity SDKを追加
2つのインストール方法が利用可能です:- Unity Asset Store
- Unity Package Manager
- Add to My Assets経由でSDKをアカウントに追加します。
- Open in UnityをクリックしてUnity EditorとPackage Managerを起動します。
- SDKをダウンロードしてインポートします。

- すべてのファイルをインポートするプロンプトを受け入れます。
- Window > OneSignal SDK Setupに移動し、特にImport OneSignal packagesのチェックリストに従います。
- インポート後、Unityはレジストリを更新します。セットアップウィンドウに表示される残りのセットアップ手順を完了します。

2. プラットフォームのセットアップ
アプリがサポートするすべてのプラットフォームを追加します。iOSセットアップ
SDKは必要なXcode設定を自動的に構成します。プロビジョニングアプローチを選択してください:- 自動署名(推奨)
- 手動プロビジョニング
- File > Build Settings > Player Settingsに移動します。
- Other Settingsの下で、Automatically Signをチェックします。

Androidセットアップ
- Edit > Project Settings > Player > Androidに移動します。
- Publishing Settingsの下で、以下を有効にします:
- Custom Main Gradle Template
- Custom Gradle Properties Template
- Assets > External Dependency Manager > Android Resolver > Force Resolveを実行します。
- Target API Levelは33+である必要があります(v5.0.6+)。
- Minifyが有効になっている場合は、OneSignal SDK SetupからCopy Android plugin to Assetsを実行して
OneSignalConfig.androidlibを使用します。 Assets/Plugins/Android/OneSignalConfig.androidlib/src/main/res内のデフォルトアイコンを独自のものに置き換えます(小文字のファイル名のみ、アンダースコア許可)。詳細については、通知アイコンのカスタマイズを参照してください。
Amazonセットアップ
Amazon App Store経由で利用可能なAmazonアプリにのみ必要です。
Amazon FireOS (ADM) セットアップ
Amazon FireOS (ADM) セットアップ
Plugins/Android/AndroidManifest.xmlを編集または作成します。- 名前空間を追加します:
- パーミッションを追加します:
<application>タグに以下を追加します:
-
すべての
COM.YOUR.PACKAGE_NAMEインスタンスを実際のパッケージ名に置き換えます。 -
api_key.txtをAssets/Plugins/Android/OneSignalConfig.androidlib/src/main/assetsの下に配置します
- このファイルの作成については、Amazon APIキーの生成ガイドを参照してください。
Huaweiセットアップ
Huawei App Gallery経由で利用可能なHuaweiアプリにのみ必要です。詳細については、Huawei Unity SDKセットアップを参照してください。
3. SDKの初期化
アプリケーションのライフサイクルの早い段階で、MonoBehaviourのStart()メソッド内にこのコードを追加します。
YOUR_APP_IDをOneSignalダッシュボード**Settings > Keys & IDs**にあるOneSignal App IDに置き換えます。
OneSignalアプリへのアクセス権がない場合は、チームメンバーに招待してもらってください。
C#
OneSignal SDK統合のテスト
このガイドでは、プッシュ通知、サブスクリプション登録、アプリ内メッセージをテストして、OneSignal SDK統合が正しく機能していることを確認する方法を説明します。モバイルサブスクリプションを確認
OneSignalダッシュボードを確認
プロンプトを受け入れる前に、OneSignalダッシュボードを確認してください:
- Audience > Subscriptionsに移動します。
- ステータスが「Never Subscribed」の新しいエントリが表示されるはずです。

OneSignalダッシュボードのSubscriptionsページを更新します。
サブスクリプションのステータスがSubscribedと表示されるはずです。

モバイルサブスクリプションの作成に成功しました。
モバイルサブスクリプションは、ユーザーがデバイスで初めてアプリを開いたとき、またはユーザーが同じデバイスでアプリをアンインストールして再インストールしたときに作成されます。
テストサブスクリプションをセットアップ
テストサブスクリプションは、メッセージを送信する前にプッシュ通知をテストするのに役立ちます。Test Subscriptionsに追加します。
ダッシュボードで、サブスクリプションの横にある**Options(3つのドット)**ボタンをクリックし、Add to Test Subscriptionsを選択します。

API経由でテストプッシュを送信
App API KeyとApp IDを取得します。
OneSignalダッシュボードで、**Settings > Keys & IDs**に移動します。
提供されたコードを更新します。
以下のコードの
YOUR_APP_API_KEYとYOUR_APP_IDを実際のキーに置き換えます。このコードは、先ほど作成したTest Usersセグメントを使用します。画像とConfirmed Deliveryを確認します。
すべてのセットアップ手順が正常に完了した場合、テストサブスクリプションは画像を含む通知を受信するはずです:

画像は折りたたまれた通知ビューでは小さく表示されます。通知を展開すると、完全な画像が表示されます。
アプリ内メッセージを送信
アプリ内メッセージを使用すると、ユーザーがアプリを使用している間にユーザーとコミュニケーションできます。デバイスでアプリを閉じるか、バックグラウンドにします。
これは、ユーザーが新しいセッションを開始する_前_にアプリ内オーディエンスの基準を満たす必要があるためです。OneSignalでは、ユーザーがアプリをバックグラウンドまたは閉じた状態から少なくとも30秒後に開くと、新しいセッションが開始されます。詳細については、アプリ内メッセージの表示方法に関するガイドを参照してください。
アプリ内メッセージを作成します。
- OneSignalダッシュボードで、Messages > In-App > New In-Appに移動します。
- Welcomeメッセージを見つけて選択します。
- Audienceを、以前使用したTest Usersセグメントに設定します。

頻度をスケジュールします。
**Schedule > How often do you want to show this message?**で、Every time trigger conditions are satisfiedを選択します。

OneSignal SDKのセットアップが成功し、次のような重要な概念を学びました:
- サブスクリプションの収集、テストサブスクリプションの設定、セグメントの作成。
- セグメントとCreate message APIを使用した画像付きプッシュとConfirmed Deliveryの送信。
- アプリ内メッセージの送信。
ユーザー識別
以前、モバイルサブスクリプションの作成方法を説明しました。次に、OneSignal SDKを使用して、すべてのサブスクリプション(プッシュ、メール、SMSを含む)にわたるユーザーの識別に拡張します。プラットフォーム間でユーザーを統合し、エンゲージメントするために、External ID、タグ、マルチチャネルサブスクリプション、プライバシー、イベントトラッキングについて説明します。External IDを割り当て
External IDを使用して、バックエンドのユーザー識別子を使用して、デバイス、メールアドレス、電話番号間でユーザーを一貫して識別します。これにより、チャネルとサードパーティシステム間でメッセージングが統一されたままになります(特に統合に重要)。 アプリによって識別されるたびに、SDKのloginメソッドを使用してExternal IDを設定します。
OneSignalは、サブスクリプション(Subscription ID)とユーザー(OneSignal ID)に対して一意の読み取り専用IDを生成します。ユーザーが異なるデバイスでアプリをダウンロードしたり、ウェブサイトにサブスクライブしたり、アプリ外でメールアドレスや電話番号を提供したりすると、新しいサブスクリプションが作成されます。すべてのサブスクリプションにわたってユーザーを識別するために、SDK経由でExternal IDを設定することを強くお勧めします。作成方法に関係なく。
データタグを追加
タグは、ユーザープロパティ(username、role、設定など)とイベント(purchase_date、game_level、ユーザーインタラクションなど)を保存するために使用できる文字列データのキーと値のペアです。タグは、高度なメッセージパーソナライゼーションとセグメンテーションを強化し、より高度なユースケースを可能にします。
アプリでイベントが発生したときに、SDKのaddTagおよびaddTagsメソッドを使用してタグを設定します。
この例では、ユーザーはレベル6に到達し、current_levelというタグで識別され、値は6に設定されます。




メールおよび/またはSMSサブスクリプションを追加
以前、SDKがプッシュとアプリ内メッセージを送信するためにモバイルサブスクリプションを作成する方法を見ました。対応するサブスクリプションを作成することで、メールとSMSチャネルを通じてユーザーにリーチすることもできます。addEmailメソッドを使用してメールサブスクリプションを作成します。addSmsメソッドを使用して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
Mobile SDKのセットアップとリファレンス
モバイルプッシュセットアップガイドを確認して、すべての主要機能が有効になっていることを確認してください。 利用可能なメソッドと設定オプションの詳細については、Mobile SDKリファレンスにアクセスしてください。おめでとうございます!Mobile SDKセットアップガイドが正常に完了しました。
サポートが必要ですか?サポートチームとチャットするか、
support@onesignal.comにメールしてください以下を含めてください:- 発生している問題の詳細と再現手順(利用可能な場合)
- OneSignal App ID
- 該当する場合は、External IDまたはSubscription ID
- 該当する場合は、OneSignalダッシュボードでテストしたメッセージのURL
- 関連するログまたはエラーメッセージ









