Skip to content

feat(firebase): tvOS support for firebase_remote_config - #10

Open
TheNoumanDev wants to merge 1 commit into
fluttertv:mainfrom
TheNoumanDev:feat/firebase-remote-config-tvos
Open

feat(firebase): tvOS support for firebase_remote_config#10
TheNoumanDev wants to merge 1 commit into
fluttertv:mainfrom
TheNoumanDev:feat/firebase-remote-config-tvos

Conversation

@TheNoumanDev

Copy link
Copy Markdown

PR description (continuous lines)

What does this PR do?

Adds federated firebase_remote_config_tvos — Firebase Remote Config for Apple TV, built on the Firebase Apple SDK. Re-exports the firebase_remote_config Dart API and ships the native tvOS pluginClass; depends on firebase_core_tvos. Full Remote Config API (defaults, fetch/activate/fetchAndActivate, typed getters, config settings, real-time updates), no feature disables.

Package(s) touched: firebase_remote_config_tvos (new)

How was it tested?

Verified end-to-end on both the tvOS simulator and a physical Apple TV 4K (tvOS 26.2, release/AOT) against a live Firebase project. FirebaseRemoteConfig 12.15.0 initialized, a real fetch hit firebaseremoteconfig.googleapis.com/.../namespaces/firebase:fetch, and fetchAndActivate returned activated=true with lastFetchStatus == RemoteConfigFetchStatus.success. A parameter published in the Firebase console was fetched and activated on the device — the on-device RemoteConfig.sqlite3 (pulled via devicectl) holds the console value in both the fetched and active tables, overriding the local default. No feature disables (Remote Config is UI-free). Platform.operatingSystem == "tvos" / Platform.isIOS == true.

  • Ran the package's example/ app
  • Verified on tvOS simulator (version: 26.2) — a console-published parameter was fetched and overrode the local default (RemoteConfigFetchStatus.success)
  • Verified on a physical Apple TV 4K (tvOS 26.2, release/AOT) — console-published parameter fetched + activated on-device (confirmed in the device's RemoteConfig.sqlite3)
  • dart analyze is clean for the package

Versioning & changelog

  • version: set to 0.0.1 (new package)
  • Matching ## 0.0.1 entry at the top of CHANGELOG.md
  • No behaviour change (new package)
  • Semver 0.x: initial 0.0.1

Checklist

  • Only firebase_remote_config_tvos files are touched
  • No secrets, absolute local paths, or TODO/debug leftovers
  • README.md documents tvOS behaviour (no feature limitations; version-alignment note)
  • Sibling-package constraint noted below

Notes for reviewers

  • Version alignment (affects all Firebase _tvos leaf packages): the native code matches firebase_remote_config 6.5.3 on the firebase_core_platform_interface 7.1.0 train (firebase_core 4.11.x). Mixing firebase_core_tvos with a different firebase_core whose FirebaseOptions list differs can crash in CoreFirebaseOptions.fromList at launch (Dart options: init). 6.5.3 is the latest on this train — 6.5.6 requires firebase_core 4.13 / platform interface 8.1.
  • Manual work beyond the auto-port: podspec deps (Firebase/RemoteConfig + firebase_core_tvos, tvOS 15); Swift firebase_core import repointed to firebase_core_tvos; generated tvos/Package.swift removed (route via podspec); Dart re-export.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant