私の iOS アプリでは、動画リンク (YouTube 動画リンクなど) を投稿しています。ユーザーが iOS のネイティブ Facebook アプリからこれらのリンクをクリックすると、アプリで動画が開きます。動画リンクを投稿すると、Facebook プロフィールから動画リンクを投稿したときと同じように表示されます (動画リンクを投稿すると、その情報が自動的に取得され、いくつかの情報を含むサムネイル画像として投稿されます)。
問題は、iOS のネイティブ Facebook アプリからこの投稿をクリックすると、アプリを開く代わりに webview で開くことです。アプリのFacebookアプリ設定で「ディープリンク」も有効にしました。私が使用するコードを以下に示します
SLComposeViewController *fbVC = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];
[fbVC setInitialText:@"Check out this video :"];
[fbVC addURL:[NSURL URLWithString:@"http://www.youtube.com/watch?v=NoVW62mwSQQ"]]; //youtube video is example
[self presentViewController:fbVC animated:YES completion:nil];
そして、「setInitialText」パラメーターからこのリンクを投稿すると、リンクとして単純に表示され(サムネイル画像といくつかの情報を含む自動長方形としてではなく)、アプリが開きますが、渡された値も表示されるため、この方法は必要ありません」投稿で「 http://www.youtube.com/watch?v=NoVW62mwSQQ/?deeplink=mypost 」のような「ディープリンク」パラメータ。