Flutter URL缩短服务插件flutter_url_shortener的使用

发布于 1周前 作者 caililin 来自 Flutter

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

1 回复

更多关于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),
            ),
          ],
        ),
      ),
    );
  }
}

说明:

  1. 添加依赖:确保在pubspec.yaml中添加了flutter_url_shortener依赖,并运行flutter pub get
  2. Google API Key:你需要在Google Cloud Platform上创建一个项目,并启用URL缩短服务API,然后创建一个API Key。在代码中的YOUR_GOOGLE_API_KEY位置替换为你的实际API Key。
  3. 用户界面
    • 包含一个TextField用于输入长URL。
    • 一个ElevatedButton用于触发URL缩短操作。
    • 一个Text用于显示结果(缩短后的URL或错误信息)。

注意事项:

  • 确保你已经启用了Google Cloud Platform上的URL缩短服务API,并且API Key具有相应的权限。
  • API Key不要硬编码在客户端应用中,考虑使用更安全的方式来管理API Key,比如环境变量或后端服务。

这个示例展示了如何在Flutter应用中使用flutter_url_shortener插件来缩短URL。希望这对你有所帮助!

回到顶部