# Building Flipper Plugins for Fun and Profit

DevFeed: [Building Flipper Plugins for Fun and Profit](<https://devfeed.tech/articles/building-flipper-plugins-for-fun-and-profit-25112.md>)

Original publisher: [Read original article](<http://michaelevans.org/blog/2022/09/28/flipper-plugins-for-fun-and-profit/>)

Author: Michael Evans

Published: 2022-09-29T03:41:17Z

Content type: tutorial

Language: en

Sources: [Gadget Habit](<https://devfeed.tech/sources/gadget-habit.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Firebase](<https://devfeed.tech/topics/firebase.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [Wireless Debugging](<https://devfeed.tech/topics/wireless-debugging.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>)

Tags: [adb](<https://devfeed.tech/tags/adb.md>), [analytics](<https://devfeed.tech/tags/analytics.md>), [android](<https://devfeed.tech/tags/android.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [development-tools](<https://devfeed.tech/tags/development-tools.md>), [firebase](<https://devfeed.tech/tags/firebase.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [payload](<https://devfeed.tech/tags/payload.md>), [sdk](<https://devfeed.tech/tags/sdk.md>)

## AI overview

This tutorial explains how to build a custom Flipper plugin for Android to inspect Firebase Analytics events in a filterable table. It contrasts this workflow with using ADB and Logcat, and briefly introduces the client-side setup, including the Flipper SDK and Gradle dependencies.

## Source excerpt

A long, long time ago, I wrote a blog post about how I was using Flipper as one of my favorite development tools. Since then, Android Studio has come a long way adding tons of features like a new Logcat and Layout Inspector. However, there are often times that you'll need a tool more specific to your own workflow that Android Studio doesn't provide, and that's exactly where Flipper's extensibility really shines. As an example, I'd like to go through building a custom plugin for Flipper, similar to one that I've used on my own projects, that demonstrates how easy it is to get started building these tools. The Problem As most apps grow, there becomes a need to measure app usage and engagement to better understand user behavior. In order to measure that, we often turn to analytics libraries (like Firebase Analytics) to handle this in-app behavior reporting. However, when implementing these client events, it's often helpful to have a quick feedback loop to ensure that the event and associated payload are correct, without having to check an analytics dashboard (which can often take some time to refresh). Luckily, most analytics libraries (including Firebase) have different solutions for this problem. In the Firebase Analytics library, the recommended debugging method is to set a property with ADB to log all the events to logcat. This does provide much faster feedback than checking a dashboard, but it's not the most user friendly - developers need to set the property at the command line, and need to be monitoring logcat for all of the events (and also doesn't offer much of a search/filter function). The Solution Rather than sticking to plain text in logcat, we can build a custom Flipper plugin that will display our analytics events in a filterable table. Most Flipper plugins are comprised of two parts - a client library that runs as part of your Android app, and a desktop plugin that runs inside Flipper for processing and displaying the data sent by the client. All of the