XSendAppNotification および関連アクションの関数 (プレビュー)
適用対象: キャンバス アプリ モデル駆動型アプリ
[この記事はプレリリース ドキュメントであり、変更されることがあります。]
オプションのアクションを含むアプリ内通知を受信者に送信します。
重要
- これはプレビュー機能です。
- プレビュー機能は、運用環境での使用を想定しておらず、機能が制限されている場合があり、リリースの前に大幅に変更される可能性があります。 これらの機能を公式リリースの前に使用できるようにすることで、顧客が一足先にアクセスし、そこからフィードバックを得ることができます。
- これらをプレビュー機能として識別しやすくするために、各関数の先頭には X が付けられています。リリース時には、これらの関数を使用する式や、関数の変更に対して更新された引数から、X を削除する必要があります。
- これらの関数は、Dataverse ローコード プラグイン でのみ使用できます。
Description
XSendAppNotification 関数は、アプリ内の通知を受信者に送信するために使用されます。 これらの通知は、トーストとして、またはアプリ ユーザーの通知センター内に表示されます。 詳細については、モデル駆動型アプリ内でアプリ内通知を送信する を参照してください。
さらに、アプリ内通知には、通知カードにゼロから多くのアクションを含めることができます。 アプリ通知カードにアクションを追加するには、次の関数を XSendAppNotification 関数のパラメーターとして使用します。 各アクション タイプの詳細については、通知アクション を参照してください。
- XCreateUrlAction: 通知 カード にURLアクションを追加します。
- XCreateSidePaneActionForDashboard: サイド ペイン内で
dashboard
タイプのページに移動するサイド ペイン アクションを追加します。 - XCreateSidePaneActionForEntity: サイド ペイン内で
entityrecord
タイプのページに移動するサイド ペイン アクションを追加します。 - XCreateSidePaneActionForEntityList: サイド ペイン内で
entitylist
タイプのページに移動するサイド ペイン アクションを追加します。 - XCreateTeamsChatAction: 通知 カード にTeamsチャット アクションを追加します。
構文
XSendAppNotification
XSendAppNotification (タイトル、 受信者、 本文、 アクション、 アイコン タイプ、 トースト タイプ、 有効期限、 優先度)
パラメーター | タイプ | Required | Description |
---|---|---|---|
肩書き | String | Yes | アプリ通知のタイトル。 |
Recipient | Entity | Yes | 通知の受信者である systemuser のエンティティ。 |
Body | String | いいえ | 通知本文。 |
Actions | Function | いいえ | 通知にアクションを追加するためのアクション関数の配列。 |
アイコンの種類 | Int | いいえ | アイコンの種類 (情報、成功、失敗、警告、参照投稿、カスタム) の候補リスト値。 |
トーストの種類 | Int | いいえ | トーストの種類 (時間指定または非表示) の候補リスト値。 |
Expiry | Int | いいえ | 通知がまだ却下されていない場合に、通知を削除する必要が生じるまでの秒数。 |
優先順位 | Int | いいえ | 通知の優先度 (標準または高) の候補リスト値。 |
XCreateUrlAction
XCreateUrlAction (タイトル、 URL、 ナビゲーションターゲット)
パラメーター | タイプ | Required | Description |
---|---|---|---|
肩書き | String | Yes | アクションに表示されるタイトル。 |
[URL] | String | Yes | アクションが選択されたときに開かれる URL。 |
Navigation Target | String | いいえ | ナビゲーション リンクが開く場所を定義します。 オプションは次のとおりです:
|
XCreateSidePaneActionForDashbaord
XCreateSidePaneActionForDashboard (タイトル、 ペインID、 ペイン タイトル、 ダッシュボードID)
パラメーター | タイプ | Required | Description |
---|---|---|---|
肩書き | String | Yes | アクションに表示されるタイトル。 |
Pane ID | String | Yes | 新しいサイド ペインの ID。 |
Pane Title | String | Yes | サイドペインに表示するタイトル。 |
ダッシュボード ID | GUID | Yes | サイド ペインで開くダッシュボードの ID。 |
XCreateSidePaneActionForEntity
XCreateSidePaneActionForEntity (タイトル、 ペインID、 ペイン タイトル、 エンティティ名、 エンティティID)
パラメーター | タイプ | Required | Description |
---|---|---|---|
肩書き | String | Yes | アクションに表示されるタイトル。 |
Pane ID | String | Yes | 新しいサイド ペインの ID。 |
Pane Title | String | Yes | サイドペインに表示するタイトル。 |
エンティティ名 | String | Yes | エンティティの論理名です。 |
エンティティ ID | String | Yes | サイド ペインで開くエンティティ レコードの ID。 |
XCreateSidePaneActionForEntityList
XCreateSidePaneActionForEntityList (タイトル、 ペインID、 ペイン タイトル、 エンティティ名)
パラメーター | タイプ | Required | Description |
---|---|---|---|
肩書き | String | Yes | アクションに表示されるタイトル。 |
Pane ID | String | Yes | 新しいサイド ペインの ID。 |
Pane Title | String | Yes | サイドペインに表示するタイトル。 |
エンティティ名 | String | Yes | サイド ペインでリストとして開くエンティティの論理名。 |
XCreateTeamsChatAction
XCreateTeamsChatAction (タイトル、 チャットID、 メンバーID、 レコードID、 エンティティ名、 最初のメッセージ)
パラメーター | タイプ | Required | Description |
---|---|---|---|
肩書き | String | Yes | アクションに表示されるタイトル。 |
Chat ID | String | いいえ | 既存のチャットを開く場合、開くチャット セッションの ID。 |
メンバー ID | GUID | いいえ | 新しいチャットを作成する場合、チャットに含める参加者の Microsoft Entra オブジェクト ID 値の配列。 |
録音 ID | GUID | いいえ | Dynamics 365 レコードにリンクする場合、チャットをリンクする必要があるレコードの ID。 |
エンティティ名 | String | いいえ | Dynamics 365 レコードにリンクする場合、チャットをリンクする必要があるレコードのエンティティの論理名。 |
Initial Message | String | いいえ | 新しいチャットの紹介メッセージ。 |
使用例
タイトル、受信者、本文を含むアプリ内通知
以下は、タイトルと本文を含む簡単なアプリ内通知を受信者に送信します。 アクションは含まれず、他のすべてのパラメーターにはデフォルト値が使用されます。
XSendAppNotification(
"Welcome",
LookUp(Users, 'Primary Email'="<User's email address>"),
"Welcome to the world of in-app notifications!"
)
2 つのアクションを含むアプリ内通知
次の例の数式は、新しいタスク レコードが作成されるときに自動化プラグインで使用できます。 この式は、タスク レコードの所有者にアプリ内通知を送信するように設計されています。 通知カードには、所有者が実行できる 2 つのアクションが含まれています:
- サイド ペイン アクションでは、サイド ペインに新しいタスク レコードを開きます。
- Teams チャット アクションでは、新しいタスクの 関連 テーブル レコードとして割り当てられた、アカウント レコードの所有者との Teams チャットを開始します。 これは、タスク フィールドでアカウント レコードが選択されていることを前提としていることに注意してください。
XSendAppNotification(
"New task assigned",
AsType(ThisRecord.Owner, Users),
"A new task has been assigned to you to follow up with your customer",
[XCreateSidePaneActionForEntity(
"View task",
1123,
"Your task",
"task",
ThisRecord.Task
),
XCreateTeamsChatAction(
"Chat with account manager",
[AsType(AsType(ThisRecord.Regarding, Accounts).Owner, Users).'Microsoft Entra Object ID'],
AsType(ThisRecord.Regarding, Accounts).Account,
"account",
ThisRecord.Description
)
]
)