몇 가지 사용자 Android 및 iOS 사용자에게 Azure Notification Hubs를 두 개의 태그, ID 및 해당 언어로 등록하는 매우 간단한 앱이 있습니다. 그러나 큰 그룹에 메시지를 보낼 때 메시지를 받아야하는 몇 가지 iOS 장치 만 가져 오는 것으로 나타났습니다. 그러나 모든 계정을 반복하고 ID 태그를 사용하여 메시지를 보내면 모든 iOS 기기가 메시지를 수신합니다.알림 허브 - 대규모 그룹에 맞지 않는 iOS 배달
iOS 배송은 보장되지 않지만 ~ 10 iOS 기기 만 있으면 ID 태그를 사용하면 모든 기기에 푸시를 보낼 수 있지만 언어 태그를 사용하거나 tagless push를해라.
기본 단위에 하나의 예약 된 단위와 최대 9 개의 단위가 있습니다. Azure 포털은 전달, 네트워크 또는 페이로드 오류를보고하지 않습니다.
서버 측 등록 (푸른 here에 나와있는 예를 다음) 같은 약간 보이는 :
다음 히트의 모든 안드로이드 장치
foreach(var user in users)
{
//ID is a long and unique per user
//Language is an int - all accounts being tested have language of 0
var tags = new HashSet<string>();
tags.Add("ID-" + user.ID);
tags.Add("Language-" + user.Language);
//Register or update based on user.Device
client.CreateAppleNativeRegistrationAsync(user.pushID, tags);
client.CreateGcmNativeRegistrationAsync(user.pushID, tags);
}
하지만 지속적으로 iOS 장비를 공격하지 않습니다 . iOS 기기는 10 회 정도만 메시지를 보게됩니다. 언어 태그 및 태그가없는 푸시는 모두 iOS 기기에서 거의 동일한 전송률을 유지합니다.
string apnsMessage = "{\"aps\":{\"alert\":\"" + message + "\"}}";
string gcmMessage = "{\"data\":{\"message\":\"" + message + "\"}}";
//Language Tag
client.SendAppleNativeNotificationAsync(apnsMessage, "Language-0");
client.SendGcmNativeNotificationAsync(gcmMessage, "Language-0");
//Tagless Push
client.SendAppleNativeNotificationAsync(apnsMessage);
client.SendGcmNativeNotificationAsync(gcmMessage);
모든 Android 및 iOS 기기에 대한 다음 작품. 모든 단일 장치는 99 %의 시간 (초) 내에 메시지를 수신합니다.
string apnsMessage = "{\"aps\":{\"alert\":\"" + message + "\"}}";
string gcmMessage = "{\"data\":{\"message\":\"" + message + "\"}}";
foreach(var user in users)
{
client.SendAppleNativeNotificationAsync(apnsMessage, "ID-" + user.ID);
client.SendGcmNativeNotificationAsync(gcmMessage, "ID-" + user.ID);
}
Q : 개별 사용자에게 보낼 때 큰 그룹에 전송 알림을 일으키는 해당 그룹의 모든 장치에 지속적으로 발송하지 않는 것은, 고유의 태그를 잘 작동 사용하고 계십니까?