2015-01-06 1 views
1

Я пытаюсь открыть приложение facebook с помощью URL-адреса AppLinks, он открывает профиль пользователя/страницу, но не показывает кнопку «обратно в приложение-референт», я предоставляю данные «referer_app_link» , Я создал JSON по этой ссылке http://applinks.org/documentation/#applinknavigationprotocolОткрытое приложение для iOS для Facebook с кнопкой назад к моему приложению

NSDictionary *dict = @{ 
         @"target_url" : @"fb://profile/USER_ID", 
         @"referer_app_link" : @{ 
           @"target_url" : @"MY WEBSITE", 
           @"url" : @"CALLBACK URL", 
           @"app_name" : @"MY APP NAME", 
           @"app_store_id" : @"MY APP STORE ID" 
           } 
         }; 

NSData *data = [NSJSONSerialization dataWithJSONObject:dict options:0 error:nil]; 
NSString *jsonString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 

jsonString = [jsonString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 

NSString *stringUrl = [NSString stringWithFormat:@"fb://applinks?al_applink_data=%@",jsonString]; 
NSLog(@"String url is %@",stringUrl); 
NSURL *url = [NSURL URLWithString:stringUrl]; 

if([[UIApplication sharedApplication] canOpenURL:url]) { 
    [[UIApplication sharedApplication] openURL:url]; 
} else { 
    NSLog(@"Cant open %@",url); 
} 

какие-либо идеи? Предполагается, что у Facebook есть кнопка «назад»? моя схема URL настроена правильно ...

Update: NSDictionary содержит все допустимые значения, я не хочу, чтобы опубликовать их в данный момент, но URL, имя, идентификатор магазина ... и т.д. все действительны

Обновление № 2: Начиная с iOS 9, это выполняется системой iOS автоматически.

+0

Если я не ошибаюсь, url будет просто использовать FB как сквозной проход для фактического зарегистрированного приложения fb в IOS или в Интернете. В этом случае стороннее приложение может вызвать ваше приложение fb и передать ему некоторые параметры. – Paulo

+0

Я полагаю, что содержание словаря указывает на реальное приложение live fb, потому что, конечно, «MyY APP STORE ID» определенно недействителен и должен содержать цифры, URL-адрес также должен быть действительной схемой URL-адреса приложения, установленной на устройстве. – Paulo

+0

@Paulo Я хочу чтобы открыть Facebook и перейти к некоторым пользователям Профиль пользователя, а не какое-либо стороннее приложение, открытие работает, но без кнопки «Назад», также словарь содержит допустимые значения, я просто изменил их с помощью заполнителей, чтобы отобразить здесь, – ogres

ответ

0

приложение не подключено к странице профиля друга FB, если вы просто используете собственный URL-адрес FB для ссылки на FB.APP или в сафари, он не будет автоматически возвращаться в ваше приложение.

Альтернативой этому является использование FB IOS SDK и Пика и отображения удаленного пользователя в пределах вашего приложения следующим образом: (код из образца приложения HelloFacebook (поставляется с SDK)

- (IBAction)pickFriendsClick:(UIButton *)sender { 
    FBFriendPickerViewController *friendPickerController = [[FBFriendPickerViewController alloc] init]; 
    friendPickerController.title = @"Pick Friends"; 
    [friendPickerController loadData]; 

    // Use the modal wrapper method to display the picker. 
    [friendPickerController presentModallyFromViewController:self animated:YES handler: 
    ^(FBViewController *innerSender, BOOL donePressed) { 
     if (!donePressed) { 
      return; 
     } 

     NSString *message; 

     if (friendPickerController.selection.count == 0) { 
      message = @"<No Friends Selected>"; 
     } else { 

      NSMutableString *text = [[NSMutableString alloc] init]; 

      // we pick up the users from the selection, and create a string that we use to update the text view 
      // at the bottom of the display; note that self.selection is a property inherited from our base class 
      for (id<FBGraphUser> user in friendPickerController.selection) { 
       if ([text length]) { 
        [text appendString:@", "]; 
       } 
       [text appendString:user.name]; 
      } 
      message = text; 
     } 

     [[[UIAlertView alloc] initWithTitle:@"You Picked:" 
           message:message 
           delegate:nil 
         cancelButtonTitle:@"OK" 
         otherButtonTitles:nil] 
     show]; 
    }]; 

}

Примечание - образец в настоящее время просто выбрал свойство имени из экземпляра класса FBGraphUser ....

пользователь будет иметь другие свойства день рождения, пол и т.д., просто LookUp файл заголовка в SDK или посмотреть документацию FB

.
+0

Я не хочу выбирать друга или создавать пользовательские представления, извините, вопрос состоит в том, чтобы открыть FB с параметрами и кнопкой возврата назад (профиль, страница, сообщение ... не имеет значения), например, приложение Facebook открывает Facebook Messenger с кнопкой «назад», которая открывает приложение Facebook снова – ogres

+0

Messenger и Facebook могут перемещаться между собой, потому что Facebook (компания) может написать им, чтобы сделать так. Если вам нужно отобразить некоторую информацию из Facebook в контексте вашего приложения, вам необходимо использовать FB SDK. –

+0

У FB SDK нет такого поведения, извините, это не ответ на мой вопрос. Я знаю, что делает FB SDK и что такое FBFriend picker ... это не имеет никакого отношения к моему вопросу. – ogres

 Смежные вопросы

  • Нет связанных вопросов^_^