Ich frage mich, welche ist die beste Praxis in Azure Notification Hub Push-Benachrichtigungen an ein paar bestimmte Benutzer (z. B. über verfolgte Aktivitäten) senden.Azure Notification Hub Best Practice im sozialen Netzwerk Szenario
Stellen Sie sich vor, Benutzer können anderen Benutzern folgen und diese Follower sollten über neue Aktivitäten benachrichtigt werden (Facebook, Twitter-Prinzip).
Wie diese Benachrichtigungen im Detail gesendet werden, gibt es zwei Möglichkeiten, über die ich nachdenke, aber welche ist die beste?
1) durch alle gewünschten Benutzer durch Code durchlaufen und SendTemplateNotificationAsync
für jeden einzelnen Benutzer aufrufen?
foreach(user in allSubscribedUsers) {
tags.Add("userid:" + userId);
await hub.SendTemplateNotificationAsync(notification, tags);
}
2) Mit speziellen Tags kann ein Benutzer Es ist möglich,
registration.Tags = new HashSet<string>(deviceUpdate.Tags);
// the current user follows other users with the ids 1,2 and 3
registration.Tags.Add("followerUserid:1");
registration.Tags.Add("followerUserid:2");
registration.Tags.Add("followerUserid:3");
...
// an acivity by user with id 2 is happen
// send a push notification to all users who follow the user with id 2
tags.Add("followerUserid:2");
await hub.SendTemplateNotificationAsync(notification, tags);
registrieren, dass ein Benutzer bis zu 1.000 anderen Benutzern folgt, so muss er 1.000 der followerUserId-Tag
registrieren.
Ist der zweite Ansatz eine zuverlässige Lösung?
Gibt es Einschränkungen für Tags, zu denen sich ein Benutzer anmelden kann?
Danke für Ihre Antwort! Aber der nächste folgende Beitrag im verknüpften Thread sagt, dass MS das Tag-Limit beseitigt hat? – Mica
Das ist ein wenig verwirrend, aber es gibt viele Aspekte, um Grenzen zu begrenzen. Die Anzahl der _Tags pro Gerät_ beträgt 60. Die Anzahl der _Tags insgesamt_ ist jedoch auf 3000 begrenzt. Geräte mit <5 Tags sind jedoch von der Begrenzung ausgeschlossen. In Ihrem Fall würde das bedeuten, dass Sie, wenn jedem Benutzer 5 oder weniger Tags zugeordnet sind, die 3k-Obergrenze nicht erreichen, egal wie viele Benutzer Sie haben. –