2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Flutter for Webでリンクを開く

Posted at

Flutter 1.9でWebが統合されましたが、アプリ内でリンクを開くためには、ひと工夫必要だったので共有します。

url_launcher

iOSやAndroidだけであれば、url_launcherで問題ありません。
しかし、url_launcherはplatform channelsを使ってネイティブのWebViewを呼んでいるので、Webでは動きません。

dart:html

Webでリンクを開く方法として、dart:htmlを使う方法があります。

import 'dart:html' as html';

html.window.open(url, '');

しかし、dart:htmlをimportするとiOSやAndroidのビルドが失敗してしまいます。

url_launcher_web

url_launcher_weburl_launcherと同じくFlutter謹製のプラグインです。
https://pub.dev/packages/url_launcher_web

使い方は非常に簡単で、pubspec.yamlに以下を記述するだけです。

pubspec.yaml
...
dependencies:
  ...
  url_launcher: ^5.1.4
  url_launcher_web: ^0.1.0
  ...

あとは、url_launcherと同じです。

import 'package:url_launcher/url_launcher.dart';

launch(url);

iOSやAndroidだけでなく、Webでも外部リンクを開くことができます。

サンプル

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?