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 中用于此应用

在 Flutter 中显示 Facebook 页面插件

facebook登录仅显示以前在flutter应用中登录的帐户

Flutter:如何配置 Facebook 进行身份验证