XSendAppNotification 및 관련 작업 함수(프리뷰)

적용 대상: Canvas 앱 모델 기반 앱

[이 문서는 시험판 문서이며 변경될 수 있습니다.]

선택적 작업을 통해 앱 내 알림을 수신자에게 보냅니다.

중요

  • 이는 프리뷰 기능입니다.
  • 프리뷰 기능은 프로덕션용이 아니고 기능이 제한될 수 있으며 릴리스 전에 크게 변경될 수 있습니다. 이런 기능은 공식 릴리스 전에 사용할 수 있으므로 고객이 조기에 액세스하고 피드백을 제공할 수 있습니다.
  • 이러한 함수를 프리뷰 기능으로 식별하는 데 도움이 되도록 각 함수에는 X 접두사가 붙습니다. 릴리스 시 이러한 함수를 사용하는 모든 수식에서 X 를 제거해야 하며 모든 함수 변경에 대해 업데이트된 인수가 필요합니다.
  • 이러한 함수는 Dataverse 로우코드 플러그인에서만 사용할 수 있습니다.

Description

XSendAppNotification 함수는 앱 내에서 수신자에게 알림을 보내는 데 사용됩니다. 이러한 알림은 토스트로 표시되거나 앱 사용자의 알림 센터 내에 표시됩니다. 자세한 내용은 모델 기반 앱 내에서 앱 내 알림 보내기를 참조하세요.

또한 앱 내 알림에는 알림 카드에 0개부터 많은 작업까지 포함될 수 있습니다. 앱 알림 카드에 작업을 추가하기 위해 XSendAppNotification 함수에서 다음 함수를 매개 변수로 사용합니다. 각 작업 유형에 대한 자세한 내용은 알림 작업을 참조하세요.

  • XCreateUrlAction: 알림 카드에 URL 작업을 추가합니다.
  • XCreateSidePaneActionForDashboard: 측면 창 내의 유형이 있는 페이지로 이동하는 측면 창 작업을 추가합니다. dashboard
  • XCreateSidePaneActionForEntity: 측면 창 내에서 entityrecord 유형이 있는 페이지로 이동하는 측면 창 작업을 추가합니다.
  • XCreateSidePaneActionForEntityList: 측면 창 내에서 entitylist 유형이 있는 페이지로 이동하는 측면 창 작업을 추가합니다.
  • XCreateTeamsChatAction: 알림 카드에 Teams 채팅 작업을 추가합니다.

구문

XSendAppNotification

XSendAppNotification (제목, 수신자, 본문, 작업, 아이콘 유형, 토스트 유형, 만료, 우선순위)

매개 변수 Type 필수 Description
Title String 앱 알림의 제목입니다.
받는 사람 Entity 알림을 받는 사람 systemuser의 엔터티입니다.
Body String 없음 알림 본문입니다.
동작 함수 없음 알림에 작업을 추가하기 위한 작업 함수의 배열입니다.
아이콘 유형 Int 없음 아이콘 유형의 선택 목록 값입니다(정보, 성공, 실패, 경고, 멘션, 사용자 지정).
토스트 유형 Int 없음 토스트 유형에 대한 선택 목록 값입니다(시간 대 숨김).
만료 Int 없음 알림을 이미 해제하지 않은 경우 알림을 삭제해야 하는 시간(초).
우선 순위 Int 없음 알림 우선 순위에 대한 선택 목록 값입니다(보통 또는 높음).

XCreateUrlAction

XCreateUrlAction (제목, URL, 탐색 대상)

매개 변수 Type 필수 Description
Title String 작업에 대해 표시되는 제목입니다.
URL String 작업을 선택할 때 열리는 URL입니다.
탐색 대상 String 없음 탐색 링크가 열리는 위치를 정의합니다. 옵션은 다음과 같습니다.
  • dialog: 중앙 대화상자에서 열립니다.
  • inline: 기본. 현재 페이지에서 열립니다.
  • newWindow: 새 브라우저 탭에서 열립니다.

XCreateSidePaneActionForDashbaord

XCreateSidePaneActionForDashboard (제목, 창 ID, 창 제목, 대시보드 ID)

매개 변수 Type 필수 Description
Title String 작업에 대해 표시되는 제목입니다.
창 ID String 새로운 측면 창의 ID입니다.
창 제목 String 측면 창에 대해 표시할 제목입니다.
대시보드 ID GUID 측면 창에서 열 대시보드의 ID입니다.

XCreateSidePaneActionForEntity

XCreateSidePaneActionForEntity (제목, 창 ID, 창 제목, 엔터티 이름, 엔터티 ID)

매개 변수 Type 필수 Description
Title String 작업에 대해 표시되는 제목입니다.
창 ID String 새로운 측면 창의 ID입니다.
창 제목 String 측면 창에 대해 표시할 제목입니다.
엔터티 이름 String 엔터티의 논리 이름입니다.
엔터티 ID String 측면 창에서 열려는 엔터티 레코드의 ID입니다.

XCreateSidePaneActionForEntityList

XCreateSidePaneActionForEntityList (제목, 창 ID, 창 제목, 엔티티 이름)

매개 변수 Type 필수 Description
Title String 작업에 대해 표시되는 제목입니다.
창 ID String 새로운 측면 창의 ID입니다.
창 제목 String 측면 창에 대해 표시할 제목입니다.
엔터티 이름 String 측면 창에서 목록으로 열려는 엔터티의 논리적 이름입니다.

XCreateTeamsChatAction

XCreateTeamsChatAction (제목, 채팅 ID, 멤버 ID, 레코드 ID, 엔터티 이름, 초기 메시지)

매개 변수 Type 필수 Description
Title String 작업에 대해 표시되는 제목입니다.
채팅 ID String 없음 기존 채팅을 여는 경우 열릴 채팅 세션의 ID입니다.
구성원 ID GUID 없음 새 채팅을 만드는 경우 채팅에 포함될 참가자의 Microsoft Entra 개체 ID 값 배열입니다.
레코드 ID GUID 없음 Dynamics 365 레코드에 연결하는 경우 채팅을 연결해야 하는 레코드의 ID입니다.
엔터티 이름 String 없음 Dynamics 365 레코드에 연결하는 경우 채팅을 연결해야 하는 레코드 엔터티의 논리적 이름입니다.
초기 메시지 String 없음 새 채팅의 소개 메시지입니다.

제목, 수신자 및 본문이 포함된 앱 내 알림

다음은 제목과 본문이 포함된 간단한 앱 내 알림을 수신자에게 보냅니다. 어떤 작업도 포함하지 않으며 다른 모든 매개 변수에 대해 기본값을 사용합니다.

XSendAppNotification(
    "Welcome", 
    LookUp(Users, 'Primary Email'="<User's email address>"), 
    "Welcome to the world of in-app notifications!"
)

두 가지 작업을 통한 앱 내 알림

다음 예제 수식은 새 작업 레코드가 생성될 때 자동화된 플러그인과 함께 사용할 수 있습니다. 수식은 작업 레코드의 담당자에게 앱 내 알림을 보내도록 설계되었습니다. 알림 카드에는 담당자가 취할 수 있는 두 가지 작업이 포함되어 있습니다.

  • 측면 창 작업은 측면 창에서 새 작업 레코드를 엽니다.
  • 팀 채팅 작업은 새 작업에 대한 관련 항목 테이블 레코드로 할당된 계정 레코드의 소유자와 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
		)
	]
)