라우팅 및 태그 식
태그 식을 사용하면 Notification Hubs를 통해 푸시 알림을 보낼 때 특정 디바이스 집합 또는 보다 구체적으로 등록을 대상으로 지정할 수 있습니다.
특정 등록 대상 지정
특정 등록을 대상으로 지정하는 유일한 방법은 태그와 연결한 다음 해당 태그를 대상으로 지정하는 것입니다. 등록 관리설명한 대로 푸시 알림을 받으려면 앱이 알림 허브에 디바이스 핸들을 등록해야 합니다. 알림 허브에 등록이 만들어지면 애플리케이션 백 엔드가 푸시 알림을 보낼 수 있습니다.
애플리케이션 백 엔드는 다음과 같은 방법으로 특정 알림을 사용하여 대상으로 지정할 등록을 선택할 수 있습니다.
브로드캐스트: 알림 허브의 모든 등록이 알림을 받습니다.
태그: 지정된 태그를 포함하는 모든 등록이 알림을 받습니다.
태그 식: 태그 집합이 지정된 식과 일치하는 모든 등록은 알림을 받습니다.
메모
플랫폼별 페이로드(예: Windows 스토어 특정 알림)를 보낼 때 해당 특정 플랫폼에 대한 등록만 알림을 받습니다. 템플릿 알림을 보낼 때 템플릿을 지정하는 등록만 대상으로 지정됩니다. 자세한 내용은 등록 관리참조하세요.
태그
태그는 영숫자 및 영숫자가 아닌 문자를 포함하는 문자열(최대 120자)일 수 있습니다. '_', '@', '#', '.', ':', '-'. 다음 예제에서는 특정 음악 그룹에 대한 알림 메시지를 받을 수 있는 애플리케이션을 보여 줍니다. 이 시나리오에서 알림을 라우팅하는 간단한 방법은 다음 그림과 같이 다른 밴드를 나타내는 태그를 사용하여 등록에 레이블을 지정하는 것입니다.
태그 식
이 그림에서
태그에 대한 등록을 만드는 방법에 대한 자세한 내용은 등록 관리참조하세요.
SDK에서 Microsoft.ServiceBus.Notifications.NotificationHubClient 클래스의 송신 알림 메서드를 사용하여 태그에 알림을 보낼 수 있습니다. Node.js또는 푸시 알림 REST API사용할 수도 있습니다.
다음 예제를 확인합니다.
await hub.SendWindowsNativeNotificationAsync(wnsToast, "tag");
notificationHubService.wns.sendToastText01('tag', {
text1: 'Hello World!'
}, callback);
태그는 미리 프로비전할 필요가 없으며 여러 앱별 개념을 참조할 수 있습니다. 예를 들어, 이 예제 애플리케이션의 사용자는 밴드에 댓글을 달 수 있으며 자신이 좋아하는 밴드에 대한 메모뿐만 아니라 댓글을 달고 있는 밴드에 관계없이 친구의 모든 의견에 대해서도 알림을 받으려고 할 수 있습니다. 다음 그림에서는 이 시나리오의 예를 보여줍니다.
태그 식
이 그림에서 Alice는 비틀즈의 업데이트에 관심이 있으며 Bob은 Wailers에 대한 업데이트에 관심이 있습니다. 밥은 찰리의 의견에도 관심이 있으며, 찰리는 와일러스에 관심이 있습니다. 비틀즈에 대한 찰리의 코멘트에 대한 알림이 전송되면 앨리스와 밥은 모두 그것을받습니다.
중요하다
태그(예: "band_Beatles" 또는 "follows_Chanrlie")에서 여러 문제를 인코딩할 수 있지만 태그는 값이 있는 속성이 아니라 간단한 문자열입니다. 등록은 특정 태그의 존재 여부 또는 부재에서만 일치합니다.
관심 그룹으로 보내기 위해 태그를 사용하는 방법에 대한 전체 단계별 자습서는 속보참조하세요.
메모
이전 예제에서는 두 개의 알림 대신 두 개의 태그(태그 배열을 제공하거나 OR로 태그 식을 사용)에 단일 알림을 보내야 합니다. 개별 태그에 두 개의 알림을 보내면 두 태그가 모두 있는 등록에 대해 중복되지만 태그 식을 사용하지는 않습니다.
태그를 사용하여 대상 사용자
태그를 사용하는 또 다른 방법은 특정 사용자의 모든 디바이스를 식별하는 것입니다. 다음 그림과 같이 사용자 ID가 포함된 태그를 사용하여 등록에 태그를 지정할 수 있습니다.
태그 식
이 그림에서
태그 식
알림이 단일 태그가 아니라 태그의 부울 식으로 식별되는 등록 집합을 대상으로 지정해야 하는 경우가 있습니다.
보스턴의 모든 사람들에게 레드 삭스와 카디널스 사이의 게임에 대한 알림을 보내는 스포츠 응용 프로그램을 고려하십시오. 클라이언트 앱이 팀과 위치에 대한 관심에 대한 태그를 등록하는 경우 알림은 Red Sox 또는 카디널스에 관심이 있는 보스턴의 모든 사용자를 대상으로 해야 합니다. 이 조건은 다음 부울 식으로 표현할 수 있습니다.
(follows_RedSox || follows_Cardinals) && location_Boston
태그 식
태그 식에는 AND(&&), OR(||) 및 NOT(!)과 같은 모든 부울 연산자가 포함될 수 있습니다. 괄호를 포함할 수도 있습니다. 태그 식은 OU만 포함하는 경우 20개의 태그로 제한됩니다. 그렇지 않으면 6개의 태그로 제한됩니다.
SDK에서 Microsoft.ServiceBus.Notifications.NotificationHubClient 클래스의 송신 알림 메서드를 사용하여 태그 식에 알림을 보낼 수 있습니다. Node.js또는 푸시 알림 REST API사용할 수도 있습니다. 다음 예제를 확인합니다.
await hub.SendWindowsNativeNotificationAsync(wnsToast, "(tagA && !tagB)");
notificationHubService.wns.sendToastText01('(tagA && !tagB)', {
text1: 'Hello World!'
}, callback);