XSendAppNotification および関連アクションの関数 (プレビュー)

適用先: キャンバス アプリ モデル駆動型アプリ

[この記事はプレリリース ドキュメントであり、変更されることがあります。]

オプションのアクションを含むアプリ内通知を受信者に送信します。

重要

  • これはプレビュー機能です。
  • プレビュー機能は、運用環境での使用を想定しておらず、機能が制限されている場合があり、リリースの前に大幅に変更される可能性があります。 これらの機能を公式リリースの前に使用できるようにすることで、顧客が一足先にアクセスし、そこからフィードバックを得ることができます。
  • これらをプレビュー機能として識別しやすくするために、各関数の先頭には X が付けられています。リリース時には、これらの関数を使用する式や、関数の変更に対して更新された引数から、X を削除する必要があります。
  • これらの関数は、Dataverse ローコード プラグイン でのみ使用できます。

Description

XSendAppNotification 関数は、アプリ内の通知を受信者に送信するために使用されます。 これらの通知は、トーストとして、またはアプリ ユーザーの通知センター内に表示されます。 詳細については、モデル駆動型アプリ内でアプリ内通知を送信する を参照してください。

さらに、アプリ内通知には、通知カードにゼロから多くのアクションを含めることができます。 アプリ通知カードにアクションを追加するには、次の関数を XSendAppNotification 関数のパラメーターとして使用します。 各アクション タイプの詳細については、通知アクション を参照してください。

  • XCreateUrlAction: URL アクションを通知カードに追加します。
  • XCreateSidePaneActionForDashboard: サイド ペイン内に dashboard のタイプがあるページに移動するサイド ペイン アクションを追加します。
  • XCreateSidePaneActionForEntity: サイド ペイン内に entityrecord のタイプがあるページに移動するサイド ペイン アクションを追加します。
  • XCreateSidePaneActionForEntityList: サイド ペイン内に entitylist のタイプがあるページに移動するサイド ペイン アクションを追加します。
  • XCreateTeamsChatAction: Teams チャット アクションを通知カードに追加します。

構文

XSendAppNotification

XSendAppNotification (TitleRecipientBodyActionsIcon TypeToast TypeExpiryPriority)

パラメーター タイプ Required Description
肩書き String Yes アプリ通知のタイトル。
Recipient Entity Yes 通知の受信者である systemuser のエンティティ。
Body String いいえ 通知本文。
Actions Function いいえ 通知にアクションを追加するためのアクション関数の配列。
アイコンの種類 Int いいえ アイコンの種類 (情報、成功、失敗、警告、参照投稿、カスタム) の候補リスト値。
トーストの種類 Int いいえ トーストの種類 (時間指定または非表示) の候補リスト値。
Expiry Int いいえ 通知がまだ却下されていない場合に、通知を削除する必要が生じるまでの秒数。
優先順位 Int いいえ 通知の優先度 (標準または高) の候補リスト値。

XCreateUrlAction

XCreateUrlAction (TitleURLNavigation Target)

パラメーター タイプ Required Description
肩書き String Yes アクションに表示されるタイトル。
[URL] String Yes アクションが選択されたときに開かれる URL。
Navigation Target String いいえ ナビゲーション リンクが開く場所を定義します。 オプションは次のとおりです:
  • dialog: センター ダイアログで開きます。
  • inline: 既定。 現在のページで開きます。
  • newWindow: 新規ブラウザーのタブで開きます。

XCreateSidePaneActionForDashbaord

XCreateSidePaneActionForDashboard (TitlePane IDPane TitleDashboard ID)

パラメーター タイプ Required Description
肩書き String Yes アクションに表示されるタイトル。
Pane ID String Yes 新しいサイド ペインの ID。
Pane Title String Yes サイドペインに表示するタイトル。
ダッシュボード ID GUID Yes サイド ペインで開くダッシュボードの ID。

XCreateSidePaneActionForEntity

XCreateSidePaneActionForEntity (TitlePane IDPane TitleEntity NameEntity ID)

パラメーター タイプ Required Description
肩書き String Yes アクションに表示されるタイトル。
Pane ID String Yes 新しいサイド ペインの ID。
Pane Title String Yes サイドペインに表示するタイトル。
エンティティ名 String Yes エンティティの論理名です。
エンティティ ID String Yes サイド ペインで開くエンティティ レコードの ID。

XCreateSidePaneActionForEntityList

XCreateSidePaneActionForEntityList (TitlePane IDPane TitleEntity Name)

パラメーター タイプ Required Description
肩書き String Yes アクションに表示されるタイトル。
Pane ID String Yes 新しいサイド ペインの ID。
Pane Title String Yes サイドペインに表示するタイトル。
エンティティ名 String Yes サイド ペインでリストとして開くエンティティの論理名。

XCreateTeamsChatAction

XCreateTeamsChatAction (TitleChat IDMember IDsRecord IDEntity NameInitial Message)

パラメーター タイプ 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
		)
	]
)