zuraffa_messaging_android

The Android implementation of zuraffa_messaging: the native messaging-store plugin (ZuraffaMessagingPlugin, Kotlin) persisting the send log in SharedPreferences, plus the contract conformance kit host apps run their wired channel against.

What's in the box

  • android/ — the native dev.zuraffa.messaging.ZuraffaMessagingPlugin Flutter plugin serving the shared channel contract.
  • AndroidMessagingContract — the Android pinning of MessagingChannelContract.shared: platform identifier, native plugin type name, and the verbatim contract (channel plugins.zuraffa.dev/messaging, method table send · acknowledge · blockRecipient · sent · reset, error code undeliverable, the msg-<channel>-<n> id grammar).

Usage

Add the platform package next to the app-facing package; then wire the Dart side over the injected bridge (see the core README):

final messaging = MessagingService()
  ..register(BridgeTransport('sms', MethodChannelBridge()));

Diff-check the wired channel against the shipped contract:

final kit = const AndroidMessagingContract();
expect(kit.contract, MessagingChannelContract.shared);

Libraries

zuraffa_messaging_android
The Android conformance kit: pins the platform identifier the package ships and the shared channel contract its native plugin implements — the diff-check anchor host apps run their wired channel against (spec 002-platform-transports).