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/
コメント