sharesdk 1.1.8

  • Readme
  • Changelog
  • Example
  • Installing
  • 75

Document Language: English | 中文

ShareSDK For Flutter #

ShareSDK is a social sharing component that provides social functions for apps, like authorization and share, and has social statistical analysis management background. #

supported original ShareSDK minimum version:

introduce: http://www.mob.com/product/sharesdk

plugin homepage: https://pub.dartlang.org/packages/sharesdk

official document: http://wiki.mob.com/快速集成/

Getting Started #

Refer to the official document

If you need to customize the platforms:

iOS #

You need to editor sharesdk.podspec , please refer to official website document for supported platforms.

#
# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html
#
Pod::Spec.new do |s|
s.name             = 'sharesdk'
s.version          = '0.0.1'
s.summary          = 'flutter plugin for sharesdk.'
s.description      = 'ShareSDK is the most comprehensive Social SDK in the world,which share easily with 40+ platforms.'
s.homepage         = 'http://www.mob.com'
s.license          = { :file => '../LICENSE' }
s.author           = { 'Mob' => 'mobproducts@163.com' }
s.source           = { :path => '.' }
s.source_files = 'Classes/**/*'
s.public_header_files = 'Classes/**/*.h'
s.dependency 'Flutter'
s.dependency 'mob_sharesdk'
#  s.dependency 'mob_sharesdk/ShareSDKUI'
#  s.dependency 'mob_sharesdk/ShareSDKPlatforms/QQ'
#  s.dependency 'mob_sharesdk/ShareSDKPlatforms/SinaWeibo'
#  s.dependency 'mob_sharesdk/ShareSDKPlatforms/WeChat'
#  s.dependency 'mob_sharesdk/ShareSDKPlatforms/Facebook'
#  s.dependency 'mob_sharesdk/ShareSDKPlatforms/Twitter'

s.ios.deployment_target = '8.0'
end

Then you need to configure Appkey and AppSecret in info.plist according to the official document, as well as the whitelist and urlScheme of each platform.

Android #

You need to edit build.gradle, mobsdk.gradle file again to select the platform you need to use, For specific supported platforms, please refer to official website technical documentation To meet the requirements of the example project, you need to configure at least the following platforms:

build.gradle

buildscript {
    repositories {
                    google()
                    jcenter()
                    maven {
                    url "http://mvn.mob.com/android"
                    }
                 }

    dependencies {
                    classpath 'com.android.tools.build:gradle:3.1.2'
                    classpath 'com.mob.sdk:MobSDK:+'
                 }
}

mobsdk.gradle

MobSDK {
    appKey "moba6b6c6d6"
    appSecret "b89d2427a3bc7ad1aea1e1e8c1d36bf3"

        ShareSDK {

            // platform configuration information
            devInfo {
                        QQ {
                        id 7
                        sortId 7
                        appId "100371282"
                        appKey "aed9b0303e3ed1e27bae87c33761161d"
                        shareByAppClient true
                        bypassApproval false
                        enable true
                        }

                        SinaWeibo {
                        id 1
                        sortId 1
                        appKey "568898243"
                        appSecret "38a4f8204cc784f81f9f0daaf31e02e3"
                        callbackUri "http://www.sharesdk.cn"
                        shareByAppClient true
                        enable true
                        }

                        Wechat {
                        id 4
                        sortId 4
                        appId "wx4868b35061f87885"
                        appSecret "64020361b8ec4c99936c0e3999a9f249"
                        userName "gh_afb25ac019c9"
                        path "pages/index/index.html?id=1"
                        withShareTicket true
                        miniprogramType 0
                        bypassApproval false
                        enable true
                        }

                        Facebook {
                        id 8
                        sortId 8
                        appKey "1412473428822331"
                        appSecret "a42f4f3f867dc947b9ed6020c2e93558"
                        callbackUri "https://mob.com"
                        shareByAppClient true
                        enable true
                        }

                        Twitter {
                        id 9
                        sortId 9
                        appKey "viOnkeLpHBKs6KXV7MPpeGyzE"
                        appSecret "NJEglQUy2rqZ9Io9FcAU9p17omFqbORknUpRrCDOK46aAbIiey"
                        callbackUri "http://mob.com"
                        shareByAppClient true
                        enable true
                        }
                    }
                }
}

0.0.1 #

  • Add iOS bridge.

1.0.0 #

  • Add android bridge
  • Modify ReadMe.md

1.0.5 #

  • Update the document

1.0.6 #

  • Update registration instructions

1.0.7 #

  • Update interfaces

1.0.8 #

  • Add sina link card share function

1.0.9 #

  • Update docs and interfaces

1.1.0 #

  • Repair onekeyshare bug
  • Added access to user information interface

1.1.1 #

  • Get user information interface new return token field

1.1.2 #

  • iOS:Fixed an invalid API for getUserInfo on iOS
  • Android: Return personal information to add a new database field

1.1.3 #

  • iOS:Added access interface to judge whether the client exists or not
  • Android:fix bug

1.1.4 #

  • Remake new plugin for iOS Swift project support. We strongly recommended you use the new sharesdk_plugin . Thank you !

1.1.7 #

  • update for remake.

1.1.8 #

  • update README

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';
import './home.dart';

void main() => runApp(new MyApp());

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => new _MyAppState();
}

class _MyAppState extends State<MyApp> {

  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      home:  HomePage()
    );
  }
}

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  sharesdk: ^1.1.8

2. Install it

You can install packages from the command line:

with Flutter:


$ flutter pub get

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:sharesdk/sharesdk.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
50
Health:
Code health derived from static analysis. [more]
99
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
100
Overall:
Weighted score of the above. [more]
75
Learn more about scoring.

We analyzed this package on Jul 2, 2020, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.8.4
  • pana: 0.13.9+1
  • Flutter: 1.17.3

Analysis suggestions

Package does not support Flutter platform linux

Because of import path [package:sharesdk/sharesdk.dart]

Package does not support Flutter platform macos

Because of import path [package:sharesdk/sharesdk.dart]

Package does not support Flutter platform web

Because of import path [package:sharesdk/sharesdk.dart]

Package does not support Flutter platform windows

Because of import path [package:sharesdk/sharesdk.dart]

Package not compatible with SDK dart

because of import path [sharesdk]

Health suggestions

Fix lib/sharesdk_interface.dart. (-1 points)

Analysis of lib/sharesdk_interface.dart reported 2 hints:

line 73 col 26: This function has a return type of 'Future

line 87 col 26: This function has a return type of 'Future

Format lib/sharesdk_defines.dart.

Run flutter format to format lib/sharesdk_defines.dart.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.0.0-dev.68.0 <3.0.0
flutter 0.0.0
Transitive dependencies
collection 1.14.12 1.14.13
meta 1.1.8 1.2.0
sky_engine 0.0.99
typed_data 1.1.6 1.2.0
vector_math 2.0.8