Как пригласить друзей в мое приложение через facebook iOS SDK и Graph API
Я пишу приложение для iPhone.
Я хочу дать пользователю возможность приглашать друзей, чтобы начать использовать мое приложение через Facebook.
В частности, я хочу представить диалог, который позволит пользователю выбирать приглашенных друзей.
Как я могу это сделать?
Спасибо.
Ответы
Ответ 1
Просто вы можете просто написать приведенный ниже код для персонализированного сообщения, а также вы можете легко выбрать друга, которому должен быть отправлен запрос, это прямой и мощный метод.
[FBWebDialogs
presentRequestsDialogModallyWithSession:nil
message:NSLocalizedString(@"FBinviteMessage", nil)
title:nil
parameters:nil
handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error) {}
];
Просто добавьте эту шестую строку кода в метод действия Button, а остальные будут выполняться с помощью инфраструктуры IOS и FaceBook Inbuilt:)
Ответ 2
Вы можете сделать что-то вроде этого:
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];
Вы можете просмотреть список возможных параметров на этой странице (прокрутите вниз): http://developers.facebook.com/docs/reference/dialogs/requests/
Ответ 3
Сегодня с 3.11 version
в facebook SDK вы должны использовать это, чтобы отправить запрос приложения определенному другу.
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)
{
}];
Ответ 4
Facebook SDK 4.0 представил "Приложение для iOS".
Проверьте это: https://developers.facebook.com/docs/app-invites/ios
Ответ 5
Убедитесь, что ваш идентификатор приложения facebook одинаковый на странице разработчика и информация в xcode next, включите режим песочницы и должны заполнить URL-адрес холста [в приложении на странице facebook] на странице разработчика.
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);
}
}}];
Ответ 6
Чтобы отправить приглашение на facebook, вам нужно сначала добавить информацию о своем приложении здесь. https://developers.facebook.com/quickstarts/?platform=app-links-host
В Swift 2.2, XCode 7.3 и FBSDK 4.1
-
import FBSDKShareKit
import FBSDKCoreKit
import FBSDKLoginKit
-
Добавьте FBSDKAppInviteDialogDelegate
с классом 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);
Ответ 7
Вы можете использовать диалог совместного доступа, чтобы поделиться ссылкой для загрузки приложения на стену пользователя или написать пользовательские элементы пользовательского интерфейса и использовать API-вызовы для создания собственного модуля обмена. Попытка использования Facebook iOS SDK для упрощения процесса или у вас будет много работы.
Ответ 8
[FBWebDialogs
presentRequestsDialogModallyWithSession:nil
message:@"YOUR_MESSAGE_HERE"
title:nil
parameters:nil
handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error) {
if (error) {
// Error launching the dialog or sending the request.
NSLog(@"Error sending request.");
} else {
if (result == FBWebDialogResultDialogNotCompleted) {
// User clicked the "x" icon
NSLog(@"User canceled request.");
} else {
// Handle the send request callback
NSDictionary *urlParams = [self parseURLParams:[resultURL query]];
if (![urlParams valueForKey:@"request"]) {
// User clicked the Cancel button
NSLog(@"User canceled request.");
} else {
// User clicked the Send button
NSString *requestID = [urlParams valueForKey:@"request"];
NSLog(@"Request ID: %@", requestID);
}
}
}
}];