Mettre à jour le jeton de périphérique dans la table d'installation dans pars ios

Je veux mettre à jour le jeton de périphérique dans la table d'installation sur parsingr en utilisant iOS . Pour save un jeton d'appareil, j'ai:

 PFInstallation *currentInstallation = [PFInstallation currentInstallation]; [currentInstallation setDeviceTokenFromData:(NSData*)[AppHelper userDefaultsForKey:@"token"]]; [currentInstallation setObject:[PFUser currentUser].objectId forKey:@"user"]; NSArray *channels = [NSArray arrayWithObjects:@"AnySsortingng",nil]; currentInstallation.channels=channels; [currentInstallation saveInBackground]; 

Je veux mettre à jour ce jeton d'appareil. Je sais mettre à jour le jeton que je dois utiliser l'API de repos, c'est-à-dire https://api.parse.com/1/installations . Comment mettre à jour la ligne car je n'ai pas d'identifiant d'installation.

S'il vous plaît fournir la syntaxe correcte.

Ecrivez le code ci-dessous dans la méthode didRegisterForRemoteNotificationsWithDeviceToken dans AppDelegate.

 - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { PFInstallation *currnentInstallation = [PFInstallation currentInstallation]; [currnentInstallation setDeviceTokenFromData:deviceToken]; [currnentInstallation saveInBackground]; } 

Pour save l'user dans les canaux, utilisez le code ci-dessous dans l'écran de connection

 PFInstallation *currentInstallation = [PFInstallation currentInstallation]; if ([PFUser currentUser].objectId) { currentInstallation[@"user"] = [PFUser currentUser]; currentInstallation.channels = @[[NSSsortingng ssortingngWithFormat:@"user_%@",[PFUser currentUser].objectId]]; NSLog(@"Saving Installation channel = %@",currentInstallation.channels); [currentInstallation saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) { NSLog(@"Current installation updated: Error: %@",error); }]; } 

Pour plus de détails, consultez ce lien https://www.parse.com/docs/ios/guide#push-notifications-installations

Dans AppDelegate's méthode AppDelegate's didRegisterForRemoteNotificationsWithDeviceToken , définissez deviceToken sur la table d'installation et enregistrez le jeton de périphérique sur NSUserDefaults , comme NSUserDefaults :

 PFInstallation *currentInstallation = [PFInstallation currentInstallation]; [currentInstallation setDeviceTokenFromData:deviceToken]; currentInstallation.channels = @[@"global"]; [currentInstallation saveInBackground]; [[NSUserDefaults standardUserDefaults]setObject:deviceToken forKey:@"deviceToken"]; 

Et lors de la connection ou de l'inscription, définissez l'user comme ceci:

 PFInstallation *currentInstallation = [PFInstallation currentInstallation]; [currentInstallation setObject:[PFUser currentUser] forKey:@"User"]; [currentInstallation setDeviceTokenFromData:[[NSUserDefaults standardUserDefaults] valueForKey:@"deviceToken"]]; currentInstallation.channels = @[@"global"]; [currentInstallation saveInBackground]; 

METTRE À JOUR:

vous devez append des éléments à la table d'installation. Ajoutez l' userID colonne à l'installation, puis obtenez la table d'installation de la requête avec l' userID user de l'user actuel. Vous pouvez consulter ce lien https://www.parse.com/questions/resortingeve-objectid-from-installation-table pour une meilleure compréhension
J'espère que cela aide 🙂