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

Firebase - Muito mais que um BaaS

Rafael Toledo
September 08, 2017

Firebase - Muito mais que um BaaS

Apresentada no HackTown 2017

Rafael Toledo

September 08, 2017
Tweet

More Decks by Rafael Toledo

Other Decks in Technology

Transcript

  1. Rafael Toledo Gerente do Time de Android Desenvolvedor Android desde

    2011 Bacharel e Pós-Graduado na FAI aqui em Santa Rita do Sapucaí
  2. Realtime Database Real time syncing for JSON data The Firebase

    Realtime is a cloud-hosted NoSQL database that lets you store and sync data between your users in realtime. Pay to Scale
  3. Collaborate across devices with ease Realtime syncing makes it easy

    for your users to access their data from any device: web or mobile, and it helps your users collaborate with one another.
  4. Build serverless apps Realtime Database ships with mobile and web

    SDKs so you can build apps without the need of servers. You can also execute backend code that responds to events triggered by your database using Cloud Functions for Firebase
  5. Optimized for offline use When your users go offline, the

    Realtime Database SDKs use local cache on the device to serve and store changes. When the device comes online, the local data is automatically synchronized.
  6. Strong user-based security The Realtime Database integrates with Firebase Authentication

    to provide simple and intuitive authentication for developers. You can use our declarative security model to allow access based on user identity or with pattern matching on your data.
  7. Crash Reporting Keep your app stable Firebase Crash Reporting provides

    comprehensive and actionable information to help diagnose and fix problems in your app. Correct issues quickly before they affect too many of your users.
  8. Easy to Integrate It's easy to get started with Firebase

    Crash Reporting for your iOS or Android app. Out of the box, our SDK will automatically log crashes from devices in the wild.
  9. Errors are Clustered, and Prioritized The Crash Reporting dashboard clusters

    similar errors and prioritizes them automatically, so you can quickly fix the bugs affecting the most users.
  10. Our detailed crash reports surface important information about the app

    versions, OS versions, and device models that a crash is affecting. With this information on hand, you can identify the root cause faster. Identify Problem Devices and Versions
  11. Every time your app crashes, you're inviting your users to

    leave a poor rating in the App Store or on Google Play. Firebase Crash Reporting makes it easy to fix the bugs affecting your users most. Avoid bad Ratings
  12. Authentication Easy sign in with any platform Firebase Authentication aims

    to make building secure authentication system easy, while improving sign-in and onboarding experience for end users. It provides an end-to-end identity solution, supporting Email/password accounts, phone auth, Google, Twitter, Facebook, Github login and more.
  13. Flexible, drop-in UI FirebaseUI provides a customizable, open-source, drop-in auth

    solution that handles the UI flows for signing in users. The FirebaseUI Auth component implements best practices for authentication on mobile devices and websites, which can maximize sign-in and sign-up conversion for your app.
  14. Built by the same team that developed Google Sign-in, Smart

    Lock and Chrome Password Manager and applies Google's internal expertise of managing one of the largest account databases in the world. Comprehensive Security
  15. It can take months to set-up your own auth system

    and requires an engineering team to maintain in the future. Set up the entire authentication system of your app in under 10 lines of code, even handling complex cases like account merging. Fast implementation
  16. Pay to Scale Cloud Functions Develop a Backend without servers

    Create functions that are triggered by Firebase products, such as changes to the data in the Realtime Database, new users sign ups via Auth, and conversion events in Analytics. Are you Google Cloud Platform developer? See Google Cloud Functions.
  17. Run your mobile backend code without managing servers Cloud Functions

    are single-purpose JavaScript functions that are executed in a secure, managed Node.js environment. They are only executed when a specific event being watched is emitted.
  18. Low maintenance Deploying your code to our servers requires just

    one command. After that, Cloud Functions automatically scales up computing resources to match the usage patterns of your app. You never worry about SSH credentials, server configuration, provisioning new servers, or decommissioning old ones.
  19. Keeps your logic private and secure In many cases, application

    logic is best controlled on the server to avoid tampering on the client side. Cloud Functions are fully insulated from the client, so you can be sure they are private and secure and can't be reverse engineered.
  20. Pay to Scale Cloud Storage Store your users' photos and

    videos Cloud Storage is designed to help you quickly and easily store and serve user-generated content, such as photos or videos.
  21. Build at Google scale Our infrastructure is built for when

    your app goes viral. Effortless grow from prototype to production using the same technology that powers apps like Spotify and Google Photos.
  22. Robust uploads and downloads Your users aren't always online, so

    we built the Firebase SDK for Cloud Storage with mobile connectivity in mind. It will automatically pause and resume your transfers as the app loses and regains mobile connectivity, saving your users time and bandwidth.
  23. Strong user-based security The Firebase SDK for Cloud Storage integrates

    Firebase Authentication to provide simple and intuitive access control. You can use our declarative security model to allow access based on user identity or properties of a file, such as name, size, content type, and other metadata.
  24. Pay to Scale Hosting Deliver web content fast With Firebase

    Hosting, you can deploy a single page webapp, a mobile app landing page, or a progressive web app without all the hassle.
  25. SSD-backed hosting, around the world No matter where a user

    is, content is delivered fast. Files deployed to Firebase Hosting are cached on SSDs at CDN edge servers around the world.
  26. Free SSL certificates for custom domains Firebase Hosting automatically provisions

    and configures an SSL certificate for each site deployed. Connect a custom domain with painless verification.
  27. Deploy with one command Deploying your app from a local

    directory to the web only takes one command. See deployment history and rollback to a previous version from the Firebase console.
  28. Pay to Scale Test Lab for Android Run your app

    on real devices To ensure your app quality, Firebase Test Lab for Android provides you physical and virtual devices that allow you to run tests that simulate actual usage environments.
  29. Integrates with your existing workflows Whether in Android Studio, in

    a continuous integration environment, or through a web browser, Firebase Test Lab fits your workflow and makes it easy to start your tests.
  30. Test your app, no coding required! Don't have tests? Our

    intelligent crawler, Robo, navigates your app automatically. It reports crashes and provides screenshots so you can spot errors before your users see them.
  31. Actionable results at your fingertips Our comprehensive test reports include

    logs, screenshots, and videos, allowing you to fix any issues you might find with your app and take it back to a more stable state.
  32. Performance Monitoring Keep your app fast and responsive Get insights

    into how your app performs from your users' point of view, with automatic and customized performance tracing.
  33. Use traces to get performance context Using custom traces, you

    can understand the context in which performance issues take place, and more easily address them. You can also make use of automated traces, like app startup time.
  34. Keep your eyes on network behavior Understand the network latencies

    affecting your users with automated monitoring of HTTP/S requests. You can track response times, success rates, payload sizes, and the time spent waiting for the payload vs. downloading it.
  35. Pinpoint the origin of issues Break down both trace and

    network data into dimensions like app version, country, device and OS level to get to the bottom of issues.
  36. Google Analytics Re-imagine analytics for mobile Google Analytics for Firebase

    provides free, unlimited reporting on up to 500 distinct events. The SDK automatically captures certain key events and user properties, and you can define your own custom events to measure the things that uniquely matter to your business.
  37. User insights from acquisition to app usage Analytics surfaces data

    about user behavior in your Android or iOS apps, enabling you to make better decisions about your product and marketing optimization. View crash data, notification effectiveness, deep link performance, in-app purchase data, and more.
  38. Attribution across dozens of sources Analytics integrates with dozens of

    ad networks, making it easy to track and attribute app campaign performance across sources with just one SDK. Close the loop and send conversion data back to those networks via postbacks to optimize campaign performance.
  39. Segmentation and optimization in one dashboard Define custom audiences in

    the Firebase Console based on device data and user behavior by utilizing events, and user properties, then use those segments for notifications, A/B tests (via Firebase Remote Config), and AdWords remarketing. For custom analysis, you can export raw data to BigQuery.
  40. Realtime analytics Understand user behavior and view live usage data

    with realtime reporting. Use StreamView to get a live, dynamic view of your analytics data, and use DebugView to validate your analytics instrumentation by visualizing the stream of events logged by your development devices. Want custom reports? Stream your events to BigQuery in realtime and create custom dashboards in Google Data Studio.
  41. Seamless integration with AdMob When you link your AdMob app

    to Firebase, your Analytics reports will incorporate ads metrics and AdMob revenue, giving you a richer view of the Lifetime Value of your users and the performance of your in-app advertising strategy.
  42. Cloud Messaging Send messages to any devices Firebase Cloud Message

    (FCM) provides a reliable and battery-efficient connection between your server and devices that allows you to deliver and receive messages and notifications on Android, iOS, and the web at no cost.
  43. Easily target messages using predefined segments or create your own,

    using demographics and behavior. Target messages to devices that have subscribed to specific topics, or get as granular as a single device. Advanced message targeting
  44. Customized notification content Deliver notifications immediately, or at a future

    time in the user's local timezone. Send custom data, set priorities, sounds, and expiration dates, and track custom conversion events.
  45. Notification messages are fully integrated with Firebase Analytics, giving you

    access to detailed engagement and conversion tracking. Monitor effectiveness from a single dashboard with no coding required. No coding required for sending notifications
  46. Dynamic Links Deep links that survive the install process Dynamic

    Links are smart URLs that allow you to send existing and potential users to any location within your iOS or Android app. They survive the app install process, so even new users will see the content they're looking for when they open the app for the first time. Dynamic Links are free forever, for any scale.
  47. Convert mobile web users to native app users With Dynamic

    Links, you can seamlessly transition users from your mobile website to the equivalent content within your app. And because the links survive the app install process, even new users can pick up where they left off on your mobile site without missing a beat.
  48. Increase conversion for user-to-user sharing When a user shares content

    from your app, the ultimate goal is to convert their friends into active native app users. One of the most effective ways to accomplish that is to skip generic onboarding and present personalized content when the app is first opened. Dynamic Links makes this easy.
  49. Drive more installs with social, email, and SMS marketing campaigns

    Promotional campaigns that include Dynamic Links work for all users on every platform. When users open or installs your app, they'll see the exact content your campaign is marketing, including any discounts you're offering.
  50. Turn desktop users into mobile app users Dynamic Links can

    help migrate users from your website to your mobile app. Give them an easy way to send themselves a link, and when that link is clicked on a mobile device it will automatically open in the right context within your app (even if they need to install the app first).
  51. Remote Config Make changes without republishing With Firebase Remote Config,

    you can change the behavior and appearance of your app on the fly from the Firebase Console, and then track performance in Google Analytics for Firebase. Customize by audience segment, release new content, and split test to validate improvements, all without waiting for app store approval.
  52. Customize everything about your app Make changes to your app's

    default behavior and appearance by changing server-side parameter values. For example, you could change your app's color theme to match a seasonal promotion or change the start date of a sale with no need to publish an app update.
  53. Tailor your app to different audiences Provide a different app

    experience to different segments of your user base. You can segment by user property, app version, operating system, language, country, and by any custom audience you can define in Firebase Analytics.
  54. Invites Out-of-box solution for referrals Enable your users to share

    all aspects of your app, from referrals code to favorite content, via email or SMS. This out-of-the-box solution works with Google Analytics for Firebase, so that you know when a user has opened or installed an app via invite.
  55. How does it work? Words of mouth is one of

    the most effective ways of getting users to install your app. In a recent study of thousands of smartphone users, researchers found that the #1 reason people discovered an app is because they heard about it from a friend or colleague. Firebase Invites makes it easy to turn your app's users into your app's strongest advocates.
  56. App Indexing Re-engage your users from Google Search Surface links

    to your app on Google Search autocompletions and results pages when users search content that your app provides.
  57. Improve your ranking on Search Integrating your app with the

    App Indexing API enhances the ranking performance for links to your app on Google Search.
  58. Get discovered by new users New users see an install

    card for your app in Search results when relevant queries trigger. They can still access your app content from Search if it's an Android Instant App.
  59. Increase revenue with better in-app ad targeting App Indexing and

    AdMob work together to improve the relevance of ads shown in your app, helping to drive increased advertising revenue.
  60. AdMob Easy way to monetize mobile apps Earn money by

    displaying engaging ads to a global audience. AdMob has all you need to implement first-class monetization strategies and to maximize the revenue generated by each user. It can be tailored to your app, and its API are built to integrate rich ad formats with ease.
  61. Earn more Use in-app advertising to show ads from millions

    of Google advertisers and access programmatic demand, or use AdMob Mediation to earn from 40+ networks.
  62. Improve user experience AdMob's native ads preserve user experience, and

    innovative video ads keep users engaged. Choose from many formats to suit your app.
  63. Scale fast Get free, unlimited mobile app analytics with Google

    Analytics for Firebase. Scale with free house ads and tools to manage deals with advertisers.
  64. Rewarded Video Ads Create engaging ads experiences by offering your

    users in-app rewards (e.g. points, currency, avatars, levels). You can change user incentives without updating your code or use rewarded mediation to dynamically show the highest-yielding ad every time.
  65. Native Ads Simply pick a template, customize to match your

    app, and implement the code. Make style changes on the fly without re-publishing.
  66. AdWords Reach potential customers with online ads Acquire and retain

    users with the reach of Google. You can run ads across Search, display, and video as well target specific user segments you define in Google Analytics for Firebase. Improve ad targeting and optimize your campaign performance.