搜索插件、代码仓与 APP 分类

插件详情v1.4.0

flutter_share_me

用于将内容分享到社交媒体的 Flutter 插件。您可以使用它将内容分享到 Facebook、WhatsApp、Twitter 和系统共享界面。支持 URL 和文本。

AndroidiOS
近 30 天下载
702
喜欢数
187
Pub 分数
120

安装插件

flutter pub add flutter_share_me

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

Flutter Share Me 是一个 Flutter 插件,可将文本和 URL 共享到 Facebook、WhatsApp 和 Twitter 等社交媒体平台,以及系统的原生共享界面。它通过最少的设置简化了跨平台共享,支持 Android 和 iOS。该插件为开发者提供了一致的 API,以便在应用中集成共享功能,而无需管理平台特定的代码。非常适合需要快速内容共享功能的应用。

适合场景

  • 在应用内分享链接
  • 发布文字更新到社交网络
  • 集成系统共享对话框
  • 启用用户生成内容共享
  • 添加社交分享按钮
  • 通过消息应用推广内容

主要特点

  • 支持 Facebook、WhatsApp、Twitter 和系统分享
  • 分享URL和纯文本
  • 跨平台兼容性(Android 和 iOS)
  • 简单 API 集成
  • 无需平台特定代码
  • 内置的系统共享界面回退

适合对象

  • 社交媒体应用
  • 内容发布应用
  • 新闻或博客应用
  • 带有产品分享功能的电子商务应用
  • 需要轻松用户共享的应用程序

使用建议

  • Android 上需要正确的权限
  • 某些平台可能需要额外的配置
  • 限制为预定义的共享目标
  • 依赖外部应用程序的可用性
  • 不适合复杂的共享工作流
  • 用户必须安装目标应用

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

flutter_share_me

pub package style: lint

Flutter Plugin for sharing contents to social media.

You can use it share to Facebook , Instagram , WhatsApp(WhatsAppBusiness) , Twitter, telegram And System Share UI. Support Url and Text.

support:

  • Android & iOS : Facebook,WhatsApp(WhatsAppBusiness),Twitter,Instagram,System Share

Note: This plugin is still under development, and some APIs might not be available yet.
Feedback and Pull Requests are most welcome!

Getting Started

add flutter_share_me as a dependency in your pubspec.yaml file.

Please check the latest version before installation.

dependencies:
  flutter:
    sdk: flutter
  # add flutter_share_me
  flutter_share_me: ^0.11.0

Setup

Android

Add "facebook app id" to the application tag of AndroidManifest.xml

    <application>
       ...
       //add this 
        <meta-data
            android:name="com.facebook.sdk.ApplicationId"
            android:value="@string/facebook_app_id" />
            
        <provider
            android:name="com.facebook.FacebookContentProvider"
            android:authorities="com.facebook.app.FacebookContentProvider[facebook_app_id]"
            android:exported="false" />
    </application>

string.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Replace "343254889799245" with your Facebook App ID here. -->
    <string name="facebook_app_id">343254889799245</string>
</resources>
IOS
setup facebook

make sure you add below deatils in your plist file.

<key>FacebookAppID</key>
<string>fbid</string>
<key>CFBundleURLTypes</key>
	<array>
		<dict>
			<key>CFBundleURLSchemes</key>
			<array>
				<string>fb-your-fb-id</string>
			</array>
		</dict>
	</array>

Note-: Make sure you add fb in at start of your fb Id in CFBundleURLSchemes.

Add below value in url scheme(Refer to example).

	<array>
		<string>fbauth2</string>
		<string>fbapi</string>
		<string>fbapi20130214</string>
		<string>fbapi20130410</string>
		<string>fbapi20130702</string>
		<string>fbapi20131010</string>
		<string>fbapi20131219</string>
		<string>fbapi20140410</string>
		<string>fbapi20140116</string>
		<string>fbapi20150313</string>
		<string>fbapi20150629</string>
		<string>fbapi20160328</string>
		<string>fbauth</string>
		<string>fb-messenger-share-api</string>
		<string>fbauth2</string>
		<string>fbshareextension</string>
		<string>tg</string>
	</array>
Setup Whatsapp

Make sure you add whatsapp in plist.

        <array>
            <string>whatsapp</string>
        </array>
Setup Twiter
        <array>
            <string>twitter</string>
        </array>

Usage

Add the following imports to your Dart code:
import 'package:flutter_share_me/flutter_share_me.dart';

Methods

facebook
shareToFacebook({String msg, String url})
twitter
shareToTwitter({String msg, String url})
whatsapp
shareToWhatsApp({String msg,String imagePath})
shareToWhatsApp4Biz({String msg,String imagePath}) (only android)
shareWhatsAppPersonalMessage(String message ,String phoneNumber)
instagram
shareToInstagram({String filePath, FileType fileType})
telegram
shareToTelegram({String msg})
system
shareToSystem({String msg}) use system share ui

These methods will return "success" if they successfully jump to the corresponding app.

Parameter Description
String msg Text message
String url Url url
String imagePath The local path of the image

Example

 Container(
          width: double.infinity,
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.center,
            children: <Widget>[
              SizedBox(height: 30),
              ElevatedButton(
                  onPressed: () => onButtonTap(Share.twitter),
                  child: Text('share to twitter')),
              ElevatedButton(
                onPressed: () => onButtonTap(Share.whatsapp),
                child: Text('share to WhatsApp'),
              ),
              ElevatedButton(
                onPressed: () => onButtonTap(Share.whatsapp_business),
                child: Text('share to WhatsApp  Business'),
              ),
              ElevatedButton(
                onPressed: () => onButtonTap(Share.facebook),
                child: Text('share to  FaceBook'),
              ),
              ElevatedButton(
                onPressed: () => onButtonTap(Share.share_system),
                child: Text('share to System'),
              ),
            ],
          ),
        )
Checkout the full example here

所属分类

依赖

依赖清单 1 项

源码仓库

使用此插件的项目