J'essaie d'inviter les utilisateurs sur Facebook à essayer mon application iOS (qui n'est pas encore dans le magasin, ne l'a pas encore terminé).
J'utilise Facebook API pour authentifier un utilisateur, puis essayer d'utiliser le Code suivant: p> Cependant, lorsque je sélectionne des utilisateurs à qui je veux envoyer les invitations, puis appuyez sur Envoyer. Rien ne se passe. Je reçois "la demande envoyée". à travers nslog mais mon ami ne le reçoit pas. P> Des idées? P> P>
4 Réponses :
Quand remplissez-vous des paramètres? P>
Je sais que l'API FB envoie gentiment une action terminée si vous envoyez un nom d'utilisateur Facebook vierge comme destinataire P>
J'ai remarqué que le message de notification n'apparaît que sur Facebook App à la fois Android / iOS, mais aucun utilisateur Web ne peut pas le voir, j'espère que ce n'est pas une mise en œuvre de Facebook? Aussi pour vous assurer que votre ou vos inviations sont envoyées avec succès, vous devez analyser la requête de résultat.
NSDictionary *parameters = @{@"to":@""}; [FBWebDialogs presentRequestsDialogModallyWithSession:nil message:SL_FB_INVITE_DESCRIPTION title:SL_FB_INVITE_TITLE parameters:parameters handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error) { if(error) { NSLog(@"Some errorr: %@", [error description]); UIAlertView *alrt = [[UIAlertView alloc] initWithTitle:@"Invitiation Sending Failed" message:@"Unable to send inviation at this Moment, please make sure your are connected with internet" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil]; [alrt show]; [alrt release]; } else { if (![resultURL query]) { return; } NSDictionary *params = [self parseURLParams:[resultURL query]]; NSMutableArray *recipientIDs = [[[NSMutableArray alloc] init] autorelease]; for (NSString *paramKey in params) { if ([paramKey hasPrefix:@"to["]) { [recipientIDs addObject:[params objectForKey:paramKey]]; } } if ([params objectForKey:@"request"]) { NSLog(@"Request ID: %@", [params objectForKey:@"request"]); } if ([recipientIDs count] > 0) { //[self showMessage:@"Sent request successfully."]; //NSLog(@"Recipient ID(s): %@", recipientIDs); UIAlertView *alrt = [[UIAlertView alloc] initWithTitle:@"Success!" message:@"Invitation(s) sent successfuly!" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil]; [alrt show]; [alrt release]; } } } friendCache:nil]; - (NSDictionary *)parseURLParams:(NSString *)query { NSArray *pairs = [query componentsSeparatedByString:@"&"]; NSMutableDictionary *params = [[[NSMutableDictionary alloc] init] autorelease]; for (NSString *pair in pairs) { NSArray *kv = [pair componentsSeparatedByString:@"="]; [params setObject:[[kv objectAtIndex:1] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding] forKey:[[kv objectAtIndex:0] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; } return params; }
Comment vous connaissez-vous que la demande n'a pas été atteinte à d'autres utilisateurs? Vous devez savoir qu'ils n'obtiendront aucune notification, ils peuvent y accéder en allant à Ce lien : p>
Vous devez avoir une application Facebook dans votre application sous forme de plate-forme avec une page de toile. Ensuite, les utilisateurs recevront une notification. P>
Cela dépend toujours des plates-formes de votre application. Par exemple: Si vous avez une application uniquement disponible sur mobile, les amis invités ne verront que la demande sur leurs téléphones et non sur Facebook.com. Si vous avez également une application de canevas sur facebook.com, elle apparaîtra également sur facebook.com. P>
Vous pouvez en savoir plus sur la documentation sur la "expérience de réception" [1] des demandes envoyées par des applications. P>
[1] https://developers.facebook.com/docs /Games/requests/v2.0#receive P>