无法从iOS浏览器中的链接打开应用程序中的facebook页面



我正试图用NFC或QR码打开facebook应用程序到某个页面。这在Android上运行得很好,但在iOS上,我一辈子都无法获得正确行为的链接。我的代码:

编辑:目的是通过我控制的页面引导流量进行分析,并在Facebook应用程序中打开特定页面。我可以在safari中打开移动Facebook页面,也可以在Android上打开正确寻呼机的Facebook应用程序。我还没能成功地使用url方案在safari中创建一个链接,打开Facebook到商业页面。

var userAgent = navigator.userAgent || navigator.vendor || window.opera;
var isAndroid = (/android/i.test(userAgent));
var isIOS = (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream);
var isDesktop = !isAndroid && !isIOS;
var pageName = 'stubque.springfield';
var page_url = 'https://www.facebook.com/'+pageName;
var isFocused = true;
setTimeout(() => {
if(isDesktop) this.location=page_url;
if(isAndroid) fburl = "fb://facewebmodal/f?href="+encodeURI(page_url);
if(isIOS){
//opens facebook, but not page
fburl = "fb://faceweb/f?href="+encodeURI(page_url);
fburl = "fb://"+pageName;
fburl = "fb://page/"+pageName;
fburl = "fb://facewebmodal/f?href="+encodeURI(page_url);
fburl = "fb://profile/"+pageName;
//opens facebook but stuck on loading screen
fburl = "fb://page?id="+pageName;
}
addEventListener('blur', (event) => { isFocused = false; });
setTimeout(() => {
if(isFocused) this.location = page_url;
}, 100);
this.location=fburl;
}, 1800);

有人在facebook上使用URL Schemes在应用程序中打开页面时运气好吗?

第2版:我意识到facebook现在会自动为所有页面分配一个二维码,在android上扫描二维码会按预期打开页面,但在我的(公认是旧的(iPhone上,它会将我发送到一个错误页面,上面写着";抱歉,此功能目前不可用"。我有人一直在为我测试一款新iPhone,但如果他们最终得到了同样的结果,我担心这可能意味着iOS上的Facebook的深度链接完全被破坏了。

Facebook iOS应用程序URI方案将只识别页面的数字id(而不是命名id"stubque.springfield"(。

您的页面id为100086393472203

我通过在命令行上运行以下命令获得了您页面的数字id:

curl -skA "Mozilla/5.0" https://www.facebook.com/stubque.springfield/ | grep -oE "fb://[^"]+"
# fb://profile/100086393472203

命令取自:https://stackoverflow.com/a/33363610

因此,您应该将代码的iOS部分更新为:

if(isIOS){
//opens facebook app to the stubque.springfield page
fburl = "fb://profile/100086393472203"
}

我找到了一个适合我的解决方案。我不确定它是否适用于所有人,但值得一试。

我可以使用以下URL将facebook应用程序打开到正确的页面:fb://profile/<page_id>

我可以通过访问facebook应用程序中的页面,点击右上角的三个点来获得page_id。这将打开一个菜单,page_id是URL末尾的数字。

相关内容

  • 没有找到相关文章

最新更新