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

What's New with Firebase

Ash Davies
November 12, 2016

What's New with Firebase

After this years Google I/O, Firebase was upgraded and become an even more important role in the range of Google services available. Now properly integrated with Google Services, Firebase offers developers much more than than just a database for "personal" projects.

The new updated Firebase however has left many developers a bit puzzled on how to properly include Firebase in their projects, how it integrates into Google Services, and how they can make use of the new features available.

If you’ve used Firebase already, you might be aware of how to integrate and make use of it in your applications but if not prior knowledge isn’t necessary. In this talk I’d like to share with you how migrate your existing code to the updated versions, what new features you’ll be able to take advantage of, and any pitfalls that you can hopefully avoid!

https://2016.devfest-berlin.de/schedule/#session-2206

Ash Davies

November 12, 2016
Tweet

More Decks by Ash Davies

Other Decks in Programming

Transcript

  1. What's New in Firebase!
    Ash Davies

    View Slide

  2. What's Firebase?

    View Slide

  3. Developing is Hard

    View Slide

  4. View Slide

  5. View Slide

  6. View Slide

  7. View Slide

  8. View Slide

  9. Authentication
    → Authentication & account management
    → Email & password authentication
    → Google, Facebook, Twitter, GitHub
    → Custom OAuth2 redirect domains

    View Slide

  10. Realtime
    Database

    View Slide

  11. Data Synchronisation
    → Graceful Connectivity Loss

    View Slide

  12. Data Synchronisation
    → Graceful Connectivity Loss
    → Application Data Cache

    View Slide

  13. Data Synchronisation
    → Graceful Connectivity Loss
    → Application Data Cache
    → Client Synchronisation

    View Slide

  14. Data Synchronisation
    → Graceful Connectivity Loss
    → Application Data Cache
    → Client Synchronisation
    → Conflict Resolution

    View Slide

  15. 10MB Cache

    View Slide

  16. Can I still change the
    configured cache size?

    View Slide

  17. No!

    View Slide

  18. Cloud Hosted
    NoSql Database

    View Slide

  19. {
    "users": {
    "alovelace": {
    "name": "Ada Lovelace",
    "contacts": {
    "ghopper": true
    },
    },
    "ghopper": { ... },
    "eclarke": { ... }
    }
    }

    View Slide

  20. What's New?

    View Slide

  21. Set Up
    // Legacy SDK
    compile "com.firebase:firebase-client-android:2.5.2"
    // Distributed SDK
    compile "com.google.firebase:firebase-core:9.8.0"
    compile "com.google.firebase:firebase-auth:9.8.0"
    compile "com.google.firebase:firebase-database:9.8.0"
    compile "com.google.firebase:firebase-crash:9.8.0"
    compile "com.google.firebase:firebase-config:9.8.0"

    View Slide

  22. View Slide

  23. dependencies {
    // ...
    }
    apply plugin: 'com.google.gms.google-services'

    View Slide

  24. The Tasks API1
    Task task = FirebaseAuth.getInstance().signInAnonymously();
    task.addOnSuccessListener(new OnSuccessListener() {
    @Override public void onSuccess(AuthResult result) {
    /* ... */
    }
    });
    task.addOnFailureListener(new OnFailureListener() {
    @Override public void onFailure(@NonNull Exception exception) {
    /* ... */
    }
    });
    1 https://developers.google.com/android/guides/tasks

    View Slide

  25. Analytics
    → Free and Unlimited

    View Slide

  26. Analytics
    → Free and Unlimited
    → Automatic Reporting

    View Slide

  27. Analytics
    → Free and Unlimited
    → Automatic Reporting
    → Seamlessly Integrated

    View Slide

  28. Analytics
    → Free and Unlimited
    → Automatic Reporting
    → Seamlessly Integrated
    → Cross Platform

    View Slide

  29. Audiences

    View Slide

  30. Where's my Data?

    View Slide

  31. View Slide

  32. Google Data Studio
    Firebase Templates

    View Slide

  33. Firebase Analytics
    Debug View

    View Slide

  34. Firebase Analytics
    Stream View

    View Slide

  35. View Slide

  36. Crash Reporting

    View Slide

  37. Crash Reporting
    Detailed Insights with Analytics

    View Slide

  38. View Slide

  39. Remote Config
    → Audience Customisation

    View Slide

  40. Remote Config
    → Audience Customisation
    → Staged Roll Out

    View Slide

  41. Remote Config
    → Audience Customisation
    → Staged Roll Out
    → Feature Flags

    View Slide

  42. Remote Config
    → Audience Customisation
    → Staged Roll Out
    → Feature Flags
    → A/B Testing

    View Slide

  43. Hosting
    → Serve static assets

    View Slide

  44. Hosting
    → Serve static assets
    → SSL by default

    View Slide

  45. Hosting
    → Serve static assets
    → SSL by default
    → Custom domains

    View Slide

  46. Hosting
    → Serve static assets
    → SSL by default
    → Custom domains
    → Available free

    View Slide

  47. Storage
    → Robust Operations
    → Strong Security
    → High Scalability

    View Slide

  48. Cloud Messaging

    View Slide

  49. View Slide

  50. Admin SDK
    → Integrate with CI systems
    → Import users into Firebase Auth
    → Manage Users, Database

    View Slide

  51. But wait, there's more!
    → App Invites
    → App Indexing
    → Dynamic Links
    → Test Lab
    → AdWords

    View Slide

  52. ! Android Peppermint
    Realtime Chat
    github.com/ashdavies/peppermint

    View Slide

  53. QR, SRSLY?!

    View Slide

  54. ! Android Peppermint
    Google Nearby API
    ...
    github.com/ashdavies/peppermint

    View Slide

  55. Twitterers
    → Doug Stevenson - CodingDoug
    → Laurence Moroney - lmoroney

    View Slide

  56. Twitterers
    → Doug Stevenson - CodingDoug
    → Laurence Moroney - lmoroney
    Shameless...
    → Ash Davies - DogmaticCoder

    View Slide

  57. Resources
    GitHub - github.com/firebase
    YouTube - youtube.com/firebase
    Slack - firebase-community.appspot.com
    Slides - github.com/ashdavies/talks

    View Slide

  58. Thank You.

    View Slide