Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Firebase in Production

GDG SPb
February 04, 2017

Firebase in Production

Видео: https://www.youtube.com/watch?v=VRd3aCabjmo

Перезапуск Firebase стал одной из центральных тем прошедшего в мае Google I/O, однако общая картина экосистемы осталась за кадром. Я расскажу о нашем полугодовом опыте использования Firebase: о том, как он справляется с задачами мобильных продуктов в стадии роста, о том, кто, по нашему мнению, мог бы извлечь максимум пользы от представленных инструментов и о сложностях, с которыми сталкиваешься при их использовании.

Автор: Тимур Ахметгареев

Android разработчик в App in the Air. Одними из первых выпустили Android Wear приложения, получили звание Top Developer, многократно появлялись в категории Лучшее из России. Проект участвовал в бета-тестировании Firebase за три месяца до релиза, наша команда в числе 10 других презентовала результаты нашей работы с продуктом в Калифорнии по приглашению Google. Про наш опыт c Firebase рассказывали на Google I/O.

GDG SPb

February 04, 2017
Tweet

More Decks by GDG SPb

Other Decks in Technology

Transcript

  1. 1. Analytics 2. FCM (former GCM) 3. Notifications 4. Authentication

    5. Realtime Database 6. Storage 7. Hosting 8. Test Lab 9. Crash reporting 10. Remote Config 11. App indexing 12. Dynamic Links 13. Invites 14. Adwords 15. AdMob Services list
  2. 1. Mobile dev simplification: 1. Perks&basic growth tools 2. Backend

    for mobiledev 2. Old cross-platform services 3. Ecosystem 4. Analytics&Feedback Structure
  3. 1. Perks&basic growth tools 1. Notifications 2. Authentication 3. Dynamic

    Links 4. Invites 5. Analytics 6. Remote Config* 2. Backend for mobiledev 1. Realtime Database 2. Storage 3. FCM 4. Remote Config* Mobile dev simplification:
  4. 1. FCM (former GCM) 2. App indexing 3. Invites 4.

    Admob 5. Realtime Database Old cross-platform services:
  5. 1. Analytics 2. FCM (former GCM) 3. Notifications 4. Remote

    Config 5. Dynamic Links* 1. Analytics 2. Test Lab 3. Crash reporting Ecosystem Feedback
  6. 1. Analytics 2. FCM (former GCM) 3. Notifications 4. Authentication

    5. Realtime Database 6. Storage 7. Hosting 8. Test Lab 9. Crash reporting 10. Remote Config 11. App indexing 12. Dynamic Links 13. Invites 14. Adwords 15. AdMob Services list
  7. Dynamic Links Manual building • https://domain/?link=your_deep_link&apn= package_name[&amv=minimum_version][ &ad=1][&al=android_link][&afl=fallback_lin k] •

    &d=1 – use for debug Analytics auto events: • dynamic_link_first_open • dynamic_link_app_open • dynamic_link_app_update
  8. Dynamic Links Manual building Dynamic Links Branchmetrics FA|GA integration +

    - Passing data to app Deeplinks only Payloads Play Store advances onboarding (continue button, update if needed) + - Show user app content before install - + Influencers - + URL shortener available programmatically (from app) In process -
  9. App Invites • Limited to email or SMS • Share

    implementation with Dynamic links Pros: • Easy to implement Cons: • No referrer efficiency tracking
  10. App Indexing • User personal content indexing is coming! •

    App only indexing is in deep beta • User’s personal content indexing is coming!
  11. Analytics Key Capabilities Custom collecting • Up to 500 unique

    events with 25 attributes (former label) • 25 user properties (former dimensions) Unique features • Audiences • Integration with FRC, FCR, FN, Big query, Google Tag manager • Completely free
  12. Analytics Key Capabilities • Audiences (Segments) • Funnels • Attribution

    • Cohorts • Dashboard to Rule them all • Events out of the box • Export to BigQuery
  13. Analytics Key Capabilities • first_open • in_app_purchase • session_start •

    app_update • app_remove • os_update • app_clear_data • app_exception • notification_foreground • notification_receive • notification_open • notification_dismiss • dynamic_link_first_open • dynamic_link_app_open • dynamic_link_app_update • user_engagement
  14. Analytics Dashboard • Activity graph (users/days) • APRU, APPRU •

    Interests • App version • Demographics • Location (by sessions) • In-apps revenue • Devices, app version • User engagement
  15. Analytics Funnels We start to analyze different audience effectiveness, trying

    various age groups, OS versions and • 1. Start filtering by user properties, looking through the parameters we can use for advertising. • 2. Compare them to the main funnel. Achieved results: a. 18-24 years old have 2.1 times better conversion rate to adding flights & 1.51 times better purchase conversion b. OS version 6.0.1 has 1.96 times bigger add flight conversion & 1.37 times better purchase conversion
  16. BigQuery • Predictions API • Machine learning • Data Studio

    Usage example: Analyze behavior of users that’ve removed the app to predict users that most probably would delete app in the nearest future.
  17. DataStudio Data Sources • Google Attribution 360 • Google Analytics

    • BigQuery (Including Firebase) • CloudSQL • Google Sheets • MySQL • Youtube Analytics
  18. App in the Air Personal travel assistant app. Presented as

    an Android, iOS & WP apps with: 1. Flight-based travel tools (via widgets) 2. Platform: SDK for third-party developers 3. Person’s travel profile “Vital” metrics monitored on a daily basis: 1. Retention 2. Purchase conversion rate 3. Users’ rating
  19. Firebase Notifications Key Capabilities • Context-aware user-engagement tool • Automatic

    evaluation of results • Easy to use • And much more in the future slides
  20. Every target group addition, every new parameter to meter costs

    lots of dev time. Google Tag Manager is slow, less flexible and too buggy.
  21. FRC Key Capabilities • Quickly roll out changes to your

    app's userbase • Customize your app for segments of your user base • Run A/B tests to improve your app
  22. Remote Config Rule Type Operation(s) Value(s) User in random percentile

    <=, > 0-100 OS type == iOS, Android Device in region/country == Select one or more regions or countries App ID == Select from a list of App IDs for apps associated with your Firebase project. App version exactly matches, contains, does not contain, regular expression Enter a value to specify a specific version of your app. Device language == Select one or more languages. User in audience == Select from a list of Firebase Analytics audiences that you have set up for your project.
  23. Remote Config 1. Audience: iOS+specific country Action: set different price

    tiers for different countries on iOS 2. Audience: app_exception Action: small gifts|promo for those, who experienced troubles with the app. Some special achievement|status etc. 3. Audience: may vary Action: changing buyscreen appearance dynamically without app update 4. Audience: spending targeting (e.g. spent 75$ on lifetime subscription) Action: show more expensive hotels for lifetime subscribers Control Access for features (enable|disable remotely)
  24. Known problems: 1. Historical Audiences 2. Unfilterable cohorts 3. No

    audience comparison by any means 4. No audience subtraction
  25. Pros: 1. Allows target any audience we want 2. Perform

    silent actions Cons: 1. Requires additional coding 2. No automatic conversions tracking 3. Require app update Excluded audience solution
  26. Firebase SDK 1. Android 2. iOS 3. Node.js 4. Unity

    5. C++ 6. Java 7. JS (Auth, FRD, FS) Framework 1. AngularFire – FRD&Auth 2. PolymerFire – FRD?&Auth 3. ReactFire - FRD 4. EmberFire - FRD&Auth 5. BackBone - FRD Services list
  27. Android 1. FirebaseUI 1. DB (List binders) 2. Storage (displaying

    images with glide) 3. Auth 2. GeoFire 3. JobDispatcher iOS 1. FirebaseUI 2. GeoFire Web 1. Firebase Queue - Node.js 2. GeoFire 3. Firebase-dart 4. FirePad – code|text editor 5. FirebaseUtil - JS 1. Merging DB entities into one object 2. Pagination Helpers
  28. Summary: 1. Improve target user audience understanding 2. Improve user

    experience 3. Simplify function iteration process: • A/B tests & result estimation • Estimate efficiency of new functions 4. Extend abilities to analyze user behavior with automated tools (ML or Predictions API)
  29. Summary from dev perspective: 1. Fantastic support team 2. Frequent

    updates 3. Cross-platform easy to use tool 4. Analytics for mobile 5. Extended abilities in analyzing users’ behavior with automated tools (ML or Predictions API) 6. Bright future & lot’s of opportunities today 7. Documentation!
  30. Why do they do it: 1. Development for everyone 2.

    Analytics introduction: from default config to advanced skills 3. Young blood 4. Getting into iOS market 5. ML concepts popularization