zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    前端UI框架
    Knowledge
    Microsoft SQL Server
    ASP.NET MVC
    将博客搬至CSDN
    python中的数据类型
    python基础知识
    接口和抽象类的区别
    面向对象的四大特征
    数据结构学习笔记
  • 原文地址:https://www.cnblogs.com/zxh1919/p/12564545.html
Copyright © 2011-2022 走看看