web analytics

Flutter : การ publish plugin ใน pub.dev

สวัสดีผู้อ่านครับ บล็อกนี้พามาลองเล่นการ publish plugin สำหรับ Flutter ใน pub.dev เพื่อให้ developer คนอื่นๆ สามารถดาวน์โหลดมาใช้งานได้ผ่าน pubspec.yaml ซึ่งใน Flutter จะเรียก library ที่ใช้กับ Flutter เท่านั้น (เช่นใช้ Method channel) ว่า plugin แต่หากเป็น dart เพียวๆ จะเรียกว่า package

เริ่มต้น

Android Studio ไปที่ New Flutter Project เลือก Flutter Plugin

รูปภาพนี้มี Alt แอตทริบิวต์เป็นค่าว่าง ชื่อไฟล์คือ 4-9.png

โครงสร้างโปรเจคที่ได้คือ โปรเจค Flutter ปกติ แต่จะมีโฟลเดอร์โปรเจค example ซ้อนด้านในอีกที การทำงานคือให้เราเขียนใน lib/main.dart แล้วให้ example/lib/main.dart ลองเรียกใช้งานนั่นเอง ดังนั้นเวลาเราจะรันเพื่อลองใช้งาน plugin จะรันใน example

โดยถ้าสร้างจาก Android Studio จะได้โปรเจคต้นแบบประมาณนี้ คือมีตัวอย่างการใช้ Method channel มาให้

รูปภาพนี้มี Alt แอตทริบิวต์เป็นค่าว่าง ชื่อไฟล์คือ 1-10.png

Publish

สมมุติเวลาเราทำ plugin เสร็จแล้ว ถึงเวลาอัพโหลด สิ่งที่เราต้องเพิ่มคือ ไปเขียนรายละเอียดใน pubspec.yaml ให้ใส่รายละเอียด เช่น ชื่อร ายละเอียด เวอร์ชัน ชื่อ อีเมล และเว็บไซต์ เช่น Github

name: flutter_custom_error_page
description: Plugin for custom error page.
version: 0.1.1
author: benznest <benz7net@gmail.com>
homepage: https://github.com/benznest/flutter_custom_error_page

จากนั้นไปที่ไฟล์ CHNAGELOG.md ให้ใส่รายละเอียดเวอร์ชันของเราว่ามีอะไรเปลี่ยนแปลงบ้าง

## 0.0.1

* TODO: Describe initial release.

อีกไฟล์คือ LICENSE ให้ใส่รายละเอียด license เช่น Apache , MIT

TODO: Add your license here.

ถึงขั้นตอน publish แล้วให้เปิด cmd ขึ้นมา รัน command dry run ดังนี้ เพื่อเช็ค error หรือ warning ก่อน publish

$ flutter packages pub publish --dry-run

หากไม่มี warning ก็ให้รัน command publish จริงๆ

$ flutter packages pub publish

การ publish ครั้งแรก เราจะได้ URL มา ให้เรา copy แล้วไปเปิดใน browser

จากนั้นจะมีหน้าให้เราล็อคอินโดยใช้ gmail เสร็จแล้วก็จะขึ้นว่า Successfully

รอสักพักจะได้รับ email ว่า plugin ของเรา publish แล้ว

หากเราจะอัพเดท plugin ก็แค่เพิ่มเลขเวอร์ชันใน pubspec.yaml และเพิ่ม CHANGELOG จากนั้นก็รันคำสั่งเดียวกัน

$ flutter packages pub publish