Facebook share fb-event с webdialog (на iOS)

Привет, у меня есть следующая проблема. Если у меня есть ссылка на facebook event (например, https://www.facebook.com/events/) из приложения iOS, у меня есть две возможности: (1) установлено приложение iOS facebook (2) приложение iOS facebook не установлено

В случае 1 все работает отлично. Приложение facebook извлекает информацию о событии, показывает предварительный просмотр справа, а также сообщение на стене facebook правильно. В случае 2 я использую класс FBWebDialods, и он показывает предварительный просмотр без picutre, а также сообщение на стене facebook - это просто текст. Нет изображения и нет кнопки участия.

Есть ли у кого-нибудь представление о том, как я могу получить тот же результат на стене facebook в обоих случаях?

1 ответ

Я получаю ответ от https://developers.facebook.com/docs/ios/share/:

// Check if the Facebook app is installed and we can present the share dialog
FBShareDialogParams *params = [[FBShareDialogParams alloc] init];
params.link = [NSURL URLWithString:@"https://developers.facebook.com/docs/ios/share/"];
params.name = @"Sharing Tutorial";
params.caption = @"Build great social apps and get more installs.";
params.picture = [NSURL URLWithString:@"http://i.imgur.com/g3Qc1HN.png"];
params.description = @"Allow your users to share stories on Facebook from your app using the iOS SDK.";

// If the Facebook app is installed and we can present the share dialog
if ([FBDialogs canPresentShareDialogWithParams:params]) {
 // Present the share dialog
} else {
 // Present the feed dialog
}

и в появившемся диалоговом окне общего доступа:

[FBDialogs presentShareDialogWithLink:params.link
 name:params.name
 caption:params.caption
 description:params.description
 picture:params.picture
 clientState:nil
 handler:^(FBAppCall *call, NSDictionary *results, NSError *error) {
 if(error) {
 // An error occurred, we need to handle the error
 // See: https://developers.facebook.com/docs/ios/errors
 NSLog([NSString stringWithFormat:@"Error publishing story: %@", error.description]);
 } else {
 // Success
 NSLog(@"result %@", results);
 }
 }];

я надеюсь, что это поможет вам

licensed under cc by-sa 3.0 with attribution.