bluebird_platform_interface

A common platform interface for the bluebird plugin.

This interface allows platform-specific implementations of the bluebird plugin, as well as the plugin itself, to ensure they are supporting the same interface.

Usage

To implement a new platform-specific implementation of bluebird, extend BluebirdPlatform with an implementation that performs the platform-specific behavior, and when you register your plugin, set the default BluebirdPlatform by calling BluebirdPlatform.instance = MyPlatformBluebird().

Regenerating platform messages

All message types and the native channel layer are generated by pigeon from pigeons/messages.dart — the single source of truth for the platform protocol. One schema generates three outputs, all committed to the repo:

  • lib/src/messages.g.dart (this package — the types are the interface types)
  • ../bluebird_android/.../Messages.g.kt (Kotlin)
  • ../bluebird_darwin/.../Messages.g.swift (Swift)

After editing the schema, regenerate with:

tool/generate.sh

Note on breaking changes

Strongly prefer non-breaking changes (such as adding a method to the interface) over breaking changes for this package.

See https://flutter.dev/go/platform-interface-breaking-changes for a discussion on why a less-clean interface is preferable to a breaking change.