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 いいえ ナビゲーション リンクが開く場所を定義します。 オプションは次のとおりです:
  • dialog: 中央のダイアログで開きます。
  • inline:デフォルト。 現在のページで開きます。
  • newWindow: 新しいブラウザタブで開きます。

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
		)
	]
)