Android と iOS のローカル通知

Unreal Engine 4 向け製品ドキュメント (リファレンスおよびガイドを含む)

Windows
MacOS
Linux
このページ中

ローカル通知とは、Unreal Engine 4 (UE4) アプリケーションの外部で表示されるメッセージのことで、行われた変更または更新についてユーザーに警告を発します。 この操作ガイドでは、Android と iOS の両方のデバイスで機能するローカル通知を設定する方法について説明します。

現在の実装では、Android と iOS の両方に対するローカル通知の設定と実行は非常に単純化されています。このシステムは、ローカル通知でのみ機能し、リモート サーバー経由で送信される通知については機能しません。

手順

  1. まず、次のオプションを設定した新しい Blueprint ベースのプロジェクトを作成します。

    • [Blank (空白)]

    • [Mobile (モバイル) / Tablet (タブレット)]

    • [Scalable 3D or 2D (スケーラブルな 3D・または 2D)]

    • [No Starter Content (スターター コンテンツ無し)]

  2. プロジェクトが開いたら、 メイン ツールバー[Blueprint (ブループリント)] ボタンをクリックして [Level Blueprint (レベル ブループリント)] を開き、表示されたリストから [Open Level Blueprint (レベル ブループリントを開く)] オプションを選択します。

    クリックしてフルサイズで表示

    この操作ガイドでは、わかりやすくするために レベル ブループリントを使用して必要なローカル通知ブループリント ノードを設定して呼び出しています。レベル ブループリントで ローカル通知を設定しても問題ありませんが、自分のプロジェクトに最も適した場所にこのロジックを追加するようにしてください。

  3. ローカル通知が表示された際にユーザーに次のようなメッセージを出せるように、[Variables (変数)] セクションで次の 3 つの text variables (テキスト変数) を作成します。

    クリックしてフルサイズで表示

    変数名

    Title (タイトル)

    タイトル:これがタイトルです!

    Body (ボディ)

    ボディ:これがボディです!

    Action (アクション)

    アクション:アクションをとっています!

  4. ローカル通知を呼び出してユーザーにその通知を表示するには、[Event Graph (イベント グラフ)]Event Begin Play (プレイ開始イベント) および Register for Remote Notifications (リモート通知の登録) ノードを追加します。

    クリックしてフルサイズで表示

    UE4 プロジェクトにこれを追加する際は、プロジェクトが最初にロードされたときに Register for Remote Notifications ノードが正しく呼び出されていることを確認してください。こうすることで、通知を表示しようとするときに Register for Remote Notifications ノードの呼び出しをもう一度行わなくて済みます。

  5. 通知が発行されたときに、それをユーザーに対して確実に表示できるようにするには、Event Begin Play出力Register for Remote Notifications の入力に接続する必要があります。これにより、ユーザーはオペレーティング システム (OS) に対して通知を表示する権限を確実に与えることができます。

    クリックしてフルサイズで表示

  6. OS に通知を表示する権限を与えたので、次はユーザーが通知をクリックしたときにどうするかを設定する必要があります。この種のやり取りを処理するには、Get Launch Notification (起動通知の取得)Print String (文字列の出力)Branch (分岐) ノードを [Event Graph (イベント グラフ)] に追加します。

    クリックしてフルサイズで表示

  7. Get Launch Notification ノードの出力を Branch ノードの入力に接続した後、Branch ノードの [True] の出力を Print String ノードの入力に接続します。

    クリックしてフルサイズで表示

  8. Notification Launched App (アプリ起動通知) を Branch ノードの [Condition (条件)] 入力に接続し、Activation EventPrint String ノードの [In String] に接続します。

    クリックしてフルサイズで表示

    これをプロジェクトに追加する場合は、Print String ノードを省略できます。このノードは、正しい Activation イベントが使用されているかどうかの確認を行うために追加されます。

  9. 通知が何を表示するのか、および通知が表示されるまでの待機時間を設定します。これを設定するには、最初に以下のブループリント ノードを [Event Graph (イベント グラフ)] に追加する必要があります。

    • Schedule Local Notifications from Now (今からローカル通知をスケジュールする)

    • Delay (遅延)

    • Title, Body, and Action Text Variables (タイトル、ボディ、アクション テキスト変数) 20OSLocalNotification_DelayVarsSchedule.png

      クリックしてフルサイズで表示

  10. 必要なノードを [Event Graph (イベント グラフ)] に追加し、Delay ノードの [Completed] 出力を Schedule Local Notifications from Now の入力に接続した後、各 Text (テキスト) 変数を Schedule Local Notifications from Now ノードのそれぞれの入力に接続します。完成すると、イベント グラフは下の画像と一致するはずです。

    クリックしてフルサイズで表示

  11. Delay ノードの [Duration (期間)]5 秒に設定します。これは、ローカル通知が呼び出されて表示される前に、アプリを閉じるまでの時間や、バックグラウンドでアプリを配置するための時間が十分にあるかどうかを確認するのに便利です。

    Delay ノードは、通知が消える前に、アプリを閉じるまでの時間や、アプリをバックグラウンドに送るまでの時間が十分にあるかどうかを確認するためだけに追加されます。[Duration] をプロジェクトに追加する際は、Delay ノードを使用する必要はありません。

  12. Schedule Local Notifications from Now ノードの [Seconds from Now (今から何秒)] 入力を 30 秒に設定します。これにより、このコードが実行されてから 30 秒後に通知が表示されます。

    クリックしてフルサイズで表示

  13. Schedule Local Notifications from Now で [Activation Event] の値を 42 に設定します。

    クリックしてフルサイズで表示

    [Activation Event] 入力を使用すると、特定の通知を呼び出すために使用できる文字列の値を関連付けることができます。これにより、特定の条件が満たされたときに表示可能な様々な通知を設定して使用できます。

  14. ローカル通知が機能するために必要なすべてのノードが [Event Graph (イベント グラフ)] に追加されました。最後に、Branch ノードの [False] 出力を Delay ノードの入力へ接続する必要があります。完成すると、イベント グラフは次の図のようになります。

    クリックしてフルサイズで表示

  15. [Compile (コンパイル)] ボタンを押してレベル ブループリントをコンパイルし、[Save (保存)] ボタンを押してレベルに保存します。

  16. 最後に、メイン ツールバー[Launch (起動)] アイコンの横にある [Advanced Options (詳細オプション)] ドロップダウンをクリックして、これをテストしたいデバイスを選択します。 LocalNotifications_LaunchOneDevice.png

  1. まず、次のオプションを設定した新しい C++ ベースのプロジェクトを作成します。

    • [Blank (空白)]

    • [Mobile (モバイル) / Tablet (タブレット)]

    • [Scalable 3D or 2D (スケーラブルな 3D・または 2D)]

    • [No Starter Content (スターター コンテンツ無し)]

  2. プロジェクトが開いたら、[Edit (編集)] に移動して [Project Settings (プロジェクト設定)] を選択します。

  3. [Project Settings (プロジェクト設定)] メニューの [All Settings (すべての設定)] をクリックし、検索ボックスに「 Enable Remote Notifications Support (リモート通知のサポートを有効にする) 」と入力します。

    クリックしてフルサイズで表示

    [Enable Remote Notifications Support] は、C++ ベースのプロジェクトを使用している場合にのみ使用できます。ブループリント ベースのプロジェクトを使用している場合、このオプションはグレー表示されます。

  4. プロジェクトが開いたら、 メイン ツールバー[Blueprint (ブループリント)] ボタンをクリックして [Level Blueprint (レベル ブループリント)] を開き、表示されたリストから [Open Level Blueprint (レベル ブループリントを開く)] オプションを選択します。

    クリックしてフルサイズで表示

    この操作ガイドでは、わかりやすくするために レベル ブループリントを使用して必要なローカル通知ブループリント ノードを設定して呼び出しています。レベル ブループリントで ローカル通知を設定しても問題ありませんが、自分のプロジェクトに最も適した場所にこのロジックを追加するようにしてください。

  5. ローカル通知が表示された際にユーザーに次のようなメッセージを出せるように、[Variables (変数)] セクションで次の 3 つの text variables (テキスト変数) を作成します。

    クリックしてフルサイズで表示

    変数名

    Title (タイトル)

    タイトル:これがタイトルです!

    Body (ボディ)

    ボディ:これがボディです!

    Action (アクション)

    アクション:アクションをとっています!

  6. ローカル通知を呼び出してユーザーにその通知を表示するには、[Event Graph (イベント グラフ)]Event Begin Play (プレイ開始イベント) および Register for Remote Notifications (リモート通知の登録) ノードを追加します。

    クリックしてフルサイズで表示

    UE4 プロジェクトにこれを追加する際は、プロジェクトが最初にロードされたときに Register for Remote Notifications ノードが正しく呼び出されていることを確認してください。こうすることで、通知を表示しようとするときに Register for Remote Notifications ノードの呼び出しをもう一度行わなくて済みます。

  7. 通知が発行されたときに、それをユーザーに対して確実に表示できるようにするには、Event Begin Play出力Register for Remote Notifications の入力に接続する必要があります。これにより、ユーザーが通知を表示する権限をオペレーティング システム (OS) に対して確実に与えることができます。

    クリックしてフルサイズで表示

  8. OS に通知を表示する権限を与えたので、次はユーザーが通知をクリックしたときにどうするかを設定する必要があります。この種のやり取りを処理するには、 Get Launch Notification (起動通知の取得)Print String (文字列の出力)Branch (分岐) ノードを [Event Graph (イベント グラフ)] に追加します。

    クリックしてフルサイズで表示

  9. Get Launch Notification ノードの出力を Branch ノードの入力に接続した後、Branch ノードの [True] の出力を Print String ノードの入力に接続します。

    クリックしてフルサイズで表示

  10. Notification Launched App (アプリ起動通知) を Branch ノードの [Condition (条件)] 入力に接続し、Activation EventPrint String ノードの [In String] に接続します。

    クリックしてフルサイズで表示

    これをプロジェクトに追加する場合は、Print String ノードを省略できます。このノードは、正しい Activation イベントが使用されているかどうかの確認を行うために追加されます。

  11. 通知が何を表示するのか、および通知が表示されるまでの待機時間を設定します。これを設定するには、最初に以下のブループリント ノードを [Event Graph (イベント グラフ)] に追加する必要があります。

    • Schedule Local Notifications from Now (今からローカル通知をスケジュールする)

    • Delay (遅延)

    • Title, Body, and Action Text Variables (タイトル、ボディ、アクション テキスト変数) 20OSLocalNotification_DelayVarsSchedule.png

      クリックしてフルサイズで表示

  12. 必要なノードを [Event Graph (イベント グラフ)] に追加し、Delay ノードの [Completed] 出力を Schedule Local Notifications from Now の入力に接続した後、各 Text (テキスト) 変数を Schedule Local Notifications from Now ノードのそれぞれの入力に接続します。完成すると、イベント グラフは下の画像と一致するはずです。

    クリックしてフルサイズで表示

  13. Delay ノードの [Duration (期間)]5 秒に設定します。これは、ローカル通知が呼び出されて表示される前に、アプリを閉じるまでの時間や、バックグラウンドでアプリを配置するための時間が十分にあるかどうかを確認するのに便利です。

    Delay ノードは、通知が消える前に、アプリを閉じるまでの時間や、アプリをバックグラウンドに送るまでの時間が十分にあるかどうかを確認するためだけに追加されます。[Duration] をプロジェクトに追加する際は、Delay ノードを使用する必要はありません。

  14. Schedule Local Notifications from Now ノードの [Seconds from Now (今から何秒)] 入力を 30 秒に設定します。これにより、このコードが実行されてから 30 秒後に通知が表示されます。

    クリックしてフルサイズで表示

  15. Schedule Local Notifications from Now で [Activation Event] の値を 42 に設定します。

    クリックしてフルサイズで表示

    [Activation Event] 入力を使用すると、特定の通知を呼び出すために使用できる文字列の値を関連付けることができます。これにより、特定の条件が満たされたときに表示可能な様々な通知を設定して使用できます。

  16. ローカル通知が機能するために必要なすべてのノードが [Event Graph (イベント グラフ)] に追加されました。最後に、Branch ノードの [False] 出力を Delay ノードの入力へ接続する必要があります。完成すると、イベント グラフは次の図のようになります。

    クリックしてフルサイズで表示

  17. [Compile (コンパイル)] ボタンを押してレベル ブループリントをコンパイルし、[Save (保存)] ボタンを押してレベルに保存します。

  18. 最後に、メイン ツールバー[Launch (起動)] アイコンの横にある [Advanced Options (詳細オプション)] ドロップダウンをクリックして、これをテストしたいデバイスを選択します。 LocalNotifications_LaunchOnIOS.png

まとめ

プロジェクトがモバイル デバイスにデプロイされると、以下のビデオのようにアプリが開かれてから 5 秒後に通知がポップアップ表示されます。

Select Skin
Light
Dark

新しい Unreal Engine 4 ドキュメントサイトへようこそ!

あなたの声を私たちに伝えるフィードバックシステムを含め、様々な新機能について開発をおこなっています。まだ広く使える状態にはなっていないので、準備ができるまでは、ドキュメントフィードバックフォーラムで、このページについて、もしくは遭遇した問題について教えていただけると助かります。

新しいシステムが稼働した際にお知らせします。

フィードバックを送信