A Simple way would be CSS Media Queries.
Show the fb:// link for small device widths. and a regular http:// link for larger screen sizes.
EDIT
<a href="https://facebook.com/page" class="large-screen">Clicky</a>
<a href="fb://page/mypage" class="small-screen">Clicky</a>
Then using CSS Media queries hide one of the links depending on the size of the screen.
UPDATE
Instead of using CSS a more satisfying user experience can be created with javascript by attempting to open the deep link URL directly after opening the HTTP URL after X seconds in a timeout.
setTimeout(function () { window.location = "https://www.facebook.com"; }, 25);
window.location = "fb://";
The HTTP URL will always load, but in the case that deep links are not available, attempting to open one will silently fail, falling back to the web version.
Source: https://www.quora.com/How-does-Bitlys-Deep-Linking-detect-if-the-user-already-has-the-app-installed
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…