[Flutter]ライセンス情報の表示

Flutterでライセンス表記を行うやり方です。

AndroidもiOSどちらもOSSライブラリを導入したとき、ライセンス表記の対応が必須(のはず)です。
(ただ、企業が出しているアプリでも対応していないケースもあったり、意外と緩いと思われます。。)

AndroidやiOSでは、表示用のOSSライブラリがあったりするのですが、Flutterだと標準でメソッドが用意されていました。

Flutter 標準APIリンク

showLicensePage function - material library - Dart API
API docs for the showLicensePage function from the material library, for the Dart programming language.
showAboutDialog function - material library - Dart API
API docs for the showAboutDialog function from the material library, for the Dart programming language.
AboutListTile class - material library - Dart API
API docs for the AboutListTile class from the material library, for the Dart programming language.

実装例

Menuにライセンス表記画面へ遷移する項目を追加してみました。

  // こちらは単純なメニュー用のWidget
  Widget build(BuildContext context) {
    return Drawer(
      child: ListView(
        padding: EdgeInsets.zero,
        children: <Widget>[
          DrawerHeader(

          ),
          Container(
            color: Colors.grey[200],
            child: Column(
              children: <Widget>[
                menuShowLicensePage(context),
              ],
            ),
          ),
        ],
      ),
    );
  }

  // showLicensePageが
  Widget menuShowLicensePage(BuildContext context) {
    return ListTile(
      selected: true,
      leading: Icon(Icons.help_outline, color: Colors.cyan),
      title:
      Text('このアプリについて', style: TextStyle(color: Colors.black)),
      onTap: () {
        Navigator.pop(context);
        showLicensePage(
          context: context,
          applicationName: 'applicationName',
          applicationVersion: 'versionName',
          applicationIcon:
          Icon(Icons.highlight, color: Colors.brown),
          applicationLegalese: 'applicationLegalese',
          // useRootNavigator: true,
        );
      },
    );
  }

参考

https://blog.takuchalle.dev/post/2020/02/13/show_license_page/

コメント

タイトルとURLをコピーしました