Dart/Flutter Packages Derived from KKBOX Kids

zonble
3 min readJan 14, 2020

--

Last year we released a new product, KKBOX Kids, and we built it using Flutter. KKBOX Kids provides a rich archive of audio contents for parenting, including children music and stories. It is available for all KKBOX members on both App Store and Google Play, but only in Taiwan dues to licensing restriction.

Many of you may not be able to enjoy our product, but the Dart/Flutter packages derived from the product are available for all developers.

We found that there was no existing package could satisfy our needs, when we started building KKBOX Kids, then we built our packages. Somehow it is irony — when we completed some packages, we often suddenly found that there were some developers working on the packages for the same purpose simultaneously, and they all have done great jobs.

UI Components

On the list of playlists in KKBOX Kids, we placed a button to let the users to start playing the playlist quickly.

The button has various states. Once KKBOX Kids is playing a playlist, the button would become several animating bars indicating the playlist is the now playing one, and once a playlist has been played, the button would be a circle composed with two colors, where the line in the foreground represents how many tracks have been played in the playlist.

The animating button is flutter_animated_play_button, while the button in another state is flutter_progressed_play_button.

KKBOX Kids supports Chomecast. We used flutter_google_cast_button to present the UI to let the users to prompt the dialog to choose a casting device from a list.

Authentication

Users log-in into KKBOX Kids via Oauth. We created flutter_app_auth_wrapper to wrap App Auth for iOS and Android into a Flutter plug-in, and use it in our product.

When we released the first version, we found that flutter_appauth was also available. You can give both of them a try.

Event Tracking

· flutter_facebook_appevents

We use App Events provided by Facebook SDK to track events within KKBOX Kids app. The plugin helps to integrate Facebook SDK into your app and send events to Facebook. There are also two similar packages:

Chinese Conversion

flutter_open_chinese_convert bridges OpenCC libraries for iOS and Androids. It helps to convert Traditional Chinese into Simplified Chinese and vice versa. We made this package before the development of KKBOX Kids, since we were wondering if we want to support both Traditional and Simplified Chinese.

Well, at the time we released the package, flutter_opencc has been also already on pub.dev.

KKBOX Open API

All of the contents of KKBOX Kids are available via KKBOX’s Open API. We have a public SDK in dart for all Dart/Flutter developers, and we also use it in our product code. You can use the SDK to integrate contents from KKBOX into your app as well.

--

--

zonble
zonble

Written by zonble

XDDDD - eXtreme Due Date Driven Development

No responses yet