Как активно вы используете аналитику? В ManyChat вешают события чуть ли не на каждую кнопку. Льют данные и в Firebase, и во внутреннюю аналитику. Строят простые и сложные воронки. Но... периодически возникали проблемы.
Иногда кто-то ошибался в названии параметра или просто забывал его. Иногда на одной из платформ не добавляли событие. А еще все это приходилось делать руками. На обеих платформах!
ManyChat хотелось сделать один source of truth и минимум однообразного кода. Они запустили эксперимент длиной в неделю, пожили с этим решением уже полгода и хотят поделиться его результатами.
Поговорим о том, как:
- структурировать все события;
- написать генератор, который превратит это в код;
- спрятать код в кроссплатформенную библиотеку на Kotlin Native;
- дешево версионировать и шарить между платформами.