パッケージ、リポジトリ、アプリカテゴリを検索

パッケージ詳細v0.4.2+2

social_share_plugin

Facebook および Instagram へのソーシャル共有用の Flutter プラグイン。

AndroidiOS
30日間ダウンロード
10
いいね数
48
Pub ポイント
150

パッケージをインストール

flutter pub add social_share_plugin

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

social_share_plugin は、Android および iOS アプリから Facebook や Instagram にコンテンツを直接共有できる Flutter パッケージです。ソーシャルメディア共有機能の統合を簡素化し、ユーザーが最小限のコードでテキスト、画像、またはリンクを共有できるようにします。プラグインはネイティブプラットフォーム機能を利用しており、互換性とスムーズなユーザーエクスペリエンスを確保します。複雑な設定なしに簡単なソーシャル共有を実現したい開発者向けに設計されています。このパッケージはオープンソースであり、GitHub でメンテナンスされており、主要な2つのモバイルプラットフォームをサポートしています。

用途

  • Instagramに画像を共有する
  • Facebookにリンクを投稿する
  • 写真アプリにおけるソーシャル共有の統合
  • 迅速なコンテンツ配信の有効化
  • モバイルアプリに共有ボタンを追加する

主な機能

  • ネイティブな Android および iOS サポート
  • テキストと画像を共有するためのシンプルなAPI
  • Facebook および Instagram との直接統合
  • オープンソースでコミュニティがメンテナンスしています
  • 軽量で統合が簡単

適している対象

  • モバイルアプリ開発者
  • ソーシャルメディア統合ツール
  • コンテンツ共有機能
  • Android および iOS をターゲットとしたクロスプラットフォームアプリ
  • 最小限のサードパーティ依存関係を必要とするアプリ

注意事項

  • Facebook および Instagram のネイティブ SDK が必要です
  • Android および iOS プラットフォームに限定
  • 画像アクセスに追加の権限が必要になる場合があります
  • 外部アプリの利用可能性に依存しています(例:Instagramがインストールされている)
  • Facebook および Instagram 以外の他のソーシャルプラットフォームへの対応はありません

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

Social Share Flutter Plugin

Puff Puff Dev Puff Puff Dev

Developed with 💙 by

Pub coverage style: very good analysis License: MIT

Social Share to Facebook and Instagram and Twitter.

Getting Started

To get things up and running, you'll have to declare a pubspec dependency in your Flutter project. Also some minimal Android & iOS specific configuration must be done, otherise your app will crash.

Open or Create your Flutte Project

See the installation instructions on pub.

Android

In addition, you need to do the following:

For details on these requirements, see Android - Getting Started.

After you've done that, find out what your Facebook App ID is. You can find your Facebook App ID in your Facebook App's dashboard in the Facebook developer console.

Once you've got the Facebook App ID, you'll have to do couple of preparation moves.

Add permission to allow package manager query if app is installed, should be added to the manifest root tag

<uses-permission android:name="android.permission.GET_PACKAGE_SIZE"/>

Add queries as childs of manifest root tag also

<queries>
   <package android:name="com.twitter.android" />
   <package android:name="com.facebook.katana" />
   <package android:name="com.instagram.android" />
</queries>

I prefer to pass this ID to manifest throght gradle manifestPlaceholders. You can choose any way you like, just to be sure put the ID in correct places, like in example below. Put all these inside the application tag and your Facebook App ID instead of ${facebookAppId} variable

<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="${facebookAppId}"/>

<meta-data android:name="com.facebook.sdk.ApplicationName" android:value="${applicationName}"/>

<activity android:name="com.facebook.FacebookActivity" android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" android:label="${applicationName}" />

<provider android:authorities="com.facebook.app.FacebookContentProvider${facebookAppId}" android:name="com.facebook.FacebookContentProvider" android:exported="true"/>

<provider android:name="androidx.core.content.FileProvider" android:authorities="${applicationId}.social.share.fileprovider" android:grantUriPermissions="true" android:exported="false">
    <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/provider_paths"/>
</provider>

Need to add these variables to string resources as well, i've added them from gradle with resValue.

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">Example</string>
    <!-- Replace "000000000000" with your Facebook App ID here. Same to the secret -->
    <string name="facebook_app_id">000000000000</string>
    <string name="facebook_client_token">00000000000000000000000000000000</string>
</resources>

And the last one is our provider paths:

<your project root>/android/app/src/main/res/xml/provider_paths.xml

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

iOS

Before you add sharing to your app you need to:

  • Add the Facebook SDK for iOS to your mobile development environment
  • Configure and link your Facebook app ID
  • Add your app ID, display name, and human-readable reason for photo access to your app's .plist file.

After you've done that, find out what your Facebook App ID is. You can find it out in your Facebook App's dashboard in the Facebook developer console.

Once you've got the ID, then you'll just have to copy-paste the following to your Info.plist file, before the ending </dict></plist> tags.

<your project root>/ios/Runner/Info.plist

<key>CFBundleURLTypes</key>
<array>
   <dict>
       <key>CFBundleURLSchemes</key>
       <array>
           <!--
           Replace "000000000000" with your Facebook App ID here.
           **NOTE**: The scheme needs to start with `fb` and then your ID.
           -->
           <string>fb000000000000</string>
       </array>
   </dict>
</array>

<key>FacebookAppID</key>

<!-- Replace "000000000000" with your Facebook App ID here. -->
<string>000000000000</string>
<key>FacebookDisplayName</key>

<!-- Replace "YOUR_APP_NAME" with your Facebook App name. -->
<string>YOUR_APP_NAME</string>

<key>LSApplicationQueriesSchemes</key>
<array>
   <string>instagram</string>
   <string>fbapi</string>
   <string>fb-messenger-share-api</string>
   <string>fbauth2</string>
   <string>fbshareextension</string>
   <string>twitter</string>
</array>

Congratulations! We've just finished setup!!

How do I use it?

Instagram
import 'package:social_share_plugin/social_share_plugin.dart';
File file = await imagePicker.pickImage(source: ImageSource.gallery);
await shareToFeedInstagram(path: file.path);
Facebook
import 'package:social_share_plugin/social_share_plugin.dart';
final file = await imagePicker.pickImage(source: ImageSource.gallery);
await shareToFeedFacebook(path: file.path);
await shareToFeedFacebookLink(quote: 'quote', url: 'https://flutter.dev');
Twitter
import 'package:social_share_plugin/social_share_plugin.dart';
await shareToTwitterLink(text: 'text', url: 'https://flutter.dev');

That's it, thank you for paying attention!

Generated by the Very Good CLI 🤖

カテゴリー

依存関係

依存関係一覧 3 件

  • social_share_plugin_android^0.1.0+1
  • social_share_plugin_ios^0.1.0+1
  • social_share_plugin_platform_interface^0.1.0+1

ソースリポジトリ

このパッケージを使用しているプロジェクト

データはまだありません。