Wir verwenden den Azure Notifications Hub zum Verwalten von Benachrichtigungsanmeldungen. Jedes Mal, wenn ein Benutzer eine Anwendung startet, rufen wir PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync und anschließend RegisterNativeAsync von NotificationHub auf, um den Kanal uri zu registrieren, der zuerst mit einigen Tags wie "Benutzername" und "InstallId" zurückgegeben wird. Dann senden wir vom Backend aus Benachrichtigungen mit diesen Tags.PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync Duplizierter Kanal
Aber wir haben festgestellt, Problem - wenn Benutzer Hard-Reset-Gerät, die vorherige Kanalregistrierung bleibt aktiv in Notification Hub. In diesem Fall erhält der Benutzer doppelte Benachrichtigungen mit seinem "Username" -Tag. "InstallId" hilft in diesem Fall nicht, da es sich mit der neuen App-Installation ändert.
Wir haben darüber nachgedacht, Kanäle serverseitig zu verwalten. Aber das wird das Problem nicht lösen.
Vielleicht hat jemand einige vorgeschlagene Work-around? Wir wissen auch nicht, welche Informationen der PushNotificationChannelManager beim Erstellen neuer oder beim Zurückgeben eines vorhandenen Kanals verwendet. Verwendet es einige Geräteinformationen?
Vielen Dank für die Antwort. Wir haben über die Verwendung von "ASHWID" HardwareToken nachgedacht, wie Sie vorgeschlagen haben, aber wir haben bemerkt, wenn der Benutzer Windows 10 Insider-Version installiert, wird der Gerätename manchmal auch aktualisiert. Und wir haben Angst, dass sich HardwareToken in diesem Fall ändern würde. Müssen das überprüfen. – saniokazzz
Überprüfen Sie https://msdn.microsoft.com/en-us/library/windows/apps/jj553431 und denken Sie, dass die Verwendung von HardwareToken keine Option ist, da wir eine 100% ige Lösung benötigen. – saniokazzz
Mithilfe von ASHWID in Kombination mit der Installations-ID können Sie eine Filterregel erstellen, um doppelte Registrierung im Notification Hub zu vermeiden: Wenn der Benutzer die App (neue Installations-ID) auf einem Computer mit bekanntem ASHWID installiert, wird keine neue Registrierung erstellt ist eins vorhanden. Wenn der Benutzer die App mit der bekannten Installations-ID, jedoch mit neuem ASHWID (Hardware-Änderung) öffnet, prüfen Sie, ob die Hardwareänderung kritisch ist (z. B. Ersetzen der Festplatte), ob eine neue Registrierung erforderlich ist. – thang2410199