Flutterの自作プラグインを作成して公開する方法について紹介します。
【1】自作パッケージの作成と公開方法
● 以下のコマンドを実行し、パッケージの雛形を作成します。
$ flutter create --template=package mypackage
※「mypackage」は自分で好きなパッケージ名をつけて入れます。
● lib/mypackage.dartにパッケージのコードを書きます。
※「mypackage.dart」はプロジェクト名と同じファイル名にします。
lib/mypackage.dartには以下のような実装がサンプルとして書いてあります。
library mypackage; // ここはパッケージを作るためのキーワードなのでそのまま /// A Calculator. class Calculator { /// Returns Flutterの自作プラグインを作成して公開する方法について紹介します。【1】自作パッケージの作成と公開方法
● 以下のコマンドを実行し、パッケージの雛形を作成します。$ flutter create --template=package mypackage※「mypackage」は自分で好きなパッケージ名をつけて入れます。
● lib/mypackage.dartにパッケージのコードを書きます。
※「mypackage.dart」はプロジェクト名と同じファイル名にします。lib/mypackage.dartには以下のような実装がサンプルとして書いてあります。
library mypackage; // ここはパッケージを作るためのキーワードなのでそのまま /// A Calculator. class Calculator { /// Returns [value] plus 1. int addOne(int value) => value + 1; }● テストコードはtest/sample_test.dartに書きます。
● Googleアカウントを作成します。
項目 | 概要 |
---|---|
lib/sample.dart | android/iosのネイティブAPIを使うコードとDartとのブリッジを書きます。 |
exampleディレクトリ以下 | 動作検証用のプロジェクト。 |
LICENSEファイル | プラグインのライセンスを自由に記載します。dartではBSD licenseが推奨されています。 |
README.md | パッケージのドキュメントを書きます。GitHubだけでなく、 pub.devのページでもドキュメントとして表示されます。 |
CHANGELOG.md | バージョンごとの差分を書きます。 |
pubspec.yaml | pub.devに表示されます。 |
● 以下のコマンドを実行すると、pub.devにアップロードされます。
(初回は認証のためにターミナルの指示に従ってurlを開き、Googleにログインします)
flutter pub publish
● アップロードが終わったらpub.devにログインします。
パッケージを公開すると、pub.devに以下のように専用のページが作られます。
My packagesに追加されていることを確認します。
また、パッケージにはスコアがあり、パッケージのメンテナンス状況やユーザー数、ドキュメント充実度などによって自動で算出されて、高いほどユーザーが安心して利用するという指標になっています。
警告
Package validation found the following potential issues: * It's strongly recommended to include a "homepage" or "repository" field in your pubspec.yaml * Your pubspec.yaml includes an "author" section which is no longer used and may be removed.
下記のようにpubspec.yamlに書き加えることで警告を解消できます。
homepage: こちらにホームページ repository: こちらにGithubのリポジトリ
● 従来では、パッケージの作成者はpubspec.yamlのauthorの情報が登録されていましたが、 最近は非推奨になりました。
そして、verified publisher(認証された独自ドメインをユーザーに紐づける方式)が推奨されるようになりました。
独自ドメインの取得は有料ですが、verified publisherになると、パッケージの作成者欄に公式のマークと登録したドメイン名が表示され、ユーザーから安心感を得やすいというメリットがあります。
【2】自作プラグインを作成して公開
● 以下のコマンドを実行します。
$ flutter create --template=plugin sample
● プラグイン用のプロジェクトが作成されます。
項目 | 概要 |
---|---|
android | androidのネイティブAPIを使うコードを書いて格納する場所。 |
iosディレクトリ | iOSのネイティブAPIを使うコードを書いて格納する場所。 |
lib/sample.dart | android/iosのネイティブAPIを使うコードとDartとのブリッジを書きます。 |
exampleディレクトリ以下 | 動作検証用のプロジェクト。 |
LICENSEファイル | プラグインのライセンスを自由に記載します。dartではBSD licenseが推奨されています。 |
https://algorithm.joho.info/flutter/flutter-android-ios-windows/ plus 1.
int addOne(int value) => value + 1;
}
● テストコードはtest/sample_test.dartに書きます。
● Googleアカウントを作成します。
項目 | 概要 |
---|---|
lib/sample.dart | android/iosのネイティブAPIを使うコードとDartとのブリッジを書きます。 |
exampleディレクトリ以下 | 動作検証用のプロジェクト。 |
LICENSEファイル | プラグインのライセンスを自由に記載します。dartではBSD licenseが推奨されています。 |
README.md | パッケージのドキュメントを書きます。GitHubだけでなく、 pub.devのページでもドキュメントとして表示されます。 |
CHANGELOG.md | バージョンごとの差分を書きます。 |
pubspec.yaml | pub.devに表示されます。 |
● 以下のコマンドを実行すると、pub.devにアップロードされます。
(初回は認証のためにターミナルの指示に従ってurlを開き、Googleにログインします)
flutter pub publish
● アップロードが終わったらpub.devにログインします。
パッケージを公開すると、pub.devに以下のように専用のページが作られます。
My packagesに追加されていることを確認します。
また、パッケージにはスコアがあり、パッケージのメンテナンス状況やユーザー数、ドキュメント充実度などによって自動で算出されて、高いほどユーザーが安心して利用するという指標になっています。
警告
Package validation found the following potential issues: * It's strongly recommended to include a "homepage" or "repository" field in your pubspec.yaml * Your pubspec.yaml includes an "author" section which is no longer used and may be removed.
下記のようにpubspec.yamlに書き加えることで警告を解消できます。
homepage: こちらにホームページ repository: こちらにGithubのリポジトリ
● 従来では、パッケージの作成者はpubspec.yamlのauthorの情報が登録されていましたが、 最近は非推奨になりました。
そして、verified publisher(認証された独自ドメインをユーザーに紐づける方式)が推奨されるようになりました。
独自ドメインの取得は有料ですが、verified publisherになると、パッケージの作成者欄に公式のマークと登録したドメイン名が表示され、ユーザーから安心感を得やすいというメリットがあります。
【2】自作プラグインを作成して公開
● 以下のコマンドを実行します。
$ flutter create --template=plugin sample
● プラグイン用のプロジェクトが作成されます。
項目 | 概要 |
---|---|
android | androidのネイティブAPIを使うコードを書いて格納する場所。 |
iosディレクトリ | iOSのネイティブAPIを使うコードを書いて格納する場所。 |
lib/sample.dart | android/iosのネイティブAPIを使うコードとDartとのブリッジを書きます。 |
exampleディレクトリ以下 | 動作検証用のプロジェクト。 |
LICENSEファイル | プラグインのライセンスを自由に記載します。dartではBSD licenseが推奨されています。 |
コメント