bedirhanssaglam / social_sharing_plus

A Flutter plugin for sharing content, images and videos to social media platforms like Facebook, Twitter, LinkedIn, WhatsApp, Reddit, and Telegram.
https://pub.dev/packages/social_sharing_plus
MIT License
1 stars 1 forks source link
dart flutter kotlin package plugin social-media swift video

social_sharing_plus is a Flutter plugin that allows you to share content, images and videos to various social media platforms like Facebook, Twitter, LinkedIn, WhatsApp, Reddit, and Telegram. This package provides a simple and unified interface for sharing across different apps, handling the nuances and differences of each platform.

🚀 Exciting News! You can now share multiple images and videos with text(optional)! 📸🎥

Table of contents

Setup

social_sharing_plus is supported on Android and iOS platforms. On the Android side, queries are made with the package names of the respective apps. This requires the addition of some Android-specific code.

Android (click to expand) **Add queries for app packages** You need to add the following queries to your app's AndroidManifest.xml file to ensure proper redirection to the respective social media apps: ```xml ``` **Media Sharing and Media Provider** This provides a specific file provider so that it can share files with other applications. To provide this functionality, you need to create an XML folder under the `android>app>src>main>res` folder and name it `filepaths.xml`. Then add the following code to the `filepaths.xml` file: ```xml ``` This XML file specifies what types of files your file provider can provide. Then add a `` tag in your AndroidManifest.xml file like this: ```xml ``` This `` tag specifies the authorization of your file provider and what file paths it provides. The `android:authorities` attribute specifies the identity of your file provider, and the `${applicationId}.fileprovider` value uses your application's credentials. This ensures the security of your application while allowing other applications to access files.
iOS (click to expand) No special configuration is needed for iOS.

dependencies:
  social_sharing_plus: ^1.2.3

Usage

import 'package:social_sharing_plus/social_sharing_plus.dart';

static const SocialPlatform platform = SocialPlatform.facebook;
String? _mediaPath; // add image or video path
List<String> _mediaPaths = []; // add image or video paths
bool isMultipleShare = true;

isMultipleShare
    ? await SocialSharingPlus.shareToSocialMediaWithMultipleMedia(
        platform,
        media: _mediaPaths,
        content: content,
        isOpenBrowser: false,
        onAppNotInstalled: () {
          ScaffoldMessenger.of(context)
            ..hideCurrentSnackBar()
            ..showSnackBar(SnackBar(
              content: Text('${platform.name.capitalize} is not installed.'),
            ));
        },
      )
    : await SocialSharingPlus.shareToSocialMedia(
        platform,
        content,
        media: _mediaPath,
        isOpenBrowser: true,
      );

Properties

Properties Required Default Description
socialPlatform true Platform you want to share on
content true Any text you want to share
media false The image or video you want to share
isOpenBrowser false true If the relevant application is not installed, it redirects to the link (browser) of the relevant application.
onAppNotInstalled false This method works if the application is not installed and the isOpenBrowser value is set to false. (For example: Showing a Snackbar like "The application is not installed on your device."...)
Properties Required Default Description
socialPlatform true Platform you want to share on
content false Any text you want to share
media true The image or video you want to share
isOpenBrowser false true If the relevant application is not installed, it redirects to the link (browser) of the relevant application.
onAppNotInstalled false This method works if the application is not installed and the isOpenBrowser value is set to false. (For example: Showing a Snackbar like "The application is not installed on your device."...)

Screenshots

Dart Version

  sdk: '>=2.17.0 <4.0.0'

Issues

Please file any issues, bugs, or feature requests as an issue on our GitHub page.

Contribute

If you would like to contribute to the plugin (e.g. by improving the documentation, solving a bug, or adding a cool new feature), please carefully review our contribution guide and send us your pull request.

Author

This social_sharing_plus plugin for Flutter is developed by Bedirhan SaÄŸlam. You can contact me at bedirhansaglam270@gmail.com

License

MIT