繁体   English   中英

如何将 Flutter 应用中的帖子分享到 inkedIn、facebook 等社交媒体平台?

[英]How one can share post from flutter app to social media platforms like inkedIn, facebook and etc?

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

您可以使用 Flutter Share Plugin

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

您也可以使用Firebase 动态链接将用户重定向到您的应用。

我不知道 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)'

您也可以使用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包(版本 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")
    
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM