Flutter URL缩短服务插件flutter_url_shortener的使用
Flutter URL缩短服务插件flutter_url_shortener的使用
flutter_url_shortener
是一个基于 Flutter 的 URL 缩短插件,使用了 Bitly API 服务。本文将详细介绍如何使用该插件来缩短 URL。
开始使用
注册账户并获取 Token
首先,你需要在 Bitly 官网 注册一个账户,并获取一个访问令牌(Token)。
功能概述
- 将长 URL 转换为 Bitlink。
- 将长 URL 转换为 Bitlink 并设置额外参数。
示例代码
以下是一个完整的示例代码,展示了如何使用 flutter_url_shortener
插件来缩短 URL 和创建自定义 Bitlink。
1. 添加依赖
在你的 pubspec.yaml
文件中添加 flutter_url_shortener
依赖:
dependencies:
flutter:
sdk: flutter
flutter_url_shortener: ^latest_version
2. 初始化 Token
在应用启动时,初始化 Bitly 的访问令牌:
import 'package:flutter/material.dart';
import 'package:flutter_url_shortener/flutter_url_shortener.dart';
void main() {
/// 设置访问令牌
FShort.instance.setup(token: 'YOUR_BITLY_ACCESS_TOKEN');
runApp(MyApp());
}
3. 创建主应用
创建一个简单的 Flutter 应用,包含两个按钮,分别用于缩短 URL 和创建自定义 Bitlink。
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
visualDensity: VisualDensity.adaptivePlatformDensity,
),
home: MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key? key}) : super(key: key);
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
String _shortenURL = '';
String _customURL = '';
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Flutter Demo Home Page'),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(
'https://www.google.com.vn',
),
Container(
alignment: Alignment.center,
child: Text(_shortenURL),
height: 60,
),
ElevatedButton(
style: ElevatedButton.styleFrom(primary: Colors.blue),
child: Text('Shorten a link'),
onPressed: _genShortenUrl,
),
Container(
alignment: Alignment.center,
child: Text(_customURL),
height: 60,
),
ElevatedButton(
style: ElevatedButton.styleFrom(primary: Colors.blue),
child: Text('Create a Bitlink'),
onPressed: _createBitLink,
),
],
),
),
);
}
void _genShortenUrl() {
try {
FShort.instance
.generateShortenURL(longUrl: 'https://www.google.com.vn/')
.then((value) {
setState(() {
_shortenURL = value.link!;
});
});
} on BitlyException catch (_) {
// 处理 Bitly 异常
} on Exception catch (_) {
// 处理其他异常
}
}
void _createBitLink() {
try {
FShort.instance
.createBitLink(
params: BitlyParams(
longUrl: "https://dev.bitly.com",
domain: 'bit.ly',
tags: ['ver1.1', 'ver1.2'],
deeplinks: [
DeeplinkParams(
appId: 'com.hades.test',
appUriPath: '/store?id=123456',
installUrl:
'https://play.google.com/store/apps/details?id=com.hades.test&hl=en_US',
installType: 'promote_install',
),
],
))
.then((value) {
setState(() {
_customURL = value.link!;
});
});
} on BitlyException catch (_) {
// 处理 Bitly 异常
} on Exception catch (_) {
// 处理其他异常
}
}
}
4. 运行应用
运行你的 Flutter 应用,点击按钮即可看到缩短后的 URL 和创建的自定义 Bitlink。
总结
通过以上步骤,你可以轻松地在 Flutter 应用中集成 flutter_url_shortener
插件,实现 URL 的缩短和自定义 Bitlink 的创建。希望这篇文章对你有所帮助!如果有任何问题或建议,欢迎留言交流。
更多关于Flutter URL缩短服务插件flutter_url_shortener的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter URL缩短服务插件flutter_url_shortener的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
当然,下面是一个关于如何在Flutter应用中使用flutter_url_shortener
插件的示例代码。这个插件可以帮助你将长URL缩短为短URL。以下是一个完整的示例,展示了如何使用该插件。
首先,你需要在你的pubspec.yaml
文件中添加依赖项:
dependencies:
flutter:
sdk: flutter
flutter_url_shortener: ^x.y.z # 请替换为最新版本号
然后运行flutter pub get
来安装依赖。
接下来,在你的Flutter应用中,你可以按照以下步骤使用flutter_url_shortener
插件:
import 'package:flutter/material.dart';
import 'package:flutter_url_shortener/flutter_url_shortener.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter URL Shortener Demo',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
final FlutterUrlShortener _flutterUrlShortener = FlutterUrlShortener();
String _longUrl = 'https://www.example.com/this-is-a-very-long-url-that-needs-to-be-shortened';
String _shortUrl = '';
String _resultMessage = '';
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Flutter URL Shortener Demo'),
),
body: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
TextField(
decoration: InputDecoration(
labelText: 'Long URL',
border: OutlineInputBorder(),
),
controller: TextEditingController(text: _longUrl),
onChanged: (value) {
setState(() {
_longUrl = value;
});
},
),
SizedBox(height: 20),
ElevatedButton(
onPressed: () async {
setState(() {
_resultMessage = '';
});
try {
_shortUrl = await _flutterUrlShortener.shortenUrl(
apiKey: 'YOUR_GOOGLE_API_KEY', // 请替换为你的Google API Key
longUrl: _longUrl,
);
setState(() {
_resultMessage = 'Short URL: $_shortUrl';
});
} catch (e) {
setState(() {
_resultMessage = 'Error: ${e.message}';
});
}
},
child: Text('Shorten URL'),
),
SizedBox(height: 20),
Text(
_resultMessage,
style: TextStyle(fontSize: 18),
),
],
),
),
);
}
}
说明:
- 添加依赖:确保在
pubspec.yaml
中添加了flutter_url_shortener
依赖,并运行flutter pub get
。 - Google API Key:你需要在Google Cloud Platform上创建一个项目,并启用URL缩短服务API,然后创建一个API Key。在代码中的
YOUR_GOOGLE_API_KEY
位置替换为你的实际API Key。 - 用户界面:
- 包含一个
TextField
用于输入长URL。 - 一个
ElevatedButton
用于触发URL缩短操作。 - 一个
Text
用于显示结果(缩短后的URL或错误信息)。
- 包含一个
注意事项:
- 确保你已经启用了Google Cloud Platform上的URL缩短服务API,并且API Key具有相应的权限。
- API Key不要硬编码在客户端应用中,考虑使用更安全的方式来管理API Key,比如环境变量或后端服务。
这个示例展示了如何在Flutter应用中使用flutter_url_shortener
插件来缩短URL。希望这对你有所帮助!