share_social_media_plugin 1.1.6
share_social_media_plugin: ^1.1.6 copied to clipboard
Share social media plugin, share Line, Twitter, FB, Instagram and more!, I try develop step for step. Any suggestion please contact me.
Share social media plugin
Getting Started #
This project is a starting point for a Flutter plug-in package, a specialized package that includes platform-specific implementation code for Android and/or iOS.
For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.
Share text in your social media.
- Line (Android / iOS) π
- Twitter (Android / iOS) π
- Instagram (Android /iOS) π
Example #
Share in Line.
await ShareSocialMediaPlugin.shareLine("My share text");
Share in Twitter
//Set keys
final twitterLogin = new ShareSocialMediaPlugin(
consumerKey: "consumerKey",
consumerSecret: 'consumerSecret');
RaisedButton(
child: Text(titleTwitterButton, style: TextStyle(fontSize: 20)),
onPressed: () async {
//Platform in Android
if (Platform.isAndroid) {
var result = await twitterLogin.shareTwitter("conectado desde plugin");
print(result);
if(result != null){
if (result == "success"){
print("success!");
}else{
print("fail");
}
}
}
//Platform in iOS
else if (Platform.isIOS) {
var sessionTwitter = await twitterLogin.currentSessionIOS();
var tweet = await twitterLogin.shareTwitteriOS(
sessionTwitter["outhToken"],
sessionTwitter["oauthTokenSecret"],
"test cpmplete future",
twitterLogin.consumerKey,
twitterLogin.consumerSecret);
final response = json.decode(tweet.body);
if (response['text'] != null) {
print("success");
}else{
print("fail");
}
}
},
),
**Note For iOS Twitter In plist add:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>TwitterLoginSampleOAuth</string>
</array>
</dict>
</array>
Add in your Delegate
ios/Runner/AppDelegate.swift
import OAuthSwift
@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
GeneratedPluginRegistrant.register(with: self)
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
//Add this
override func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
if (url.host == "oauth-callback") {
OAuthSwift.handle(url: url)
}else{
OAuthSwift.handle(url: url)
}
return true
}
}
!IMPORTANT
In your developer.twitter.com app , you need add the next callback
-TwitterLoginSampleOAuth://
-twittersdk://
Instagram- Share stories (ios /android) #
##Android Read some image from flutter assets
RaisedButton(
onPressed: () async {
await ShareSocialMediaPlugin.shareInstagram("hello","assets/nofumar.jpg");
},
child: Text('Share in Instagram', style: TextStyle(fontSize: 20)),
)
Public image from album phone
RaisedButton(
onPressed: () async {
await ShareSocialMediaPlugin.shareInstagramAlbum();
},
child: Text('Share in Instagram from album', style: TextStyle(fontSize: 20)),
)
(For any case add this code in your AndroidManifest.xml)
android/app/src/main/AndroidManifest.xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
iOS #
π₯
RaisedButton(
onPressed: () async {
//shareInstagram("message","image","background");
await ShareSocialMediaPlugin.shareInstagram("hello","assets/my_image.jpg","assets/background");
},
child: Text('Share in Instagram', style: TextStyle(fontSize: 20)),
)
In your plist add
<key>LSApplicationQueriesSchemes</key>
<array>
<string>instagram-stories</string>
</array>
**The user needs to have instagram installed
Thank you!! πΊπΊπΊπΊπΊπΊ
π γγγγ¨γγγγγΎγ
γγγγ
γΎγγγγ
γΎγγγγ
γ’γγ³γγ
γγγγ¨γ Driglo β¨
Thank you for your repo https://github.com/bodnarrr/flutter_twitter_login/blob/master/android/src/main/java/com/bodnarrr/fluttertwitterlogin/fluttertwitterlogin/TwitterLoginPlugin.java