office_core 1.0.0 copy "office_core: ^1.0.0" to clipboard
office_core: ^1.0.0 copied to clipboard

A federated Flutter plugin consolidating Remote Config, Ads, Crashlytics, Analytics, Notifications, and Trial/Limits behind a single initialize() entry point with a strongly-typed configuration model.

1.0.0 #

Initial release of OfficeCore.

Subsystems #

  • Remote Config: Strongly-typed JSON config model with versioned schema, automatic refresh on connectivity restore, broadcast change stream.
  • Ads: OfficeAdsController with banner, native, interstitial, and app-open ad support. Ad unit IDs and visibility flags fetched from Remote Config. BannerAdWidget and NativeAdWidget with shimmer loading states.
  • Crashlytics: OfficeCrashlytics wrapping Firebase Crashlytics with breadcrumb logging, custom keys, and zone-guarded error capture.
  • Analytics: OfficeAnalyticsService with drop-in RouteObserver for automatic screen-view tracking and logEvent for custom events.
  • Notifications: OfficeNotificationController wrapping FCM + flutter_local_notifications. Device registration, topic subscription, tap navigation, translation-progress notification helper.
  • Trial & Limits: OfficeTrialService consolidating conversion limits, file-size limits, batch limits, feature locks (download/share/copy), and local usage tracking with hasRemainingQuota.

Abstractions #

  • PremiumStatusProvider interface decoupling ads and trial gating from any specific IAP or state-management solution. Built-in adapters:
    • RevenueCatPremiumProvider
    • GetXPremiumProvider (zero-rewrite migration from existing GetX apps)
    • FakePremiumProvider (for tests)

Utilities #

  • OfficeLifecycleService — single WidgetsBindingObserver with onResumeAfterPause stream (replaces duplicated LifecycleEventHandler).
  • OfficeConnectivityService — wraps internet_connection_checker_plus, exposes onReconnect stream.
  • OfficeLogger — tagged logger respecting logLevel.
  • OfficePackageInfo / OfficeDeviceInfo — cached PackageInfo.fromPlatform() and flutter_udid results.
  • OfficeConsentGate — ATT (iOS) + GDPR (EU) consent widget.
  • OfficeShimmer — extracted shimmer loading widget.
  • OfficeZoneGuardrunZonedGuarded wrapper with crashlytics integration.

Platform Support #

Platform Status
Android Full Firebase-backed support
iOS Full Firebase-backed support
macOS Full Firebase-backed support
Windows No-op stubs (v2 will add Sentry + custom HTTP RC)
0
likes
0
points
28
downloads

Documentation

Documentation

Publisher

unverified uploader

Weekly Downloads

A federated Flutter plugin consolidating Remote Config, Ads, Crashlytics, Analytics, Notifications, and Trial/Limits behind a single initialize() entry point with a strongly-typed configuration model.

Repository (GitHub)
View/report issues

Topics

#remote-config #ads #crashlytics #analytics #notifications

License

unknown (license)

Dependencies

dio, firebase_analytics, firebase_core, firebase_crashlytics, firebase_database, firebase_messaging, firebase_remote_config, flutter, flutter_local_notifications, flutter_udid, google_mobile_ads, internet_connection_checker_plus, package_info_plus, permission_handler, shared_preferences, shimmer

More

Packages that depend on office_core

Packages that implement office_core