A Flutter plugin thats support share files to social media like TikTok, Instagram, Facebook, WhatsApp, Telegram and more others...

Overview

Social Share Kit

pub package GitHub Repo stars MIT License style: very good analysis

A Flutter plugin that's support share files to social media like Tiktok, Instagram, Facebook, WhatsApp, Telegram and more.

This plugin was heavily inspired on social_share.

🚧 CAVEAT: Work in progress 🚧

Table of Contents

📱 Supported platforms

  • Android 4.1+
  • iOS 11+

Features

  • Copy to clipboard
  • Native Share Options
  • Facebook Share
    • Story
    • Post
  • Instagram Share
    • Story (Image / Video )
    • Post
    • Direct Text
  • Messenger Share
    • Video
    • Image
    • Link
  • Telegram
    • Image
    • Video
  • TikTok Share
    • Green Screen
      • Video
      • Image
  • WhatsApp
    • Status
    • Image
    • Video

🗺 Requirements

Facebook

You will need an application registered with Facebook Developers. When setting up Android and iOS platforms, you will enter the Facebook AppID in some configuration files.

TikTok

You will need an application registered with TikTok Developers. When setting up Android and iOS platforms, you will enter the TikTok Client Key in some configuration files.

🤖 Android Setup

First, you need to declare a FileProvider in AndroidManifest.xml.

To use the package's FileProvider, you will have to replace any other low priority authorities, in manifest tag import android tools namespace:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.example">
</manifest>

Register the package's FileProvider authority by putting the following configuration in <manifest><application>:

<provider
    android:name="androidx.core.content.FileProvider"
    android:authorities="${applicationId}.dev.kaique.social_share_kit"
    android:exported="false"
    android:grantUriPermissions="true"
    tools:replace="android:authorities">
        <meta-data
            android:name="android.support.FILE_PROVIDER_PATHS"
            android:resource="@xml/file_provider_paths" />
</provider>

🕵 Tip: if you use other packages that use FileProvider, you can declare multiple authorities separated by semicolons, as in the example:

<!-- other attributes suppressed for better readability -->
<provider
    android:authorities="${applicationId}.dev.kaique.social_share_kit;${applicationId}.com.shekarmudaliyar.social_share">
</provider>

Now create a file named file_provider_paths.xml in res/xml, putting the following content:

<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
  <cache-path name="image" path="/"/>
</paths>

If you are going to share in Facebook, insert the following block of code in <manifest><application>:

<!-- Facebook App ID -->
<meta-data android:name="com.facebook.sdk.ApplicationId"
        android:value="INSERT YOUR APP ID FROM FACEBOOK DEVELOPERS"/>

If you are going to share in TikTok, insert the following block of code in <manifest><application>:

<!-- TikTok Client key -->
<meta-data android:name="TikTokAppID"
    android:value="INSERT YOUR CLIENT KEY FROM TIKTOK DEVELOPERS"/>

🍎 iOS Setup

First, you need to to register the url schemes that the application can handle

In the Info.plist file, add the following array configuration:

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>tiktokopensdk</string>
    <string>tiktoksharesdk</string>
    <string>snssdk1180</string>
    <string>snssdk1233</string>
    <string>instagram</string>
    <string>instagram-stories</string>
    <string>fb</string>
    <string>fbauth2</string>
    <string>fbshareextension</string>
    <string>fbapi</string>
    <string>facebook-reels</string>
    <string>facebook-stories</string>
    <string>fb-messenger-share-api</string>
    <string>fb-messenger</string>
    <string>tg</string>
    <string>whatsapp</string>
    <string>twitter</string>
</array>

If you are going to share in Facebook, insert the following block of code in Info.plist:

<key>FacebookAppID</key>
<string>INSERT YOUR APP ID FROM FACEBOOK DEVELOPERS</string>

If you are going to share in TikTok, insert the following block of code in Info.plist:

<key>TikTokAppID</key>
<string>INSERT YOUR CLIENT KEY FROM TIKTOK DEVELOPERS</string>

📚 Usage

📑 License

MIT License

You might also like...
A simple and customizable Android full-screen image viewer with shared image transition support,
A simple and customizable Android full-screen image viewer with shared image transition support, "pinch to zoom" and "swipe to dismiss" gestures

Stfalcon ImageViewer A simple and customizable full-screen image viewer with shared image transition support, "pinch to zoom" and "swipe to dismiss" g

Support extension to use Android ViewBinding quickly and smooth transform from kotlin-synthetic-extension.

