问题
I have added the following meta info in the head portion of my test web page.
<html>
<head>
<meta property="al:ios:url" content="schemeregisteredinapp://hereGoesTheURL" />
<meta property="al:ios:app_store_id" content="12345" />
<meta property="al:ios:app_name" content="Applinks Supporting App" />
</head>
<body>
<p>Opening a link to this page in Facebook iOS app should launch my "Applinks Supporting App".
</p>
</body>
</html>
I have added the custom url scheme schemeRegisteredInApp
in my iOS app's info.plist. If I type a url of the format schemeRegisteredInApp://the/rest/of/the/path
in iOS Safari browser, it successful launches my app.
But if I tap on a link to the webpage containing above mentioned HTML in Facebook app or Mailbox app (both are supposed to support applinks protocol) on iOS, the page just opens in a web view inside the Facebook app. My iOS app is never launched. I can't figure out what is going wrong. Applinks simply refuses to work as advertised. This is on iOS 8. Is Applinks broken?
回答1:
Add the following to your website meta data and the Facebook iOS app will open your app directly.
<meta property="al:web:should_fallback" content="false" />
If that doesn't work then you still have other issues with your meta data. Best way to debug is to go to developers.facebook.com/tools/debug/og/object and type in your url and select 'Show existing scrape information'. If there are any errors it won't work. Fix the problems and hit the 'Fetch new scrape information' button. Then kill the Facebook iOS app and relaunch it. Then the AppLink will work as expected next time you press the item in the FB feed.
回答2:
I tested on iOS 7. Before I updated to the latest Facebook app, I can see a popup at the bottom of the Facebook browser which leads me to my own app. Right after I updated the Facebook app to latest version, the popup doesn't show anymore. Same doesn't work on iOS 8. Maybe a bug in newest Facebook version. Hope to see they fix it or find a workaround.
回答3:
I just checked the example you provided. For me it correctly shows a popup to install your app, but when installed it doesn't recognise it as being installed.
I inspected your app's plist and it seems that you haven't registered the URLSchema there. That is needed for Applinks to check if the app is installed or not.
Can you test this with a project where you have defined the Appschema in your app's plist?
回答4:
If you want that link works in optional way when it launches app or open web page if app is not installed you need to add following meta-tag:
<pre>
<meta property="fb:app_id" content="[facebook app id]" />
</pre>
It does matter whether facebook app id exists or not. It will work properly in iOS only if it is exists. However Facebook on Android will open web view first still but allow to launch app from this page.
Following meta tag must be removed:
<pre>
<meta property="al:web:should_fallback" content="..." />
</pre>
来源:https://stackoverflow.com/questions/26463199/facebook-ios-app-not-launching-my-app-for-applinks-enabled-link