搜尋套件、儲存庫與 APP 分類

套件詳情v2.1.4

flutter_social_share_plugin

用於將內容分享至社群媒體的 Flutter 插件。您可以使用它分享至 Facebook、WhatsApp、Twitter、簡訊、郵件和系統分享介面。支援 URL 與文字。

AndroidiOS
近 30 天下載
967
喜歡數
16
Pub 分數
140

安裝套件

flutter pub add flutter_social_share_plugin

套件介紹

根據套件公開資料產生的選型評估,僅供參考。

一個 Flutter 插件,可輕鬆將文字和 URL 分享至 Facebook、WhatsApp、Twitter、簡訊、電子郵件以及系統分享介面等社群媒體平台。專為 Android 和 iOS 設計,簡化與原生分享功能的整合。此外,該插件提供跨平台的一致性介面,讓開發者能以最少的程式碼實作分享功能。非常適合需要快速在主流管道分發內容的應用。

適用情境

  • 分享文章中的連結
  • 在社交媒體上推廣內容
  • 透過 WhatsApp 發送訊息
  • 向用戶發送電子郵件內容
  • 使用系統共享對話框

主要特色

  • 支援多個平台
  • 分享文字和網址
  • 與原生共享整合
  • 簡單的共享API
  • 跨平台相容性

適合對象

  • 內容應用
  • 新聞閱讀器
  • 電子商務應用
  • 社交媒體工具
  • 用戶參與功能

使用建議

  • 需要平台特定的設定
  • 分享對話框的自定義選項有限
  • 取決於目標平台的應用安裝
  • 不支援圖片分享
  • 某些設備可能需要使用者權限

原始 README

以下為關聯原始碼儲存庫的 README 原文快照,最新內容請造訪原始碼儲存庫。

flutter_social_share_plugin

pub package style: lint

Flutter Plugin for sharing contents to social media.

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

support:

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

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_social_share_plugin as a dependency in your pubspec.yaml file.

Please check the latest version before installation.

dependencies:
  flutter:
    sdk: flutter
  # add flutter_social_share_plugin
  flutter_social_share_plugin: ^2.1.3

Setup

Android
Setup Whatsapp

Make sure you add whatsapp in AndroidManifest.xml.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
...
    <queries>
        <package android:name="com.whatsapp" />
    </queries>
...
</manifest>
Setup SMS

Make sure you add SMS in AndroidManifest.xml.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
...
    <uses-permission android:name="android.permission.SEND_SMS" />
...
</manifest>
Setup Instagram

Make sure you add SMS in AndroidManifest.xml.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
...
    <application>
...
   <provider
            android:name="androidx.core.content.FileProvider"
            android:authorities="${applicationId}.provider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/file_paths" />
        </provider>
...
    </application>
...
</manifest>
IOS
setup facebook

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

<key>LSApplicationQueriesSchemes</key>
	<array>
		<string>fbauth2</string>
		<string>fb</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.

<key>LSApplicationQueriesSchemes</key>
        <array>
            <string>whatsapp</string>
        </array>
Setup Twiter
<key>LSApplicationQueriesSchemes</key>
        <array>
            <string>twitter</string>
        </array>
Setup SMS
<key>LSApplicationQueriesSchemes</key>
        <array>
            <string>sms</string>
        </array>

Usage

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

Methods

facebook
shareToFacebook({String msg, String imagePath})
Instagram
shareToInstagram({String filePath})
twitter
shareToTwitter({String msg, String url})
whatsapp
shareToWhatsApp({String msg,String imagePath})
shareToWhatsApp4Biz({String msg,String imagePath}) (only android)
telegram
shareToTelegram({String msg})
Sms
shareToSms({String msg})
mail
shareToMail({required String mailBody,String mailSubject,List mailRecipients})
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
String mailBody Text mail Body
String mailSubject Text Mail subject
List mailRecipients List of string for mail recipients

Example

   Container(
          width: double.infinity,
          child: Column(
            children: <Widget>[
              const SizedBox(height: 30),
              ElevatedButton(onPressed: pickImage, child: Text('Pick Image')),
              ElevatedButton(onPressed: pickVideo, child: Text('Pick Video')),
              ElevatedButton(
                  onPressed: () => onButtonTap(Share.twitter),
                  child: const Text('share to twitter')),
              ElevatedButton(
                onPressed: () => onButtonTap(Share.whatsapp),
                child: const Text('share to WhatsApp'),
              ),
              ElevatedButton(
                onPressed: () => onButtonTap(Share.whatsapp_business),
                child: const Text('share to WhatsApp Business'),
              ),
              ElevatedButton(
                onPressed: () => onButtonTap(Share.facebook),
                child: const Text('share to  FaceBook'),
              ),
              ElevatedButton(
                onPressed: () => onButtonTap(Share.share_instagram),
                child: const Text('share to Instagram'),
              ),
              ElevatedButton(
                onPressed: () => onButtonTap(Share.share_telegram),
                child: const Text('share to Telegram'),
              ),
              ElevatedButton(
                onPressed: () => onButtonTap(Share.share_system),
                child: const Text('share to System'),
              ),
              ElevatedButton(
                onPressed: () => onButtonTap(Share.share_sms),
                child: const Text('share to sms'),
              ),
              ElevatedButton(
                onPressed: () => onButtonTap(Share.share_mail),
                child: const Text('share to mail'),
              ),
            ],
          ),
        ),

Contributor

Checkout the full example here

所屬分類

原始碼儲存庫

使用此套件的專案

暫無相關資料。