皆さん、こんにちは。私の名前は NGUYEN BAO KHANHです。現在、OneTech Asia Company で XR Developer 発者を務めています。次のトピックでは、通知を紹介し、サンプル プロジェクトに適用します。
導入:
これは、Android および iOS プラットフォームでプッシュ通知を 1 回または繰り返し実行するスケジュールをサポートする Unity パッケージです。

リクエスト:
- Unity 2019.4 以降と互換性があります。
- Android 4.4 (API 19) および iOS 10.0 と互換性があります。
サポートされている機能
ランタイム通知 API は、Android と iOS の両方で 2 つの部分に分かれています。これらの API は、以下に示すように通知のスケジュールと管理に使用できます。
1 回限りまたは定期的なローカル通知をスケジュールします。
表示されている通知と今後の(スケジュールされた)通知をキャンセルします。
Android | iOS |
Android 8.0 (oreo) 以降で通知チャネル (カテゴリ) を作成および変更します。 | Apple プッシュ通知サービス (APN) を使用して、リモートで通知を受信します。 |
デバイスの再起動時にメッセージがそのまま維持されます。 | アプリの実行中にデバイスが他のアプリから通知を受信する場合は、通知コンテンツをリモートで変更します。 |
カスタム通知アイコンを設定します。 | 通知を文字列にグループ化します (iOS 12 でのみサポートされます)。 |
Unityをインストールして適用する
Import package Mobile Notifications
キーワード “Mobile Notifications” モバイル通知を検索しま Package Manager。
Install をクリックして、このパッケージを Unity にインストールします。

インストール後、Project セクションをもう一度確認してみましょう:

Unity へのアプリケーション
AndroidとiOSでは構成が異なるため、以下のように環境を構築します:

次のスクリプトの作成に進みます:NotificationController.cs、AndroidNotificationController.cs、iOSNotificationController.cs を対応する GameObject にアタッチします。



ここで、各プラットフォームを順番に扱います:
AndroidNotificationController.cs:
最初のステップとして、通知を表示する許可をリクエストする必要があります。
Android 13.0以降、通知を表示するにはユーザーに許可を求めることが必須になりました。
- アプリのターゲット SDK が 33 未満の場合、アプリの起動時にオペレーティング システムが自動的に許可を要求します。
- アプリのターゲット SDK が 33 以上の場合、アプリは許可をリクエストする必要があります。そうでない場合、通知は表示されません。
Unity 権限構造を使用してユーザー権限をリクエストできます。

Android 8.0 以降では、すべての通知を通知チャネルに割り当てる必要があります。このパッケージは、通知チャネルを管理するための API セットを提供します。通知チャネルを作成する方法は次のとおりです。

次に、上で作成したチャネルに簡単な通知を送信します:

Full Script

別のプラットフォームに切り替えるときのエラーを回避するには、プラットフォームを定義する必要があります。
iOSNotificationController.cs:
Android 側と同様に、通知を送信するためにシステムに許可をリクエストする必要もあります。

次に、スケジュール機能を使って通知を送信します(Android側より一段簡単、チャンネル登録も不要)

Full Script

NotificationController.cs:

ここでは、アプリを開いたときに通知を送信する時間を 3 秒に設定していますが、カスタマイズすることもできます。2 つの場所を「[serializefield]」と宣言しているため、それらをゲームオブジェクトに割り当てることを忘れないでください。

次に、モバイル通知設定セクションに移動します

Android と iOS では、デフォルト設定のままにします。ただし、Android では通知アイコンを追加できるため、次のコードを追加する必要があります:

アイコンについては、以下で説明する要件を注意深く読む必要があります。

“Identifier” セクションでは、上記の例のように「」マーク内に正しい内容を入力する必要があります。名前は任意に変更できますが、忘れずに正しく入力してください。その後、画像を2Dテクスチャボックスに割り当てます。
iOS 側では、アプリのデフォルトのアイコンが使用されます。

次に、アプリをビルドして結果を見てみましょう:
Android | iOS |
|
![]() |
結論
上記は、Mobile Notification とそれを Unity に適用する方法についての私の共有です。
上記の共有は理解するための基本的なものにすぎず、さらにカスタマイズおよびアップグレードしてさらに理解することができます。
この記事がお役に立てば幸いです。

Onetech Asia では、オンデマンドのスマートフォン アプリケーション開発を行っています。システムインテグレーションアプリケーション、業務支援アプリケーション、広告会社、デザイン会社など80社以上のお客様のプロジェクトを導入してきました。出版、流通、ヘルスケア、エンターテインメント、ゲーム、運輸、物流、製造、建設、メディア業界などに幅広いアプリケーションを提供しています。
スマートフォン(Android/IOS)向けのアプリ開発が必要な場合は、無料でアドバイスやサポートを受けられますので、お気軽にお問い合わせください。