J'écris une application iPhone.
Je souhaite donner à l'utilisateur la possibilité d'inviter des amis à utiliser mon application via Facebook.
Plus précisément, je souhaite présenter une boîte de dialogue permettant à l'utilisateur de sélectionner des amis spécifiques à inviter.
Comment puis-je faire ceci?
Merci.
C'est simple, vous pouvez simplement écrire le code ci-dessous pour un message personnalisé et également sélectionner facilement l'ami à qui la demande doit être envoyée. C'est une méthode simple et puissante.
[FBWebDialogs
presentRequestsDialogModallyWithSession:nil
message:NSLocalizedString(@"FBinviteMessage", nil)
title:nil
parameters:nil
handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error) {}
];
Ajoutez simplement ces six lignes de code à votre méthode d’action Button, le reste sera effectué à l’aide du cadre IOS & de FaceBook Inbuilt :)
Vous pouvez faire quelque chose comme ça:
Facebook* facebook =
[[Facebook alloc] initWithAppId:@"YOUR_FACEBOOK_APP_ID" andDelegate:self];
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"My Title", @"title",
@"Come check out my app.", @"message",
@"FACEBOOK_USER_ID", @"to",
nil];
[facebook dialog:@"apprequests" andParams:params andDelegate:self];
Vous pouvez voir la liste des paramètres possibles sur cette page (défilement vers le bas): http://developers.facebook.com/docs/reference/dialogs/requests/
Aujourd'hui, avec le 3.11 version
du SDK facebook, vous devriez l'utiliser pour envoyer une demande d'application à un ami spécifique.
NSString *facebookID = @"YOUR_FRIEND_FACEBOOK_ID"
NSMutableDictionary* params =
[NSMutableDictionary dictionaryWithObject:facebookID forKey:@"to"];
NSString *message = @"SOME_MESSAGE";
NSString *title = @"TITLE";
FBSession *facebookSession = [PFFacebookUtils session]; //You may changed this if you are not using parse.com
[FBWebDialogs presentRequestsDialogModallyWithSession:facebookSession
message:message
title:title
parameters:params handler:
^(FBWebDialogResult result, NSURL *resultURL, NSError *error)
{
}];
Facebook SDK 4.0 a introduit "App Invites for iOS" . Découvrez-le: https://developers.facebook.com/docs/app-invites/ios
Assurez-vous que votre identifiant d'application facebook est identique dans la page développeur et dans le code xcode suivant, activez le mode bac à sable et devez remplir l'URL de la toile [sous l'application dans la catégorie facebook] dans la page développeur.
NSString *facebookID = @"Your friend facebook id";;
NSMutableDictionary* params =
[NSMutableDictionary dictionaryWithObject:facebookID forKey:@"to"];
NSString *message = @"SOME_MESSAGE";
NSString *title = @"TITLE";
[FBWebDialogs presentRequestsDialogModallyWithSession:nil
message:message
title:title
parameters:params handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error) {
if (error)
{
// Case A: Error launching the dialog or sending request.
NSLog(@"Error sending request.");
}
else
{
if (result == FBWebDialogResultDialogNotCompleted)
{
// Case B: User clicked the "x" icon
NSLog(@"User canceled request.");
}
else
{
NSLog(@"Request Sent. %@", params);
}
}}];
Pour envoyer des invitations d'applications Facebook, vous devez d'abord ajouter les détails de votre application ici .. https://developers.facebook.com/quickstarts/?platform=app-links-Host
Dans Swift 2.2, XCode 7.3 et FBSDK 4.1
import FBSDKShareKit
import FBSDKCoreKit
import FBSDKLoginKit
Ajoutez FBSDKAppInviteDialogDelegate
avec votre classe ViewController.
func appInviteDialog(appInviteDialog: FBSDKAppInviteDialog!, didCompleteWithResults results: [NSObject : AnyObject]!) {
print("Initiation sent")
}
func appInviteDialog(appInviteDialog: FBSDKAppInviteDialog!, didFailWithError error: NSError!) {
print("\(error)")
}
let content = FBSDKAppInviteContent();
content.appLinkURL = NSURL(string: "fb link that you get in above developers facebook url"); //"https:// fb.me/1775107252721102" in my case
FBSDKAppInviteDialog.showFromViewController(self, withContent: content, delegate: self);