【Flutter】自作パッケージやプラグインを作成して公開する方法

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が推奨されています。
【Flutter入門】iOS、Android、Windowsアプリ開発
FlutterによるiOS、Android、Windowsアプリ開発について入門者向けに紹介します。
flutter
スポンサーリンク

コメント