Skip to content

Port firebase_in_app_messaging to tvOS #15

Description

@TheNoumanDev

Tracking a tvOS port of firebase_in_app_messaging. Findings from the Firebase Apple SDK:

Headless engine works on tvOS. FirebaseInAppMessaging.podspec builds for tvOS (s.tvos.deployment_target = '15.0', s.tvos.source_files) — campaign fetch, trigger evaluation and analytics all compile and run. The Dart API (triggerEvent, setMessagesSuppressed, setAutomaticDataCollectionEnabled) ports with the standard federated recipe.

The default display UI is iOS-only. The tvOS source_files omit Sources/DefaultUI/** (the card / modal / banner view controllers), and the display resources are declared under s.ios.resource_bundles only (no s.tvos.resource_bundles). So the engine can trigger a message, but there is no built-in renderer on tvOS — nothing draws.

What a full port needs (self-contained in the _tvos package). Firebase already exposes a native display hook — FIRInAppMessaging.inAppMessaging().messageDisplayComponent — which receives the full message and is responsible for rendering it (the slot DefaultUI fills on iOS). So firebase_in_app_messaging_tvos would register a native, focus-based tvOS display component that draws the message with tvOS UIKit — the same auto-display behaviour as iOS, adapted for the 10-foot TV UI. No changes to the upstream plugin, the platform interface, or app code; the message data stays native.

Summary: the headless port is mechanical, but making messages actually show requires implementing the tvOS UI layer inside the _tvos package (view controllers for banner / modal / card / image-only). Documenting for visibility.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions