flutter sharesdk实现跨平台分享

flutter sharesdk实现跨平台分享

 
flutter端

1.依赖sharesdk。

https://pub.dartlang.org/packages/sharesdk中下载sharesdk1.0.8demo,并将其放入我们的项目中本地引用。这里我将其放入plugins目录下。
添加下列代码到pubspec.yaml进行本地引用:

dependencies:
  sharesdk: 
    path: plugins/sharesdk-1.0.8

2.安装。

在flutter 中使用下列命令来安装:

$ flutter packages get

3.使用它。

现在你可以在Dart代码中使用sharesdk。
下面我们在main.dart中来实现微信分享功能:

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

void main() => runApp(ShareApp());

class ShareApp extends StatefulWidget {
  
android端

1.重新mobsdk.gradle文件来选择你需要使用的平台,我们这里只使用了微信。

apply plugin: 'com.mob.sdk'

MobSDK {
    appKey "2a6869394af80"
    appSecret "796421d6838fe1ecbef3b419d2c2bcb0"

    ShareSDK {
        //平台配置信息
        devInfo {

            Wechat {
                appId "wxcb24d644e340e9cc"
                appSecret "34a7656f86280f75e16cd9094a8a1f54"
            }
        }
    }
}

2.在Manifest清单文件中配置:tools:replace="android:name"

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="你的包名">
<application
   android:name = ".MyApplication"
   tools:replace="android:name">

3.编译过程中报错如下:

 

 
报错.png

 

屏蔽掉报错的内容即可!如果需要使用QQ,需把相应的代码还原!

注意:如果跳转不到微信,请注意包名以及keystore是否与微信开放平台中的注册信息一致。

iOS端

1.自定义需要导入的分享平台.
目前我们只加入了微信分享功能,所以需要重新编辑 sharesdk.podspec 文件设置 dependency。

#
# 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      = <<-DESC
ShareSDK is the most comprehensive Social SDK in the world,which share easily with 40+ platforms.
                       DESC
  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

2.在项目工程的Info.plist 中如图增加 MOBAppKey 和 MOBAppSecret 两个字段。

 

 
info.png

3.添加微信url scheme。

 

 
scheme.png

 

4.配置白名单。

 

 
白名单.png

效果图:

 

 
效果图1.jpeg

 

 
效果图2.jpeg
posted @ 2020-03-25 10:49  zxh91989  阅读(2253)  评论(0编辑  收藏  举报