【问题标题】:How one can share post from flutter app to social media platforms like inkedIn, facebook and etc?如何将 Flutter 应用中的帖子分享到linkedIn、facebook 等社交媒体平台?
【发布时间】:2019-09-16 11:59:12
【问题描述】:

我想将我的 Flutter 应用中的帖子分享到 LinkedIn 和 Facebook 等社交媒体平台。我该怎么做。

【问题讨论】:

    标签: flutter dart webview


    【解决方案1】:

    你可以使用 Flutter Share Plugin

    Share.share('Your content here.');
    

    【讨论】:

      【解决方案2】:

      您还可以使用Firebase Dynamic Links 将用户重定向到您的应用。

      【讨论】:

        【解决方案3】:

        我不知道linkedin,但对于facebook,你可以使用social_share_plugin。除了自述文件中的说明,我还按照示例在 android/app/src/main/res/xml 中添加了 provider_paths.xml。您需要确保您使用的是最新的 facebook SDK 实现,因此在 android/app/build.gradle 中,将以下代码添加到依赖项:

        implementation 'com.facebook.android:facebook-android-sdk:[5,6)'
        

        【讨论】:

          【解决方案4】:

          您也可以使用flutter_share_me 包。

          String response;
          String url = 'https://cardaji.com';
          String msg = "Look my great score on cardaji";
          String strSeparator=" \n";
          final FlutterShareMe flutterShareMe = FlutterShareMe();
          // facebook post
          response = await flutterShareMe.shareToFacebook(url: url, msg: msg);
          
          // twitter post
          response = await flutterShareMe.shareToTwitter(url: url, msg: msg);
          
          // whatsapp post
          response = await flutterShareMe.shareToTelegram(msg: msg+ strSeparator+ url);
          
          // telegram post
          response = await flutterShareMe.shareToWhatsApp(msg: msg+strSeparator+url);
          

          非常重要

          当你构建你的iOS项目时,你会在SwiftFlutterShareMePlugin.swift文件的sharefacebook函数中发现如下错误。

          'init()' 已在此处明确标记为不可用 (FBSDKShareKit.ShareDialog)

          func sharefacebook(message:Dictionary<String,Any>, result: @escaping FlutterResult)  {
              let viewController = UIApplication.shared.delegate?.window??.rootViewController
              let shareDialog=ShareDialog() // **this line make the error**
              let shareContent = ShareLinkContent()
              shareContent.contentURL = URL.init(string: message["url"] as! String)!
              shareContent.quote = message["msg"] as? String
              shareDialog.mode = .automatic
              ShareDialog(fromViewController: viewController, content: shareContent, delegate: self).show()
              result("Sucess")
              
          }
          

          因为facebook sdk升级了,所以你可以更新flutter_share_me package(version 1.2.0)文件的SwiftFlutterShareMePlugin.swift如下。

          func sharefacebook(message:Dictionary<String,Any>, result: @escaping FlutterResult)  {
              let viewController = UIApplication.shared.delegate?.window??.rootViewController
              
              let shareContent = ShareLinkContent()
              shareContent.contentURL = URL.init(string: message["url"] as! String)!
              shareContent.quote = message["msg"] as? String
              ShareDialog(viewController: viewController, content: shareContent, delegate: self).show()
              result("Sucess")
              
          }
          

          【讨论】:

          • @persec100000 修复了 iOS 构建问题,但不分享到 facebook。我从响应中获得了成功,并且安装了 Facebook 应用程序并登录。 Facebook 应用程序未打开。
          • 但是我使用的是flutter_share_me: ^1.2.0,这个错误仍然存​​在。
          猜你喜欢
          • 2013-12-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-07-02
          • 2021-03-08
          • 2019-06-10
          • 2019-03-26
          • 2020-09-05
          相关资源
          最近更新 更多