# jshare-flutter-plugin **Repository Path**: onlymry/jshare-flutter-plugin ## Basic Information - **Project Name**: jshare-flutter-plugin - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-06-21 - **Last Updated**: 2021-06-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # jshare-flutter-plugin JIGUANG officially supported JShare SDK Flutter plugin (Android & iOS). 极光分享官方支持的 Flutter 插件(Android & iOS)。 ### 一、安装 在工程 pubspec.yaml 中加入 dependencies + github 集成 ``` dependencies: jshare_flutter_plugin: git: url: git://github.com/jpush/jshare-flutter-plugin.git ref: master ``` + pub 集成 ``` dependencies: jshare_flutter_plugin: 2.1.2 ``` ### 二、配置 #### 2.1 Android: ##### 2.1.1 gradle 配置 在 `example/android/app/build.gradle` 中添加下列代码: ```groovy android: { .... defaultConfig { applicationId "替换成自己应用 ID" ... ndk { //选择要添加的对应 cpu 类型的 .so 库。 abiFilters 'armeabi', 'armeabi-v7a', 'x86', 'x86_64', 'mips', 'mips64', 'arm64-v8a', } manifestPlaceholders = [ JPUSH_PKGNAME : applicationId, JPUSH_APPKEY : "appkey", // NOTE: JPush 上注册的包名对应的 Appkey. JPUSH_CHANNEL : "developer-default", //暂时填写默认值即可. ] } } ``` ##### 2.1.2 配置微信平台回调 在你的包名相应目录下新建一个wxapi目录,并在该wxapi目录下新增一个WXEntryActivity类,该类继承自WeChatHandleActivity(例如应用程序的包名为cn.jiguang.share.demo,则新添加的类如下图所示) ![](./res/set_wxapi.png) 注意: 如果复写了onCreate方法、onNewIntent方法,那么必须调用父类方法,否者无法获取分享结果,例如: ``` @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); } ``` + 并在 manifest 文件里面加上exported属性,设置为true,例如: ``` ``` ##### 2.1.3 配置Facebook平台 + 在`example/android/app/src/main/` 目录下的 `manifest` 文件里面添加 `Facebook`的`ContentProvider`配置: ``` ``` ***注意:*** `provider`的`authorities`必须为`"com.facebook.app.FacebookContentProvider"+"AppId"`。 + 如果需要获取`facebook`上传图片、视频结果可自定义`BroadCastReceiver`,继承`FacebookBroadcastReceiver`,复写`onSuccessfulAppCall、onFailedAppCall`方法: ``` ``` ***注意***: `receiver`的`action`必须为`"com.facebook.platform.AppCallResultBroadcast"`。 #### 2.2 iOS iOS 的功能目录为`example/ios/` ##### 2.2.1 配置 ApplicationQueriesSchemes 在 `iOS9/10` 下就需要增加一个应用可跳转的白名单,即 `LSApplicationQueriesSchemes`,否则将在 `SDK` 判断是否跳转时用到的`canOpenURL` 时返回 NO,进而只进行 `webview` 分享/分享失败。 在`example/ios/Runner/`目录中的`info.plist` 中加入应用白名单: + 右键 `info.plist` + 选择 source code + 添加如下内容: ``` LSApplicationQueriesSchemes wechat weixin sinaweibohd sinaweibo sinaweibosso weibosdk weibosdk2.5 mqqapi mqq mqqOpensdkSSoLogin mqqconnect mqqopensdkdataline mqqopensdkgrouptribeshare mqqopensdkfriend mqqopensdkapi mqqopensdkapiV2 mqqopensdkapiV3 mqqopensdkapiV4 mqzoneopensdk wtloginmqq wtloginmqq2 mqqwpa mqzone mqzonev2 mqzoneshare wtloginqzone mqzonewx mqzoneopensdkapiV2 mqzoneopensdkapi19 mqzoneopensdkapi mqqbrowser mttbrowser fbapi fb-messenger-api fbauth2 fbshareextension twitter twitterauth JChatPro ``` ##### 2.2.2 添加 URL Types + 各个平台的 URL Schemes 格式说明: ![](./res/set_ios_scheme.jpg) + URL Types 设置 Xcode 打开工程 `example/ios/Runner.xcworkspace`目录中的 [TARGETS] -> [Info] 中设置: ![](./res/set_ios_scheme2.png) ##### 2.3 iOS/Android 详细集成配置文档 + [iOS 集成配置](https://docs.jiguang.cn/jshare/client/iOS/ios_sdk/) + [Android 集成配置](https://docs.jiguang.cn/jshare/client/Android/android_sdk/) ### 三、使用 ```dart import 'package:jshare_flutter_plugin/jshare_flutter_plugin.dart'; ``` ### APIs **注意** : 需要先调用 JShare.setup 来初始化插件,才能保证其他功能正常工作。 [参考](./documents/APIs.md)