Skip to content

feat(firebase): tvOS support for firebase_app_check - #18

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

feat(firebase): tvOS support for firebase_app_check#18
TheNoumanDev wants to merge 1 commit into
fluttertv:mainfrom
TheNoumanDev:feat/firebase-app-check-tvos

Conversation

@TheNoumanDev

@TheNoumanDev TheNoumanDev commented Aug 14, 2026

Copy link
Copy Markdown

What does this PR do?

Adds federated firebase_app_check_tvos — Firebase App Check for Apple TV, built on the Firebase Apple SDK. Re-exports the firebase_app_check Dart API and ships the native tvOS pluginClass; depends on firebase_core_tvos.

DeviceCheck, App Attest, and Debug attestation providers work on tvOS 15+. reCAPTCHA is excludedRecaptchaProvider is not part of the Firebase tvOS SDK; its Pigeon "recaptcha" case is kept as an unsupported-platform stub so registration/dispatch stay intact.

Package(s) touched: firebase_app_check_tvos (new)

How was it tested?

Native FirebaseAppCheck 12.15.0 initializes on tvOS. With the Debug provider, activate() issues a debug token and getToken() exchanges it with the App Check backend (exchangeDebugToken), returning a valid App Check token. Platform.operatingSystem == "tvos" / Platform.isIOS == true.

  • Ran the package's example/ app
  • Verified on tvOS simulator (26.2) — Debug-provider getToken round-trip succeeds against a live project
  • Physical Apple TV — not verified. DeviceCheck / App Attest hardware attestation requires an App ID with the DeviceCheck/App Attest capability under a paid Apple Developer account; it can't be exercised on a free personal team. The providers compile and run on tvOS 15+, but genuine on-device attestation is pending that account. The Debug-provider path is fully verified. Would be great, if you can help with testing it on real device.
  • 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_app_check_tvos files are touched
  • No secrets, absolute local paths, or TODO/debug left
  • README.md documents tvOS behaviour (reCAPTCHA excluded; DeviceCheck/App Attest need a paid account for real-device attestation; version-alignment note)
  • Sibling-package constraint noted below

Notes for reviewers

  • reCAPTCHA disabled on tvOS: RecaptchaProvider is iOS-only in the Firebase SDK. The "recaptcha" handler is kept as an unsupported-platform stub (never removed), so Pigeon dispatch doesn't break.
  • Real-device attestation unverified: DeviceCheck/App Attest need a paid Apple Developer account + capability, so only the Debug provider is verifiable without it — and it's verified here on the simulator (token exchange round-trip).
  • Version alignment (all Firebase _tvos leaf packages): the native Pigeon matches the firebase_core 4.11.x / firebase_core_platform_interface 7.1.0 train. Mixing firebase_core_tvos with a different firebase_core whose FirebaseOptions list differs can crash in CoreFirebaseOptions.fromList at launch (Dart options: init).

Relavant issue: #12

Federated firebase_app_check_tvos — App Check for Apple TV, built on the
Firebase Apple SDK. Re-exports the firebase_app_check Dart API and ships the
native tvOS pluginClass; depends on firebase_core_tvos.

DeviceCheck, App Attest, and Debug providers work on tvOS 15+. reCAPTCHA
(RecaptchaProvider) is unavailable in the Firebase tvOS SDK — excluded, with
its Pigeon case kept as an unsupported-platform stub so dispatch stays intact.
@TheNoumanDev
TheNoumanDev force-pushed the feat/firebase-app-check-tvos branch from a56b760 to c3ad863 Compare August 14, 2026 00:03
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