2013-12-09 2 views
0

Я использую ссылку facebook, используя этот метод presentShareDialogWithLink в моем приложении. Когда пользователь нажимает на сообщение в приложении facebook, это автоматически открывает мое приложение, и в это время я хочу получить URL-адрес того, что пользователь нажимает на приложение facebook. Как я могу получить этот URL-адрес и где я получу этот URL-адрес?Как получить URL-адрес при запуске приложения через facebook?

ответ

0

Вы можете получить URL с помощью метода handleOpenURL в AppDelegate

-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url { 

    /* Do something with the url */ 
} 
+0

спасибо, но может я разобрать этот адрес? потому что в нем есть много вещей, таких как FBID, разрешающий и доступный токен, а затем URL-адрес. как я могу разобрать только мой url? – Mashhadi

+0

Используйте свою логику для анализа URL. Взгляните на эту [link] (https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html#//apple_ref/occ/instm/NSString) –

0

Если вы создали обработчик во время настоящего * вызов, что-то вроде:

[FBDialogs presentShareDialogWithLink:url 
           handler:^(FBAppCall *call, NSDictionary *results, NSError *error) { 
    if(error) { 
     NSLog(@"Error: %@", error.description); 
    } else { 
     NSLog(@"Success!"); 
    } 
}]; 

Тогда в вашем AppDelegate, переопределить приложение: openURL: sourceApplication: аннотация: метод:

- (BOOL)application:(UIApplication *)application 
      openURL:(NSURL *)url 
    sourceApplication:(NSString *)sourceApplication 
     annotation:(id)annotation { 

    BOOL urlWasHandled = [FBAppCall handleOpenURL:url 
           sourceApplication:sourceApplication 
            fallbackHandler:^(FBAppCall *call) { 
             NSLog(@"Unhandled deep link: %@", url); 
            }]; 

    return urlWasHandled; 
} 

Тогда ваш обработчик s hould получить обратный вызов.

Для получения дополнительной информации см https://developers.facebook.com/docs/ios/share-dialog/, в частности, https://developers.facebook.com/docs/ios/share-dialog/#handling-responses