Flutter Discord状态展示插件discord_presence的使用
简介
discord_presence
是一个用 Rust 编写的用于 Dart 和 Flutter 的 Discord 富媒体状态(Rich Presence)插件。它是在 discord_rpc
插件的基础上开发的,增加了更多功能,例如支持 macOS 平台,并且允许最多添加两个自定义按钮。
开始使用
要将 Discord 富媒体状态集成到你的应用程序或游戏中,你需要在 Discord 开发者门户 创建一个应用程序。
设置 Discord 状态
以下是一个简单的示例代码,演示如何设置 Discord 状态:
import 'package:flutter/material.dart';
import 'package:discord_presence/discord_presence.dart';
void main() {
// 设置 Discord 富媒体状态
setDiscordRpc(
// 添加两个自定义按钮
buttons: [const DiscordButton(label: "测试", url: "https://example.com")],
// 替换为你的 Discord 应用程序的 Client ID
clientId: "DISCORD_CLIENT_ID",
// 显示的详细信息
details: "当前状态",
// 大图标键
largeImageKey: "large_image",
// 大图提示文字
largeTextKey: "大图提示",
// 小图标键
smallImageKey: "small_image",
// 小图提示文字
smallTextKey: "小图提示",
// 当前状态
state: "正在运行应用程序");
// 启动应用
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: const Text('快速开始')),
body: const Center(
child: Text('完成'),
),
),
);
}
}
代码说明
setDiscordRpc
: 用于设置 Discord 富媒体状态的核心方法。buttons
: 定义两个自定义按钮,每个按钮包含标签和跳转链接。clientId
: 替换为你的 Discord 应用程序的 Client ID。details
: 显示在 Discord 状态中的详细信息。largeImageKey
和largeTextKey
: 分别表示大图的键值和提示文字。smallImageKey
和smallTextKey
: 分别表示小图的键值和提示文字。state
: 显示在 Discord 状态中的当前状态。
示例代码完整结构
以下是完整的示例代码文件结构:
// example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:discord_presence/discord_presence.dart';
void main() {
// 设置 Discord 富媒体状态
setDiscordRpc(
buttons: [const DiscordButton(label: "测试", url: "https://example.com")],
clientId: "DISCORD_CLIENT_ID",
details: "当前状态",
largeImageKey: "large_image",
largeTextKey: "大图提示",
smallImageKey: "small_image",
smallTextKey: "小图提示",
state: "正在运行应用程序");
// 启动应用
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
[@override](/user/override)
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: const Text('快速开始')),
body: const Center(
child: Text('完成'),
),
),
);
}
}
更多关于Flutter Discord状态展示插件discord_presence的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
1 回复