Power Appsのモデル駆動型アプリには「アプリ内通知」という、ユーザーに対してポップアップ形式で通知を行う機能があります。
本記事では、アプリ内通知の使い方について紹介します。
アプリ内通知について
概要
アプリ内通知は環境構築時点で存在する「通知テーブル(標準テーブル)」のレコードが作成されたタイミングで、下記キャプチャのようにモデル駆動型アプリの画面右上にポップアップ形式で通知を表示する機能です。
本機能の通知は通知テーブルの所有者に設定されているユーザーに対して行われます。ポップアップはデフォルトで6秒間表示され、通知アイコンを押下し通知センターを表示することで、消えた後の過去通知を確認することができます。

通知センター内の通知は、「×ボタンを押下」または「通知の有効期限(デフォルト14日間)」を迎えると通知レコード自体が物理削除され、通知の内容は確認できなくなります。

メリット
モデル駆動型アプリでユーザーに対して通知を行う場合、メール送信やダッシュボードを直接確認するなどが主な手段です。
アプリ内通知では標準の通知テーブルにレコードを作成するだけで通知を行うことができるため、容易に通知機能を実装することができます。
通知テーブルの設定値
通知テーブルの各フィールドの設定内容に応じて、通知内容や通知形式を指定することができます。

各フィールドでは下記の内容を設定することができます。
| フィールド | 設定値 |
| タイトル | 通知のタイトルを指定します。 |
| 所有者 | 通知先のユーザーを指定します。 |
| 本文 | 通知の本文を指定します。 |
| IconType | 通知のアイコンを"情報"、"成功"、"失敗"、"警告"、"参照投稿"、"カスタム"から指定します。 |
| トーストの種類 | "タイム"、"非表示"から選択します。 タイム:一定の秒数が経過するまで通知をポップアップで表示します。 非表示:ポップアップでは表示せず、画面右上の通知アイコンを押下 して通知を確認します。 |
| 優先度 | "普通"、"高"から選択します。 優先度が"高"の通知はポップアップの先頭に表示されます。 |
| 有効期限(秒) | 通知センター内に通知を表示する期間を秒数で指定します。 指定しない場合は1,209,600(14日間)が自動で設定され、設定された秒数が経過するとその通知レコードは自動で物理削除されます |
| データ | JSON文字列を指定することができます。 |
個人設定
通知センターの設定から、ユーザーごとにトースト*1の有効/無効の切り替えや、表示期間*2を設定することができます。

利用シーン
具体的な利用シーンについて紹介します。
- バッチ処理や非同期処理の完了タイミングがユーザーに分かりにくい
- 処理の最後に通知レコードを作成することで、通知したいユーザーに通知ができる
- 自分に割り当てられたレコードに気づきにくい
- レコードが割り当てられたタイミングでプラグインやPower Automateで通知レコードを作成することで、レコードが割り当てられたことをユーザーに通知ができる
- 特定のユーザーに定期的にお知らせ通知を行いたい
- 週次や月次などのタイミングで通知レコードを作成し、ユーザーに定期的にお知らせ通知を行う
設定方法
モデル駆動型アプリの設定
アプリ内通知を使用するには、モデル駆動型アプリの設定からアプリ内通知を有効にする必要があります。
1. アプリ内通知を有効にしたいモデル駆動型アプリの編集画面を開き、設定ボタンを押下します。

2. メニューバーから機能を選択し、「In-app notifications」をはいに変更して保存しますす。

3. 画面右上の「保存して公開」ボタン押下後、アプリ内通知が有効になります。

権限設定
ユーザーがアプリ内通知を受信するには、セキュリティロールで下記の権限を付与する必要があります。
| 権限区分 | 名称 | 権限 |
| カスタムテーブル | 通知 | 読み取り |
| モデル駆動型アプリ ユーザー設定 | 作成、読み取り、書き込み、追加 | |
| 設定定義 | 読み取り、追加先 |
※通知テーブルに対しての削除権限は付与していなくてもアプリ内通知を受信できますが、通知センターで×ボタンでの通知削除ができず、通知レコードの有効期限を迎えるまで残り続けます。
注意点
- 通知レコードの所有者にチームを設定した場合でも、チームに所属しているユーザー全員に対しての一括通知はサポートされていません
- 複数ユーザーに通知を行いたい場合はユーザーごとに通知レコードを作成する必要があります
- 対象のモデル駆動型アプリを開いている場合のみポップアップ形式で通知が行われます
- アプリを閉じている間は通知は行われず、再度アプリを開いたタイミングで通知されます
- 通知レコードの作成がアプリ内通知のトリガーになるため、後から所有者を変更した場合は通知は行われません
まとめ
本機能を使用することで標準の通知テーブルにレコードを作成したタイミングで、レコードの所有者に対してポップアップ通知を行うことができます。また、通知テーブルの各フィールドの設定値や個人設定により、通知内容や通知形式を指定することができます。
処理の完了通知や履歴として残す必要のないような通知であれば、本機能はかなり有効活用できると思います。
本記事ではモデル駆動型アプリのアプリ内通知について紹介しました。
参考:モデル駆動型アプリ内でアプリ内通知を送信する - Power Apps | Microsoft Learn