ViewBinding Delegate Extension Support extension to use Android ViewBinding quickly and smooth transform from kotlin-synthetic-extension. Binding inst

3D animation examples for support-v4 Fragment transition.
3D animation examples for support-v4 Fragment transition.

FragmentAnimations Animation examples for support.v4.Fragment transition. These animations do not depends on any external libraries. Usage Example In

Support Floating Action Button transformation for Android
Support Floating Action Button transformation for Android

Fab Transformation This library supports Floating Action Button transformation in Material Design Guideline. Screenshot Sample App Installation Add th

Deprecated in favour of https://developer.android.com/reference/android/support/v4/view/animation/PathInterpolatorCompat.html

Deprecated: use https://developer.android.com/reference/android/support/v4/view/animation/PathInterpolatorCompat.html instead. android-cubic-bezier-in

A library support circular imageview with rotation animation
A library support circular imageview with rotation animation

Circular Imageview with Rotate Animation This is a fast and efficient open source custom imageview for Android that allow to easy implement disc anima

Image-search - An Image search android app with offline support
Image-search - An Image search android app with offline support

image-search Image search app built using bing image search API via paging 3. Fe

💳 A quick and easy flip view through which you can create views with two sides like credit cards, poker cards etc.
💳 A quick and easy flip view through which you can create views with two sides like credit cards, poker cards etc.

The article on how this library was created is now published. You can read it on this link here. →. 💳 EasyFlipView Built with ❤︎ by Wajahat Karim and

You can easily access the top of the screen in Android. Like a iPhone 6 & 6 Plus.
You can easily access the top of the screen in Android. Like a iPhone 6 & 6 Plus.

Reachability on Android Easy access on top. Like a iPhone 6 & 6 Plus. demo apk Usage Add dependencies compile 'com.github.sakebook:Reachability:0.2.0@

Owner
Kaique Gazola
Mobile Developer
Kaique Gazola
Android Library To Create Button With Multi Reactions like Facebook or Linkedin

ReactButton Android Library written in Java to Create ReactButton with Multi Reactions like Facebook or Linkedin ?? Default Reactions ?? Custom Reacti

Amr Hesham 103 Dec 15, 2022
A Simple Todo app design in Flutter to keep track of your task on daily basis. Its build on BLoC Pattern. You can add a project, labels, and due-date to your task also you can sort your task on the basis of project, label, and dates

WhatTodo Life can feel overwhelming. But it doesn’t have to. A Simple To-do app design in flutter to keep track of your task on daily basis. You can a

Burhanuddin Rashid 1k Jan 1, 2023
AndroidPhotoFilters aims to provide fast, powerful and flexible image processing instrument for creating awesome effects on any image media.

PhotoFiltersSDK PhotoFiltersSDK aims to provide fast, powerful and flexible image processing instrument for creating awesome effects on any image medi

Zomato 2.5k Dec 23, 2022
A Photo Editor library with simple, easy support for image editing using paints,text,filters,emoji and Sticker like stories.

PhotoEditor A Photo Editor library with simple, easy support for image editing using Paints, Text, Filters, Emoji and Sticker like stories. Features D

Burhanuddin Rashid 3.6k Jan 9, 2023
DuGuang 1k Dec 14, 2022
Animated-splash-screen - Animate your Splash Screen using Lottie files.

Animated Splash Screen This small project shows how you can add animation into your android projects or create beautiful looking Splash Screen or Laun

Aashish Ace 0 Jan 2, 2022
🍭🚀💗 Tutorials about animations with Animators, Animated Vector Drawables, Shared Transitions, and more

?????? Tutorials about animations with Animators, Animated Vector Drawables, Shared Transitions, and more

Smart Tool Factory 696 Dec 28, 2022
☯️Sophisticated and cool intro with Material Motion Animations(No more viewpager transformer or Memory leak)

Material Intro Sophisticated and cool intro with Material Motion Animations. Who's using Material Intro? ?? Check out who's using Material Intro Inclu

Ranbir Singh 34 Sep 8, 2022
Android Animation Easing Functions. Let's make animation more real!

Android Easing Functions This project is originally from my another project, AndroidViewAnimation, which is an animation collection, to help you make

代码家 2.5k Jan 4, 2023
Automatically manipulates the duration of animations dependent on view count. Quicksand .. the more you struggle.

QuickSand When showing a really enchanting explanatory animation to your users, but you know that after a while it'll get tedious and would stop users

Paul Blundell 385 Sep 9, 2022