2011-01-05 18 views
0

Ich benutze PushNotification für meine App. Es scheint, dass das Geräte-Token jedes Mal generiert wird, wenn die Anwendung geladen wird. Also auf meinem Server habe ich viele doppelte Geräte Token.iPhone PushNotification Mehrere Male registrieren

Muss ich das Geräte-Token überprüfen, bevor ich es zur Datenbank hinzufüge, oder mache ich etwas falsch mit der Implementierung in der App?

Unter dem Code Segment, das ich verwende.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 

// launchOptions has the incoming notification if we're being launched after the user tapped "view" 
NSLog(@"didFinishLaunchingWithOptions:%@", launchOptions); 

// [self.viewController handleDidReceiveRemoteNotification:userInfo]; 


// other setup tasks here.... 
    [[UIApplication sharedApplication] 
    registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge | 
      UIRemoteNotificationTypeSound | 
      UIRemoteNotificationTypeAlert)]; 

    // [self updateWithRemoteData]; // freshen your app! 

// RESET THE BADGE COUNT 
    application.applicationIconBadgeNumber = 0; 

    // ... 
// call the original applicationDidFinishLaunching method to handle the basic view setup tasks 
[self applicationDidFinishLaunching:application]; 

return YES; 
} 



- (void)application:(UIApplication *)app 
didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)devToken { 
    [self sendDeviceTokenToRemote:devToken]; // send the token to your server 
} 

Könnte jemand helfen? Wie kann ich eindeutige Geräte-Tokens auf meinem Server speichern?

Dank, Nikil

+0

danke yar es ist sehr nützlich für mich. – nambi

Antwort

0

Anwendungen sollte für Push-Benachrichtigungen bei jedem Start als Best-Practice empfohlen von Apple neu registrieren. (siehe Apple Local and Push Notifications Programming Guide)

Wie Sie die Geräte-ID in Ihrer serverseitigen Domäne speichern, bleibt Ihnen überlassen. Ein Beispiel wäre eine Spalte, die das letzte registrierte Gerät repräsentiert. Sie würden eine Zeile hinzufügen, wenn es sich um eine neue Geräte-ID handelt, oder eine Zeile mit einem neuen Zeitstempel aktualisieren, wenn die Geräte-ID bereits vorhanden ist.

1
  1. In den meisten Fällen ist dieses jedem Gerät zugewiesene APNs-Token eindeutig und konstant. Sie können es als eine andere Art von UDID anzeigen. Sobald ein Gerät in der Datenbank Ihres Servers registriert ist, müssen Sie es nicht erneut registrieren.
  2. (Dies ist der knifflige Teil) Allerdings, nach Apples Dokumentation, könnte APNs Token ändern, sagen wir, wenn das Gerät auf eine höhere Version von OS aktualisiert wurde oder ein Teil seiner Hardware durch eine neue ersetzt wurde. Dies passiert jedoch nicht oft.
  3. Wie zum Umwandeln und dieses APNs Token in der App speichern und in Ihrem Server, lesen Sie in diesem Beitrag, iPhone pushNotification DeviceToken - How to "decrypt"

Hoffe, es hilft.

Verwandte Themen