wake-up-neo.com

Wann wird didRegisterForRemoteNotificationsWithDeviceToken aufgerufen?

Es gibt viele Fragen zu didRegisterForRemoteNotificationsWithDeviceToken, die jedoch alle eine sehr direkte Frage umgehen, auf die ich scheinbar keine exakte Antwort finde.

Für eine App, die ordnungsgemäß für Benachrichtigungen auf alle anderen Arten eingerichtet ist und über eine korrekte Netzwerkverbindung verfügt: Wann wird didRegisterForRemoteNotificationsWithDeviceToken aufgerufen? Einige mögliche Optionen könnten sein:

  1. Bei jedem Start der App
  2. Erst nach der ersten Aufforderung an den Benutzer, Push-Benachrichtigungen zu akzeptieren
  3. Etwas anderes?
27
jwl

Der Anwendungsdelegierte ruft die Methode nach der erfolgreichen Registrierung der Remote-Benachrichtigung auf, nachdem Sie diese Methode in Ihrer UIApplication aufgerufen haben:

(void) registerForRemoteNotificationTypes: (UIRemoteNotificationType) -Typen

Gemäß: http://developer.Apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIApplication_Class/Reference/Reference.html

Wenn Sie diese Nachricht senden, leitet das Gerät den Registrierungsvorgang beim Apple Push Service ein. Wenn dies gelingt, erhält der Anwendungsdelegat ein Gerätetoken in der application: didRegisterForRemoteNotificationsWithDeviceToken: -Methode; Wenn die Registrierung nicht erfolgreich ist, wird der Delegat über die Methode application: didFailToRegisterForRemoteNotificationsWithError: informiert. Wenn der Anwendungsdelegat ein Gerätetoken erhält, sollte er sich mit seinem Provider verbinden und ihm das Token übergeben.

Um dies weiter auszuführen, ruft eine App normalerweise registerForRemoteNotificationTypes in Ihrem didFinishLaunchingWithOptions: (NSDictionary *) launchOptions in Ihrem Anwendungsdelegierten auf. Die Anwendung application: didRegisterForRemoteNotificationsWithDeviceToken wird dann normalerweise kurz nach dem Start der Anwendung aufgerufen.

Edit: Die Anwendung: didRegisterForRemoteNotificationsWithDeviceToken wird nach dem Ersten immer noch für die Registrierung von Untersignenten aufgerufen.

28

Wenn die App zum ersten Mal ausgeführt wird, wird der Benutzer gefragt, ob er Remote-Benachrichtigungen zulässt. Wenn sie "Ja" sagen, wird der Befehl didRegisterForRemoteNotificationsWithDeviceToken ausgelöst, und diese Funktion wird beim nächsten Öffnen der App ausgelöst. Wenn sie nein sagen, wird sie nicht ausgelöst, es sei denn, sie haben Einstellungen vorgenommen und Benachrichtigungen in der App zugelassen.

8
rooster117

Es kann viele Gründe geben, einige Gründe überprüfen 

  • Wenn Sie die App im Simulator ausführen, wird die Application: didFailToRegisterForRemoteNotificationsWithError: -Methode Aufgerufen. Push-Benachrichtigungen werden im

  • Überprüfen Sie Ihre Internetverbindung, wenn Sie keine Verbindung herstellen.

Weitere Informationen finden Sie unter Link

0
Denny