Migration

Moving to AppGlance

The integration takes about five minutes. The part worth planning is everything around it: what happens to the history you already have, and how you convince yourself the new numbers are right before you switch anything off.

Start here: your history does not come with you

There is no import, and we would rather say so plainly. Firebase and TelemetryDeck both hold your historical events in their own stores, and neither exposes them in a shape we could faithfully re-create, the identity model differs, the sessionisation differs, and the automatic events differ. Anything we imported would be a guess wearing the costume of your old numbers.

So AppGlance starts counting the day you install it. Plan for a gap in year-over-year comparisons, and keep read access to your old tool for as long as that matters to you. If your old data matters a lot, export it before you cancel anything: Firebase can export to BigQuery, and TelemetryDeck has its own export.

Run both at once first

Nothing stops you shipping both SDKs in the same build, and it is the only way to get an honest comparison. Do that for one release cycle. Then compare like for like, and expect the totals to differ, for reasons that are not bugs:

When the shapes of the curves agree, the migration is done. Chasing exact totals is not a good use of your week.

From Firebase Analytics

The call maps almost directly. Firebase's event name becomes the signal; its parameters become metadata.

// Firebase
Analytics.logEvent("purchase_completed", parameters: ["tier": "pro"])

// AppGlance
AppGlance.track("purchase_completed", metadata: ["tier": "pro"])
// Firebase
firebaseAnalytics.logEvent("purchase_completed") { param("tier", "pro") }

// AppGlance
AppGlance.track("purchase_completed", mapOf("tier" to "pro"))

Three differences to plan around:

From TelemetryDeck

The models are close, because the philosophies are close. A signal is a signal.

// TelemetryDeck
TelemetryDeck.signal("purchase_completed", parameters: ["tier": "pro"])

// AppGlance
AppGlance.track("purchase_completed", metadata: ["tier": "pro"])

The real difference is identity, and it is the reason to switch or not to switch. TelemetryDeck is built so that you can never resolve a signal back to a person. AppGlance keeps a stable per-install id, so you can open a single user and see their sessions in order, and you can call identify to attach your own label to it. If the ability to look at one user is what you want, that is what you are moving for. If you consider that a feature you would rather not have, TelemetryDeck is the better fit and we would rather you stayed there. We wrote that comparison out in full.

Take the chance to fix your event names

A migration is the one moment when renaming events costs nothing, because there is no history to break. Two rules that will save you later:

Cut-over checklist

Want a hand? [email protected]. If you send us your current event list we will map it to signals and metadata and send it back, it is a short job for us and a tedious one for you. The quickstart also has a paste-in prompt that will do the integration and interview you about your events, which is a reasonable way to do the rename pass.