Flutter 在 facebook 应用程序 android 和 ios 中打开 facebook 链接
Posted
技术标签:
【中文标题】Flutter 在 facebook 应用程序 android 和 ios 中打开 facebook 链接【英文标题】:Flutter open facebook link in facebook app android & ios 【发布时间】:2019-09-14 05:53:21 【问题描述】:在我的应用程序中,我存储了 Facebook 网址。我想在 Facebook 应用程序而不是浏览器中打开它们。我尝试使用 flutter_url_launcher 包,但它会在默认浏览器中打开链接... 我想要的是直接打开链接到 facebook app 。 任何人都可以提出任何解决方案或方案来帮助我摆脱这种情况吗?
【问题讨论】:
太晚了,但我发现了这个:reddit.com/r/FlutterDev/comments/aowu6c/… 【参考方案1】:您可以将其打开为 web
final url =
"web://$**Your_Profile_Page**";
if (await UrlLauncher.canLaunch(url))
await UrlLauncher.launch(url,forceSafariVC: false);
else
throw 'Could not launch $url';
【讨论】:
再次阅读问题。【参考方案2】:我还使用了@ruelluna 提到的链接中的解决方案。
根据当前版本,以下代码对我有用:
String fbProtocolUrl;
if (Platform.isios)
fbProtocolUrl = 'fb://profile/page_id';
else
fbProtocolUrl = 'fb://page/page_id';
String fallbackUrl = 'https://www.facebook.com/page_name';
try
bool launched = await launch(fbProtocolUrl, forceSafariVC: false);
if (!launched)
await launch(fallbackUrl, forceSafariVC: false);
catch (e)
await launch(fallbackUrl, forceSafariVC: false);
另外,请确保 Info.plist 文件包含以下内容:
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fb[your_page_id]</string>
</array>
</dict>
</array>
您可以从以下地址获取 your_page_id:https://findmyfbid.com/
【讨论】:
此代码仅由浏览器打开,但所有者问题希望由 Facebook 应用程序打开 我刚刚在我的安卓手机上尝试了这个,安装了 Facebook 应用程序并且工作正常。这在哪种手机上不适合您? 我也在我的 iphone 和模拟器上试过,他们只是打开了 safari :((( 我在 iPhone 7 上尝试了相同的代码并按预期工作:如果已安装则打开 Facebook 应用程序,否则打开网络浏览器。 非常感谢。我忘记了 Info.plist 部分。我又试了一次,效果很好。但是有什么方法我们不需要在 Info.plist 中添加 page_id 呢?这似乎不是最佳选择。【参考方案3】:我的工作职能:
void launchUrl2() async
var url = 'fb://facewebmodal/f?href=https://www.facebook.com/al.mamun.me12';
if (await canLaunch(url))
await launch( url, universalLinksOnly: true, );
else throw 'There was a problem to open the url: $url';
【讨论】:
以上是关于Flutter 在 facebook 应用程序 android 和 ios 中打开 facebook 链接的主要内容,如果未能解决你的问题,请参考以下文章
Flutter:显示也使用该应用程序的 Facebook 朋友
如何通过 Facebook 移动应用程序在 Flutter 应用程序中将链接(或图像)与用户管理的 Facebook 页面共享
Facebook 登录当前无法在 Flutter 中用于此应用