从Facebookredirect到iOS应用程序 – 深层链接

我无法redirect到我的iOS应用程序从Facebook张贴。 当我点击那个post时,它会被打开为网页(不知何故,剂量识别标签的iOS&dosen'tredirect到应用程序)。 不知道是否是一个iOS应用程序或HTML内容或其他问题。

Myapppp.plist内容:

<key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleTypeRole</key> <string>Editor</string> <key>CFBundleURLName</key> <string>com.myapp.xyzxyz</string> <key>CFBundleURLSchemes</key> <array> <string>myapp</string> </array> </dict> <dict> <key>CFBundleURLSchemes</key> <array> <string>fb123XXX123</string> </array> </dict> </array> AppName: Myapp (As per plist) <html lang="en"> <head> <meta property="al:ios:url" content="myapp://blahblah"/> <meta property="al:ios:app_store_id" content="1234567"/> <meta property="al:ios:app_name" content="Myapp blah blah"/> </head> 

当我简单地从Safari浏览器执行“ myapp:// ”时,它会将我带到我的应用程序,并且还尝试手动打开“ myapp://blahblah ”,这也将我带到了应用程序中。 因此,我认为我的应用程序有有效的链接。

当我点击从Facebook应用程序的post,它导航一个开放的另一个网页,其中包含一个工具栏在底部,并有一个button,它显示3选项。 其中之一是“在myapp中打开”

如果我尝试从Facebook应用程序(例如Instagaram后)打开一些其他应用程序,他们也工作得很好。

应用程序名称是否必须与info.plist指定的名称和meta_property中的名称相同? 或者还有其他的错误吗?

这是预期的行为

不幸的是,目前还无法从iOS Facebook应用程序中直接启动第三方应用程序。 这是一个已知的问题 ,Facebook本质上已经写成wontfix 。 这在Android Facebook应用程序中仍然是可能的,但不幸的是,它们对于iOS版本的更改并不是很透明,因为对此有相当的困惑。

Instagram是一个特例,因为它是一个Facebook拥有的应用程序,并得到不同的待遇。

但你可以解决它

像Branch.io这样的服务(全面披露:我在团队中)通过实施App Links,URIscheme和iOS Universal Links的合理组合来解决这个问题。 基本上你需要做的是在webview中打开一个页面,然后有一个button或其他用户驱动的CTA事件,从那里启动应用程序。 这对用户来说是一个额外的步骤,但目前是最好的解决方法。 如果你只是希望能够发布一个链接到你的应用程序,当它被安装,否则进入一个网页(或应用程序/ Play商店),然后分支链接绝对是你最简单的解决scheme。

分支链路路由逻辑

分支链路路由逻辑

我想你还没有添加LSApplicationQueriesSchemes

 <key>LSApplicationQueriesSchemes</key> <array> <string>fbapi</string> <string>fb-messenger-api</string> <string>fbauth2</string> <string>fbshareextension</string> 

把这添加到你的plist中。

 - (BOOL)application: (UIApplication *)application openURL: (NSURL *)url sourceApplication: (NSString *)sourceApplication annotation: (id)annotation { if ([url.scheme isEqualToString:@"Your Url Sceme"]) { return [[FBSDKApplicationDelegate sharedInstance] application:application openURL:url sourceApplication:sourceApplication annotation:annotation]; } 

}

\ 在这里输入图像说明 希望这会有所帮助