Я использую ссылку facebook, используя этот метод presentShareDialogWithLink
в моем приложении. Когда пользователь нажимает на сообщение в приложении facebook, это автоматически открывает мое приложение, и в это время я хочу получить URL-адрес того, что пользователь нажимает на приложение facebook. Как я могу получить этот URL-адрес и где я получу этот URL-адрес?Как получить URL-адрес при запуске приложения через facebook?
0
A
ответ
0
Вы можете получить URL с помощью метода handleOpenURL в AppDelegate
-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
/* Do something with the url */
}
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
спасибо, но может я разобрать этот адрес? потому что в нем есть много вещей, таких как FBID, разрешающий и доступный токен, а затем URL-адрес. как я могу разобрать только мой url? – Mashhadi
Используйте свою логику для анализа URL. Взгляните на эту [link] (https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html#//apple_ref/occ/instm/NSString) –