Flutter社交分享功能插件um_share_plugin的使用

Flutter社交分享功能插件um_share_plugin的使用

集成友盟第三方登录插件

um_share_plugin 是一个用于实现社交分享和第三方登录功能的 Flutter 插件。它支持以下功能:

  • ✅ iOS第三方登录
  • ✅ Android第三方登录
  • ✅ 第三方分享
  • ✅ 消息推送

使用示例

以下是一个完整的示例代码,展示如何在 Flutter 应用中使用 um_share_plugin 插件进行 QQ 登录。

示例代码
import 'package:flutter/material.dart';

import 'package:um_share_plugin/um_share_plugin.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({Key? key}) : super(key: key);

  [@override](/user/override)
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  // 用于存储登录结果显示的文字
  String textStr = 'Tap to login';

  [@override](/user/override)
  void initState() {
    super.initState();
    // 初始化友盟插件,传入友盟应用的 AppKey
    UMSharePlugin.init('UM appKey');

    // 设置 QQ 平台的 AppKey
    UMSharePlugin.setPlatform(
      platform: UMSocialPlatformType_QQ, // 指定 QQ 平台
      appKey: 'QQ AppKey',             // 填写 QQ 的 AppKey
    );
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('um_share_plugin 示例'),
        ),
        body: Center(
          child: GestureDetector(
            onTap: () async {
              // 调用插件获取用户信息
              UMShareUserInfo info = await UMSharePlugin.getUserInfoForPlatform(
                UMSocialPlatformType_QQ, // 指定 QQ 平台
              );

              // 更新 UI 状态
              setState(() {
                if (info.error == null) {
                  textStr = 'Hello ${info.name}'; // 显示用户昵称
                } else {
                  textStr = info.error ?? ''; // 如果出错,显示错误信息
                }
              });
            },
            child: Text(
              textStr,
              style: TextStyle(fontSize: 20),
            ),
          ),
        ),
      ),
    );
  }
}

更多关于Flutter社交分享功能插件um_share_plugin的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter社交分享功能插件um_share_plugin的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


um_share_plugin 是一个 Flutter 插件,用于集成友盟的社交分享功能。通过这个插件,你可以轻松地在 Flutter 应用中实现分享到微信、QQ、微博等社交平台的功能。

1. 添加依赖

首先,你需要在 pubspec.yaml 文件中添加 um_share_plugin 的依赖:

dependencies:
  flutter:
    sdk: flutter
  um_share_plugin: ^1.0.0  # 请使用最新版本

然后运行 flutter pub get 来获取依赖。

2. 配置友盟SDK

在使用 um_share_plugin 之前,你需要在友盟官网注册应用,并获取 AppKey。然后根据不同的平台进行配置。

Android 配置

android/app/src/main/AndroidManifest.xml 中添加以下内容:

<meta-data
    android:name="UMENG_APPKEY"
    android:value="YOUR_UMENG_APPKEY" />

iOS 配置

ios/Runner/Info.plist 中添加以下内容:

<key>UMENG_APPKEY</key>
<string>YOUR_UMENG_APPKEY</string>

3. 初始化插件

main.dart 中初始化 um_share_plugin

import 'package:um_share_plugin/um_share_plugin.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await UmSharePlugin.init(
    appKey: 'YOUR_UMENG_APPKEY',
    channel: 'Flutter',
  );
  runApp(MyApp());
}

4. 实现分享功能

um_share_plugin 提供了多种分享方式,例如分享文本、图片、链接等。

分享文本

UmSharePlugin.shareText(
  platform: SharePlatform.wechatSession,  // 分享到微信好友
  text: 'Hello, this is a text share!',
);

分享图片

UmSharePlugin.shareImage(
  platform: SharePlatform.wechatTimeline,  // 分享到微信朋友圈
  image: 'https://example.com/image.png',
);

分享链接

UmSharePlugin.shareWebPage(
  platform: SharePlatform.qq,  // 分享到QQ
  title: 'Flutter',
  description: 'Flutter is Google’s UI toolkit.',
  thumb: 'https://example.com/thumb.png',
  url: 'https://flutter.dev',
);

5. 处理分享结果

你可以通过 onShareResponse 回调来处理分享结果:

UmSharePlugin.onShareResponse.listen((response) {
  if (response.status == ShareResponseStatus.success) {
    print('Share success');
  } else {
    print('Share failed: ${response.message}');
  }
});
回到顶部