<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Iran Junior | Dev Mobile on Medium]]></title>
        <description><![CDATA[Stories by Iran Junior | Dev Mobile on Medium]]></description>
        <link>https://medium.com/@iranjunior?source=rss-d6f72fa030b0------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*sAwB2zWASyckJDO0VWTWfA.png</url>
            <title>Stories by Iran Junior | Dev Mobile on Medium</title>
            <link>https://medium.com/@iranjunior?source=rss-d6f72fa030b0------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Mon, 01 Jun 2026 05:55:37 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@iranjunior/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Acessibilidade no seu app flutter]]></title>
            <link>https://iranjunior.medium.com/acessibilidade-no-seu-app-flutter-6c5d2d2a92bf?source=rss-d6f72fa030b0------2</link>
            <guid isPermaLink="false">https://medium.com/p/6c5d2d2a92bf</guid>
            <category><![CDATA[desenvolvimento-software]]></category>
            <category><![CDATA[flutter]]></category>
            <category><![CDATA[dart]]></category>
            <category><![CDATA[acessibilidade-digital]]></category>
            <category><![CDATA[mobile-app-development]]></category>
            <dc:creator><![CDATA[Iran Junior | Dev Mobile]]></dc:creator>
            <pubDate>Mon, 12 Jul 2021 20:32:16 GMT</pubDate>
            <atom:updated>2021-07-12T20:32:16.823Z</atom:updated>
            <content:encoded><![CDATA[<p>Você sabe como verificar se seu app flutter é acessível a todos ? e melhor, sabe o que precisa fazer para torna-lo ? Segue aqui que vou te mostrar tudo isso.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/899/1*5C_VJDSbzh-wEBQm_UQEXQ.png" /></figure><p>Acessibilidade nos seus apps é sempre algo importantíssimo. Você garante que mesmo pessoas com limitações físicas consigam usar o seu app. E vamos ver como garantir que seu app seja acessível com Flutter.</p><h3>Como saber se seu app é acessível ?</h3><p>Existem algumas ferramentas que podem ser usada para analisar como está a acessibilidade no seu app. Essas ferramentas podem ser:</p><ul><li><strong>Inspetores de Acessibilidade</strong>: Tais como <a href="https://play.google.com/store/apps/details?id=com.google.android.apps.accessibility.auditor&amp;hl=pt_BR&amp;gl=US">scanner de acessibilidade</a>, app exclusivo para Android. E o <a href="https://www.deque.com/blog/intro-accessibility-inspector-tool-ios-native-apps/">inspetor de acessibilidade</a>, que está disponível para iOS como ferramenta do desenvolvedor.</li><li><strong>Leitores de tela:</strong> Que são usados para ler o app. Ferramenta disponível para Android chamado <a href="https://support.google.com/accessibility/android/answer/6283677?hl=pt-BR">talkback</a>, e o <a href="https://www.apple.com/br/accessibility/vision/">VoiceOver</a> no iOS. Ele ler o conteúdo da tela para que pessoas com limitações visuais possam usar os apps.</li><li><strong>Simulador de daltonismo:</strong> Como o <a href="https://color.adobe.com/pt/create/color-accessibility">Color Adobe</a>, onde você pode simular como uma pessoa daltônica enxergaria as telas do seu app.</li></ul><h3>Criando widgets acessíveis</h3><p>O Flutter já tem todos os seus Widgets acessíveis, mas há situações onde é necessário adicionar uma descrição ou alterar o conteúdo lido pelos leitores de texto. Como nos exemplos abaixo:</p><ul><li><strong>Alterando conteúdo lido pelos inspetores de texto:</strong></li></ul><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/d721c0e470ff7931d758718ef72b66d9/href">https://medium.com/media/d721c0e470ff7931d758718ef72b66d9/href</a></iframe><p>Você pode usar algumas propriedades para alterar o texto que será lido pelo leitor de texto, tais como <strong>semanticLabel </strong>ou<strong> tooltip</strong>. Isso com certeza será útil para quando você tiver textos com símbolos monetários, ou de unidade de medida, ou quer adicionar uma legenda para uma imagem, ou uma dica para ícones, ou imagens dentro do seu app. Avalie bem o que será sobrescrito para evitar, sobrescrever informações desnecessariamente.</p><ul><li><strong>O </strong><a href="https://api.flutter.dev/flutter/widgets/Semantics-class.html"><strong>Semantics</strong></a><strong> Widget</strong></li></ul><p>O semantics é um widget que envolve outros widgets, com o intuito de fornecer novas informações para os leitores de texto, como sobrescrever textos lidos, evitar um um texto seja lido, alterar a ordem de leitura de uma tela, e etcs. Vamos ver como fazer um pouco dessas possibilidades</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/44764be42b3a14ede2979f4dc6b2ab12/href">https://medium.com/media/44764be42b3a14ede2979f4dc6b2ab12/href</a></iframe><p>A ordem de leitura seguindo o código acima:</p><figure><img alt="Ordem de leitura" src="https://cdn-images-1.medium.com/max/202/1*aM94DIv-MAiHysl4xZffbA.png" /></figure><h3>Checklist para manter seu app acessível</h3><p>Quando você estiver desenvolvendo seu app, você pode usar esse checklist abaixo para garantir que seu app está no caminho certo.</p><ul><li>Mantenha textos fáceis para ler com tamanhos maiores.</li><li>Use os leitores de tela, para checar a experiência das pessoas com limitações visuais teria no seu app.</li><li>Fique atento aos constrastes entre textos e fundos, ou textos em imagens, ou mudança de cores. Para que todos possam conseguir ler seus conteúdos mais facilmente.</li><li>Use de feedbacks visuais como <a href="https://material.io/components/snackbars">snackbar</a> em interações no app que realizam ações que não tem resultado claro.</li><li>Cheque se seus Widgets conseguem aumentar ou diminuir de tamanho quando ferramentas de acessibilidade que dão zoom no sistema estiver habilitada.</li></ul><h3>Conclusão</h3><p>Nosso trabalho como desenvolvedor é proporcionar a melhor experiência para todos que usem nossos apps. E tornando seu app mais acessível, você garante que mesmo pessoas com limitações físicas conseguiam usar seus apps normalmente.</p><p>Todo conteúdo usado aqui foi testado, e pode ser consultado no repositório do github.</p><p><a href="https://github.com/iranjunior/acessibility_flutter">iranjunior/acessibility_flutter</a></p><p><em>Obrigado por ter chegado até aqui. Se esse conteúdo foi útil para você, reage aqui, para levarmos mais conhecimento em Flutter para todo o Brasil ! 🇧🇷🚀</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=6c5d2d2a92bf" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Criando versões diferentes do mesmo app]]></title>
            <link>https://iranjunior.medium.com/criando-vers%C3%B5es-diferentes-do-mesmo-app-50b02c2fa86a?source=rss-d6f72fa030b0------2</link>
            <guid isPermaLink="false">https://medium.com/p/50b02c2fa86a</guid>
            <category><![CDATA[flavor]]></category>
            <category><![CDATA[ios-development]]></category>
            <category><![CDATA[android-app-development]]></category>
            <category><![CDATA[flutter]]></category>
            <dc:creator><![CDATA[Iran Junior | Dev Mobile]]></dc:creator>
            <pubDate>Tue, 29 Jun 2021 15:15:16 GMT</pubDate>
            <atom:updated>2021-06-29T16:36:48.134Z</atom:updated>
            <content:encoded><![CDATA[<p>Você sabia que é possível criar versões diferentes do mesmo app de maneira simples e fácil com flutter ?</p><figure><img alt="Ilustração de desenvolvimento versionado" src="https://cdn-images-1.medium.com/max/545/1*PLMf2EDFLgwnFkWQ9TwVgg.png" /></figure><p>Criar versões diferentes do mesmo app, é bastante interessante quando você tem ambientes diferentes para uma aplicação, por exemplo <strong>ambientes de desenvolvimento, homologação(ou uat), e produção</strong>. Essa técnica é chamada de <a href="https://flutter.dev/docs/deployment/flavors"><strong>flavors</strong></a><strong>.</strong> E adotando esse recurso no seu app flutter você pode ter uma versão do app apontando para serviços de backend de produção, enquanto outra versão aponta para ambientes de homologação por exemplo. Pode ter <a href="https://pt.wikipedia.org/wiki/Feature_toggle">features toggles</a> diferentes para cada ambiente. Ou mesmo desabilitar um criterio de segurança, para um ambiente de dev, mas manter-lo em funcionamento em prod por exemplo.</p><p>Esse é um recurso muito aplicado em grandes empresas, já que você pode ter o time de <a href="https://www.caroli.org/o-que-faz-um-qa/">QA</a> validando o app, com a versão de <a href="https://blog.testlodge.com/what-is-user-acceptance-testing/">UAT</a>, e a equipe de desenvolvimento a todo vapor com as versões de dev. E se você numa implementou, fica aqui até o final que te mostro como implementar.</p><h3>Como criar Flavors em apps flutters ?</h3><p>Existem algumas maneiras de criar flavors de apps flutter, você pode fazer a configuração nativa para cada sistema operacional (Android e iOS) indo diretamente na configuração dos builds no gradle para o andorid, ou mesmo criando os schemas dentro do xcode para apps iOS. A vantagem de fazer esse tipo de configuração é que é pode ser usado tanto para Flutter, como para apps <a href="https://reactnative.dev/">React Native</a>. Isso porque você está fazendo as configurações manualmente.</p><p>Mas nesse post vamos usar uma pacote flutter para automatizar a criação dos flavors para nosso app, o <a href="https://pub.dev/packages/flutter_flavorizr"><strong>flutter_flavorizr</strong></a>. Ele será o responsável pela criação dos builds para cada flavor. E gerará arquivos importantes para que possamos fazer nosso app reagir da maneira correta para cada ambiente.</p><blockquote>Mas para não deixar nada em aberto, vou deixar uns links com tutorias de como configurar os flavors, dentro do <a href="https://softwarehut.com/blog/tech/multi-flavor-apps-development-android-need">Android</a> e do <a href="https://shockoe.com/ideas/development/how-to-setup-configurations-and-schemes-in-xcode/">iOS</a></blockquote><h3>Configurando app</h3><p>Toda a configuração do flavor pode ser feita dentro do <a href="https://dart.dev/tools/pub/pubspec"><strong>pubspec.yaml</strong></a>, como pode ser visto abaixo:</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/a4874497f63a83762d06a5edd588990a/href">https://medium.com/media/a4874497f63a83762d06a5edd588990a/href</a></iframe><p>Você pode configurar ids diferentes, conexões com o <a href="https://firebase.google.com/">firebase</a> e outros valores para cada ambiente.</p><p>E para criar esses ambientes, você deve executar:</p><pre>flutter pub run flutter_flavorizr</pre><h3>Executando o app na versão adequada</h3><p>Para rodar o app em cada ambiente você pode executar:</p><pre>flutter run --flavor <strong>{dev/homolog/prod}</strong> -t lib/main-<strong>{dev/homolog/prod}</strong>.dart # Para ambiente de dev</pre><blockquote>Se você criou ambientes diferentes desses, substitua para o nome que você criou.</blockquote><p>Caso você esteja rodando pelo <a href="https://code.visualstudio.com/"><strong>vscode</strong></a>, você pode configurar o <a href="https://code.visualstudio.com/docs/editor/debugging">launch.json</a> para executar o código no ambiente que desejar. Algo como:</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/316d0a61638dd1cb804d5549005bc224/href">https://medium.com/media/316d0a61638dd1cb804d5549005bc224/href</a></iframe><figure><img alt="" src="https://cdn-images-1.medium.com/max/405/1*e64PMWmBWzDUf3eaZESPcA.png" /><figcaption>Exibindo as opções de execução</figcaption></figure><h3>Alterando ícone para cada ambiente</h3><p>Você pode alterar o ícone para cada ambiente manualmente. Criando os arquivos de ícones, dentro de cada ambiente. Mas nesse post vamos automatizar isso com a lib <a href="https://pub.dev/packages/flutter_launcher_icons"><strong>flutter_launcher_icons</strong></a><strong>. </strong>Para configurar os ícones para cada ambiente você deve criar os arquivos de configuração referente a estes ambientes. Como o exemplo abaixo:</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/45ebbbb38785e446810adc6f81d75755/href">https://medium.com/media/45ebbbb38785e446810adc6f81d75755/href</a></iframe><p>E quando criar os arquivos você deve executar o comando abaixo para criar os ícones.</p><pre>flutter pub run flutter_launcher_icons:main -f flutter_launcher_icons-${<strong>ambiente</strong>}.yaml</pre><p>Caso para o iOS não funcione, você precisará no <a href="https://developer.apple.com/xcode/">xcode</a> marcar o os ícones corretos para cada flavor. Como Baixo:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/600/1*eXQKT2AcKbZQ_Vp6vWOBvA.gif" /><figcaption>Build Settings &gt; Asset Catalog App Icon Set Name</figcaption></figure><p>O resultado final deve ser algo parecido com isso:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/828/1*mn-7txFAxSegcS7cjLYW8g.png" /></figure><h3>Adequando o app para cada ambiente</h3><p>O plugin do <strong>flutter_flavorizr</strong> gera um arquivo chamado <strong>flavors.dart</strong>, com ele você pode criar getters que podem ser úteis para chamar apis diferentes, categorias de logs, ou mesmo ativar ou não um recurso. Vou deixar um exemplo, para que fique mais claro como usar.</p><blockquote>Mas lembre-se de realizar as adequações dentro do seu app da forma mais adequada para a estrutura no qual ele. Afim de não prejudicar a estrutura existente.</blockquote><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/52fe0581ad400c6f7e7d21a831db9c65/href">https://medium.com/media/52fe0581ad400c6f7e7d21a831db9c65/href</a></iframe><p>Imagens dos apps diferentes para cada ambiente:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/828/1*a89Qtpa-HBD4pQ2ZYJwN6g.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/828/1*orjIgy4_yb9ohgBNpXcyqA.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/828/1*kEkR6ZhlEYWKjsXo7hh3Og.png" /><figcaption>Versões diferentes do mesmo app</figcaption></figure><h3>Conclusão</h3><p>Os flavors é um recurso fantástico e com um poder absurdo. É importantíssimo para grandes aplicações, com vários <a href="https://targetteal.com/pt/blog/modelo-spotify-squads/">times/squads</a> atuando e trabalhando no mesmo app. Onde você consegue manter versões apenas com features estáveis, e prontas para produção. E tudo isso mantendo uma versão livre para que o time de desenvolvimento possa está a todo vapor no desenvolvimento.</p><p>Todo conteúdo usado aqui foi testado, e pode ser consultado no repositório do github.</p><p><a href="https://github.com/iranjunior/flavors_flutter">iranjunior/flavors_flutter</a></p><p><em>Obrigado por ter chegado até aqui. Se esse conteúdo foi útil para você, reage aqui, para levarmos mais conhecimento em Flutter para todo o Brasil !</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=50b02c2fa86a" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Como registrar bugs e crashs do seu app Flutter]]></title>
            <link>https://iranjunior.medium.com/como-registrar-bugs-e-crashs-do-seu-app-flutter-2d9cff262d8a?source=rss-d6f72fa030b0------2</link>
            <guid isPermaLink="false">https://medium.com/p/2d9cff262d8a</guid>
            <category><![CDATA[crashlytics]]></category>
            <category><![CDATA[firebase]]></category>
            <category><![CDATA[observability]]></category>
            <category><![CDATA[flutter]]></category>
            <dc:creator><![CDATA[Iran Junior | Dev Mobile]]></dc:creator>
            <pubDate>Mon, 28 Jun 2021 17:58:45 GMT</pubDate>
            <atom:updated>2021-06-28T21:38:29.118Z</atom:updated>
            <content:encoded><![CDATA[<p>Você sabe como registrar bugs e possíveis crashs do seu app flutter ? Continua na leitura que te mostro ferramentas, e como realizar esses registros.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*czzPSqucF_iXRz636cdpgg.png" /></figure><p>Os registros de bugs e crash dentro de seu app são essenciais para aplicações que estão preocupadas em estar sempre melhorando. Com os dados gerados por esses registros o time de desenvolvimento irá conseguir sanar os principais problemas que podem está acontecendo na sua aplicação. Vamos ver como realizar esses registro no <strong>flutter</strong>. Para isso vamos conhecer o que <strong>crashlytics.</strong></p><h3>O que é crashlytics ?</h3><p>É uma ferramenta que coleta falhas em aplicativos e gera relatórios dessas falhas. Usando uma ferramenta de crashlytics você pode “triggar” pessoas quando acontecer muitas falhas, acompanhar o histórico de bugs, listas as ocorrências mais recorrentes ou as mais impactantes, gerar métricas de quanto você deixa de rentabilizar por causa das falhas, ou mesmo o quanto de acesso perdido devido a bugs recorrentes.</p><p>Ou seja, ela pode gerar muitos insights para que a sua equipe de negócio possa tomar as melhores decisões.</p><h3>Como funciona o crashlytics ?</h3><p>O funcionamento do crashlytics pode mudar dependendo de qual serviço você está usando, mas de modo geral:</p><ol><li>O crashlytics fica no seu app “vendo” tudo o que está acontecendo.</li><li>Quando há uma falha ele captura essa falha e lança para o serviço gerador de relatórios.</li></ol><p>Você pode criar sua própria ferramenta de crashlytics que funcione desse jeito, ou usar serviços já prontos como o <a href="https://firebase.google.com/products/crashlytics?gclid=CjwKCAjw8cCGBhB6EiwAgOReyybipis1eNNjkC-ZU3qPPEcdKT42TwUNkWbtsGQ4sWWaJo4oPsdcFhoCHMwQAvD_BwE&amp;gclsrc=aw.ds"><strong>Firebase</strong></a><strong> </strong>e <a href="https://sentry.io/welcome/?utm_source=google&amp;utm_medium=cpc&amp;utm_campaign=9657410528&amp;utm_content=g&amp;utm_term=sentry&amp;gclid=CjwKCAjw8cCGBhB6EiwAgOReywtXTOMT6X-jgaG6poWFRZyPth8lLiRQ-hT8WpGeZKz36mfnp-PgWBoC4A8QAvD_BwE"><strong>sentry</strong></a>. Mas o importante é obter os dados.</p><p>Nesse post vamos usar o <strong>firebase</strong>, mas em posts futuros teremos com o sentry também.</p><iframe src="https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fgiphy.com%2Fembed%2Fl0MYzAwMPl8s0jtSg%2Ftwitter%2Fiframe&amp;display_name=Giphy&amp;url=https%3A%2F%2Fmedia.giphy.com%2Fmedia%2Fl0MYzAwMPl8s0jtSg%2Fgiphy.gif&amp;image=https%3A%2F%2Fi.giphy.com%2Fmedia%2Fl0MYzAwMPl8s0jtSg%2Fgiphy.gif&amp;key=a19fcc184b9711e1b4764040d3dc5c07&amp;type=text%2Fhtml&amp;schema=giphy" width="435" height="244" frameborder="0" scrolling="no"><a href="https://medium.com/media/0a3161ad9b05be6bbbd846e13a0fe17b/href">https://medium.com/media/0a3161ad9b05be6bbbd846e13a0fe17b/href</a></iframe><h3>Criando um projeto no firebase</h3><p>Nesse post vamos usar o firebase para coletar as falhas. Mas vamos ignorar a configuração inicial do firebase e focar apenas na configuração e utilização do crashlytics.</p><p>Android:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/634/1*ImIfcCyoI0DU4IMmPt91GA.gif" /><figcaption>Configuração do crashlytics no android</figcaption></figure><p>iOS:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/634/1*3INI16Qi4wIr9NXF-W7y0w.gif" /><figcaption>Configuração do crashlytics no iOS</figcaption></figure><h3>Inserindo erros manualmente no crashlytics</h3><p>Dependendo do seu aplicativo você talvez só precise monitorar uma parte do seu app. Você pode fazer isso inserindo dados &quot;manualmente&quot; no crashlytics. Como pode ser visto no snippet abaixo:</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/2c7797e454520a7a677dc4f74e8f7515/href">https://medium.com/media/2c7797e454520a7a677dc4f74e8f7515/href</a></iframe><p>Resultado no Crashlytics:</p><figure><img alt="Resultado no crashlytics" src="https://cdn-images-1.medium.com/max/541/1*J12hT8zswKYbN-rpXinhKw.png" /><figcaption>Resultado no crashlytics</figcaption></figure><h3>Inserindo uma zona de captura</h3><p>O mais comum nos grandes apps é criar uma <a href="https://api.flutter.dev/flutter/dart-async/runZonedGuarded.html">zona de captura</a> de erro. Isso pode ser útil para capturar todos os erros que podem acontecer numa parte do seu app. No exemplo abaixo eu crio uma zona de captura que abrange o app inteiro, mas é importante que seja criado zonas menores para que identifica melhor os erros que podem acontecer dentro de um recurso específico do seu app. Vamos ao exemplo:</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/f757dd8af80f63d907bc5f4d5c76b758/href">https://medium.com/media/f757dd8af80f63d907bc5f4d5c76b758/href</a></iframe><h3>Inserindo erros fora da estrutura do Flutter</h3><p>Você também pode ficar monitorando erros que acontecem fora do flutter, mas ainda no escopo do seu app. Isso pode ser útil para entender como seu app reage a esse tipo de falha, e como o seu time de engenharia consegue atuar nesse tipo de problema.</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/a5e36b4bd72e0121ea5e4de4cca6c6b1/href">https://medium.com/media/a5e36b4bd72e0121ea5e4de4cca6c6b1/href</a></iframe><h3>Criando chaves para geração de filtros</h3><p>Você pode criar chaves para os registros dos erros nos usuários. Isso pode ser útil para realização de filtros, ou gerar métricas mais específicas. Você pode registrar chaves para usuários, ou features dentro do app, e usar essas chaves para geração de gráficos mais inteligentes, insights interessantes para correção de bugs, ou mesmo encontrar tentativas de ataque ao seu app. Vamos ver como fazer isso no exemplo abaixo:</p><iframe src="" width="0" height="0" frameborder="0" scrolling="no"><a href="https://medium.com/media/a98a9afb3245d74e158738939f9279e0/href">https://medium.com/media/a98a9afb3245d74e158738939f9279e0/href</a></iframe><p>Saída no firebase:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/732/1*tWAVDPvBnIOPmSHoIrVyJA.png" /><figcaption>Registrando identificador do usuário que pegou a falha</figcaption></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/798/1*SS0j_wR5g4X9e7sv1LCFhg.png" /><figcaption>Como a falha chega ao firebase</figcaption></figure><h3>Conclusão</h3><p>Os registros de bugs e crash dentro de seu app são essenciais para aplicações que estão preocupadas em estar sempre melhorando. Com o flutter é muito simples de implementar, esses registros. Então use esse recurso visto aqui e fique a vontade para me consultar nas minhas redes para retirada de dúvidas.</p><p><em>Obrigado por ter chegado até aqui. Se esse conteúdo foi útil para você, reage aqui, para levarmos mais conhecimento em Flutter para todo o Brasil !</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=2d9cff262d8a" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>