{"id":20732431,"url":"https://github.com/jpush/jshare-flutter-plugin","last_synced_at":"2025-07-29T07:12:15.867Z","repository":{"id":51006652,"uuid":"228738753","full_name":"jpush/jshare-flutter-plugin","owner":"jpush","description":"JShare's officially supported Flutter plugin (Android \u0026 iOS). 极光分享官方支持的 Flutter 插件（Android \u0026 iOS）。","archived":false,"fork":false,"pushed_at":"2021-05-26T05:43:02.000Z","size":847,"stargazers_count":24,"open_issues_count":12,"forks_count":17,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-30T04:05:28.637Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jpush.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-12-18T02:13:14.000Z","updated_at":"2024-01-27T00:28:50.000Z","dependencies_parsed_at":"2022-09-05T08:51:33.763Z","dependency_job_id":null,"html_url":"https://github.com/jpush/jshare-flutter-plugin","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpush%2Fjshare-flutter-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpush%2Fjshare-flutter-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpush%2Fjshare-flutter-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpush%2Fjshare-flutter-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jpush","download_url":"https://codeload.github.com/jpush/jshare-flutter-plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250522827,"owners_count":21444607,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-17T05:19:23.199Z","updated_at":"2025-04-23T22:20:32.209Z","avatar_url":"https://github.com/jpush.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# jshare-flutter-plugin\nJIGUANG officially supported JShare SDK Flutter plugin (Android \u0026amp; iOS). 极光分享官方支持的 Flutter 插件（Android \u0026amp; iOS）。\n\n\n### 一、安装\n\n在工程 pubspec.yaml 中加入 dependencies\n\n+ github 集成 \n\n``` \ndependencies:\n  jshare_flutter_plugin:\n    git:\n      url: git://github.com/jpush/jshare-flutter-plugin.git\n      ref: master\n```\n\n+ pub 集成\n\n```\ndependencies:\n  jshare_flutter_plugin: 2.1.2\n```\n\n### 二、配置\n\n#### 2.1 Android:\n\n##### 2.1.1 gradle 配置\n\n在 `example/android/app/build.gradle` 中添加下列代码：\n\n```groovy\nandroid: {\n  ....\n  defaultConfig {\n    applicationId \"替换成自己应用 ID\"\n    ...\n    ndk {\n\t//选择要添加的对应 cpu 类型的 .so 库。\n\tabiFilters 'armeabi', 'armeabi-v7a', 'x86', 'x86_64', 'mips', 'mips64', 'arm64-v8a',        \n    }\n\n    manifestPlaceholders = [\n        JPUSH_PKGNAME : applicationId,\n        JPUSH_APPKEY : \"appkey\", // NOTE: JPush 上注册的包名对应的 Appkey.\n        JPUSH_CHANNEL : \"developer-default\", //暂时填写默认值即可.\n    ]\n  }    \n}\n```\n\n##### 2.1.2 配置微信平台回调\n\n在你的包名相应目录下新建一个wxapi目录，并在该wxapi目录下新增一个WXEntryActivity类，该类继承自WeChatHandleActivity（例如应用程序的包名为cn.jiguang.share.demo，则新添加的类如下图所示）\n![](./res/set_wxapi.png)\n\n注意： 如果复写了onCreate方法、onNewIntent方法，那么必须调用父类方法，否者无法获取分享结果，例如：\n\n```\n@Override\nprotected void onCreate(Bundle savedInstanceState) {\n    super.onCreate(savedInstanceState);\n}\n\n@Override\nprotected void onNewIntent(Intent intent) {\n    super.onNewIntent(intent);\n}\n```\n+ 并在 manifest 文件里面加上exported属性，设置为true，例如：\n\n```\n\u003cactivity\n    android:name=\".wxapi.WXEntryActivity\"\n    android:theme=\"@android:style/Theme.Translucent.NoTitleBar\"\n    android:exported=\"true\" /\u003e\n```\n\n##### 2.1.3 配置Facebook平台\n+ 在`example/android/app/src/main/` 目录下的 `manifest` 文件里面添加 `Facebook`的`ContentProvider`配置：\n\n```\n\u003cprovider\n    android:authorities=\"com.facebook.app.FacebookContentProvider您申请的facebook的AppId\"\n    android:name=\"cn.jiguang.share.facebook.FacebookContentProvider\"\n    android:exported=\"true\"\n/\u003e\n```\n***注意：*** `provider`的`authorities`必须为`\"com.facebook.app.FacebookContentProvider\"+\"AppId\"`。\n+ 如果需要获取`facebook`上传图片、视频结果可自定义`BroadCastReceiver`，继承`FacebookBroadcastReceiver`，复写`onSuccessfulAppCall、onFailedAppCall`方法：\n\n```\n\u003creceiver android:name=\"cn.jiguang.share.demo.FaceBookUploadReceiver\"\u003e\n    \u003cintent-filter\u003e\n        \u003caction android:name=\"com.facebook.platform.AppCallResultBroadcast\" /\u003e\n    \u003c/intent-filter\u003e\n\u003c/receiver\u003e\n```\n***注意***： `receiver`的`action`必须为`\"com.facebook.platform.AppCallResultBroadcast\"`。\n\n#### 2.2 iOS\niOS 的功能目录为`example/ios/`\n##### 2.2.1 配置 ApplicationQueriesSchemes\n\n在 `iOS9/10` 下就需要增加一个应用可跳转的白名单，即 `LSApplicationQueriesSchemes`，否则将在 `SDK` 判断是否跳转时用到的`canOpenURL` 时返回 NO，进而只进行 `webview` 分享/分享失败。\n\n在`example/ios/Runner/`目录中的`info.plist` 中加入应用白名单：\n\n+ 右键 `info.plist`\n+ 选择 source code\n+ 添加如下内容：\n\n```\n\u003ckey\u003eLSApplicationQueriesSchemes\u003c/key\u003e\n\u003carray\u003e\n    \u003c!-- 微信 URL Scheme 白名单--\u003e\n    \u003cstring\u003ewechat\u003c/string\u003e\n    \u003cstring\u003eweixin\u003c/string\u003e\n\n    \u003c!-- 新浪微博 URL Scheme 白名单--\u003e\n    \u003cstring\u003esinaweibohd\u003c/string\u003e\n    \u003cstring\u003esinaweibo\u003c/string\u003e\n    \u003cstring\u003esinaweibosso\u003c/string\u003e\n    \u003cstring\u003eweibosdk\u003c/string\u003e\n    \u003cstring\u003eweibosdk2.5\u003c/string\u003e\n\n    \u003c!-- QQ、Qzone URL Scheme 白名单--\u003e\n    \u003cstring\u003emqqapi\u003c/string\u003e\n    \u003cstring\u003emqq\u003c/string\u003e\n    \u003cstring\u003emqqOpensdkSSoLogin\u003c/string\u003e\n    \u003cstring\u003emqqconnect\u003c/string\u003e\n    \u003cstring\u003emqqopensdkdataline\u003c/string\u003e\n    \u003cstring\u003emqqopensdkgrouptribeshare\u003c/string\u003e\n    \u003cstring\u003emqqopensdkfriend\u003c/string\u003e\n    \u003cstring\u003emqqopensdkapi\u003c/string\u003e\n    \u003cstring\u003emqqopensdkapiV2\u003c/string\u003e\n    \u003cstring\u003emqqopensdkapiV3\u003c/string\u003e\n    \u003cstring\u003emqqopensdkapiV4\u003c/string\u003e\n    \u003cstring\u003emqzoneopensdk\u003c/string\u003e\n    \u003cstring\u003ewtloginmqq\u003c/string\u003e\n    \u003cstring\u003ewtloginmqq2\u003c/string\u003e\n    \u003cstring\u003emqqwpa\u003c/string\u003e\n    \u003cstring\u003emqzone\u003c/string\u003e\n    \u003cstring\u003emqzonev2\u003c/string\u003e\n    \u003cstring\u003emqzoneshare\u003c/string\u003e\n    \u003cstring\u003ewtloginqzone\u003c/string\u003e\n    \u003cstring\u003emqzonewx\u003c/string\u003e\n    \u003cstring\u003emqzoneopensdkapiV2\u003c/string\u003e\n    \u003cstring\u003emqzoneopensdkapi19\u003c/string\u003e\n    \u003cstring\u003emqzoneopensdkapi\u003c/string\u003e\n    \u003cstring\u003emqqbrowser\u003c/string\u003e\n    \u003cstring\u003emttbrowser\u003c/string\u003e\n\n    \u003c!-- Facebook URL Scheme 白名单--\u003e\n    \u003cstring\u003efbapi\u003c/string\u003e\n    \u003cstring\u003efb-messenger-api\u003c/string\u003e\n    \u003cstring\u003efbauth2\u003c/string\u003e\n    \u003cstring\u003efbshareextension\u003c/string\u003e\n\n    \u003c!-- Twitter URL Scheme 白名单--\u003e\n    \u003cstring\u003etwitter\u003c/string\u003e\n    \u003cstring\u003etwitterauth\u003c/string\u003e\n\n    \u003c!-- JChatPro URL Scheme 白名单--\u003e\n    \u003cstring\u003eJChatPro\u003c/string\u003e\n\u003c/array\u003e\n```\n\n##### 2.2.2 添加 URL Types\n\n+ 各个平台的 URL Schemes 格式说明：\n![](./res/set_ios_scheme.jpg)\n\n+ URL Types 设置\n\t\n\tXcode 打开工程 `example/ios/Runner.xcworkspace`目录中的 [TARGETS] -\u003e [Info] 中设置： \n![](./res/set_ios_scheme2.png)\n\n##### 2.3 iOS/Android 详细集成配置文档\n+ [iOS 集成配置](https://docs.jiguang.cn/jshare/client/iOS/ios_sdk/)\n+ [Android 集成配置](https://docs.jiguang.cn/jshare/client/Android/android_sdk/)\n\n### 三、使用\n\n```dart\nimport 'package:jshare_flutter_plugin/jshare_flutter_plugin.dart';\n```\n\n### APIs\n\n**注意** : 需要先调用 JShare.setup 来初始化插件，才能保证其他功能正常工作。\n\n [参考](./documents/APIs.md)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjpush%2Fjshare-flutter-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjpush%2Fjshare-flutter-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjpush%2Fjshare-flutter-plugin/lists"}