<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Sachin-senapati</title>
    <description>The latest articles on Forem by Sachin-senapati (@sachinsenapati).</description>
    <link>https://forem.com/sachinsenapati</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F957898%2Ff6692095-3c7e-40cd-a3a0-afd9f4cf97a8.png</url>
      <title>Forem: Sachin-senapati</title>
      <link>https://forem.com/sachinsenapati</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/sachinsenapati"/>
    <language>en</language>
    <item>
      <title>How to Sign and Upload Your Android App to Google Play using App Signing by Google Play</title>
      <dc:creator>Sachin-senapati</dc:creator>
      <pubDate>Mon, 01 Sep 2025 11:16:26 +0000</pubDate>
      <link>https://forem.com/sachinsenapati/how-to-sign-and-upload-your-android-app-to-google-play-using-app-signing-by-google-play-1bp8</link>
      <guid>https://forem.com/sachinsenapati/how-to-sign-and-upload-your-android-app-to-google-play-using-app-signing-by-google-play-1bp8</guid>
      <description>&lt;p&gt;Before you can upload your Android app to the Play Store, it must be &lt;strong&gt;digitally signed&lt;/strong&gt;. This guide walks through signing your React Native (or native Android) app using a &lt;strong&gt;keystore&lt;/strong&gt;, generating a release &lt;strong&gt;AAB (Android App Bundle)&lt;/strong&gt;, and configuring &lt;strong&gt;Google Play App Signing&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Since 2017, Google offers &lt;strong&gt;App Signing by Google Play&lt;/strong&gt;, which helps you securely manage your app’s signing keys. When using this method, you need to &lt;strong&gt;sign your app with an &lt;em&gt;upload key&lt;/em&gt;&lt;/strong&gt; before uploading.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔐 Step 1: Generate the Upload Key (Keystore)
&lt;/h2&gt;

&lt;p&gt;🪟 For Windows:&lt;br&gt;
Open Command Prompt as Administrator and navigate to the JDK bin directory (e.g., C:\Program Files\Java\jdkx.x.x_x\bin), then run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;keytool -genkeypair -v -storetype PKCS12 -keystore my-upload-key.keystore -alias upload_key -keyalg RSA -keysize 2048 -validity 10000
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;🍎 For macOS / Linux:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;First, find your JDK path:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/usr/libexec/java_home
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will return something like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/Library/Java/JavaVirtualMachines/jdkX.X.X_XXX.jdk/Contents/Home
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;2.Navigate to that directory and run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo keytool -genkeypair -v -storetype PKCS12 -keystore my-upload-key.keystore -alias upload_key -keyalg RSA -keysize 2048 -validity 10000
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;⚠️ Important: Keep the .keystore file and all passwords (store, key, alias) secure. Losing them means you won’t be able to update your app in the future.&lt;/p&gt;

&lt;h2&gt;
  
  
  📁 Step 2: Add the Keystore to Your React Native Project
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Move the my-upload-key.keystore file into your React Native project at:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;android/app/my-upload-key.keystore
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;2.Open android/gradle.properties and add the following lines (replace values with your actual passwords and alias):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;MYAPP_UPLOAD_STORE_FILE=my-upload-key.keystore
MYAPP_UPLOAD_KEY_ALIAS=upload_key
MYAPP_UPLOAD_STORE_PASSWORD=your_keystore_password
MYAPP_UPLOAD_KEY_PASSWORD=your_key_password
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;🛡️ Security Tip: Add the keystore and gradle.properties to .gitignore to prevent accidental commits:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;android/app/my-upload-key.keystore
android/gradle.properties
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  ⚙️ Step 3: Configure Gradle to Use the Upload Key
&lt;/h2&gt;

&lt;p&gt;Open android/app/build.gradle and edit it to use your signing config:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;android {
    ...
    signingConfigs {
        release {
            if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) {
                storeFile file(MYAPP_UPLOAD_STORE_FILE)
                storePassword MYAPP_UPLOAD_STORE_PASSWORD
                keyAlias MYAPP_UPLOAD_KEY_ALIAS
                keyPassword MYAPP_UPLOAD_KEY_PASSWORD
            }
        }
    }
    buildTypes {
        release {
            ...
            signingConfig signingConfigs.release
        }
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;🛠️ Make sure to add this block inside the android {} block in your build.gradle.&lt;/p&gt;

&lt;h2&gt;
  
  
  🧱 Step 4: Generate the Release AAB File
&lt;/h2&gt;

&lt;p&gt;Run the following commands to clean and build the AAB:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd android
./gradlew clean
./gradlew bundleRelease
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After the build completes, your AAB file will be located at:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;android/app/build/outputs/bundle/release/app-release.aab
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is the file you will upload to Google Play.&lt;/p&gt;

&lt;h2&gt;
  
  
  ☁️ Step 5: Upload the AAB to Google Play Console
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Go to &lt;a href="https://play.google.com/console" rel="noopener noreferrer"&gt;Google Play Console&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select your app or create a new one&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Navigate to Release &amp;gt; Production &amp;gt; Create new release&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;4.Upload your generated &lt;code&gt;app-release.aab&lt;/code&gt; &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Complete the release process and submit for review
🧠 Note: If this is your first release, you'll be prompted to opt-in to App Signing by Google Play. This will let Google manage your app signing key, and you will only need to manage your upload key.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  🧪 Optional: Test the Release APK Locally
&lt;/h2&gt;

&lt;p&gt;To test your signed release build before publishing:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Build the APK:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd android
./gradlew assembleRelease
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Locate the APK at:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;android/app/build/outputs/apk/release/app-release.apk
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>android</category>
      <category>reactnative</category>
      <category>mobile</category>
      <category>googleplay</category>
    </item>
    <item>
      <title>🔥 Integrate Firebase Crashlytics in React Native (Expo)</title>
      <dc:creator>Sachin-senapati</dc:creator>
      <pubDate>Sat, 23 Aug 2025 13:11:08 +0000</pubDate>
      <link>https://forem.com/sachinsenapati/integrate-firebase-crashlytics-in-react-native-expo-53fp</link>
      <guid>https://forem.com/sachinsenapati/integrate-firebase-crashlytics-in-react-native-expo-53fp</guid>
      <description>&lt;h2&gt;
  
  
  💡 What is Firebase Crashlytics?
&lt;/h2&gt;

&lt;p&gt;Firebase Crashlytics is a real-time crash reporting tool that helps developers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;📉 Track and diagnose app crashes and errors
&lt;/li&gt;
&lt;li&gt;🔍 Understand the root causes using detailed stack traces
&lt;/li&gt;
&lt;li&gt;📊 Monitor the stability of your app in production
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;It's essential for maintaining a &lt;strong&gt;stable and reliable user experience&lt;/strong&gt; post-deployment.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  ❓ Why Should You Use Crashlytics?
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🚫 Without Crashlytics:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;You won't know if your app crashes in production&lt;/li&gt;
&lt;li&gt;Users are unlikely to report every crash manually&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  ✅ With Crashlytics:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Get &lt;strong&gt;real-time crash reports&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;See &lt;strong&gt;detailed logs&lt;/strong&gt;, device info, and contextual data&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prioritize and fix&lt;/strong&gt; high-impact issues quickly&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🛠️ Step-by-Step Integration Guide
&lt;/h2&gt;




&lt;h2&gt;
  
  
  ✅ 1. Create a Firebase Project
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Go to &lt;a href="https://firebase.google.com/" rel="noopener noreferrer"&gt;Firebase Console&lt;/a&gt; and sign in or create an account.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click on &lt;strong&gt;"Get started by setting up a Firebase project"&lt;/strong&gt; &lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F07hrh766zlmk5red6t02.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F07hrh766zlmk5red6t02.png" alt="Create project" width="800" height="430"&gt;&lt;/a&gt; &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Enter your &lt;strong&gt;project name&lt;/strong&gt; → Click &lt;strong&gt;Continue&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F41c73zp2h15ges490ls5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F41c73zp2h15ges490ls5.png" alt="Project Name" width="800" height="408"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Allow Analytics&lt;br&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F08ke8xwn20bgascjlaaa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F08ke8xwn20bgascjlaaa.png" alt="Allow analytics" width="800" height="430"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Enable Google Analytics (optional) → Accept terms&lt;br&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxklsnb2787x4uimncw9r.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxklsnb2787x4uimncw9r.png" alt="Enable Analytics" width="800" height="430"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;"Create Project"&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa5gxro4gtdfu7ufxki1o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa5gxro4gtdfu7ufxki1o.png" alt="Create Project" width="800" height="430"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Wait for project creation&lt;br&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd37zhly4ugapy88796oh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd37zhly4ugapy88796oh.png" alt="After Creation" width="800" height="430"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;"Continue"&lt;/strong&gt; to see the project overview&lt;br&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyt482w05infb8pdt8ddk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyt482w05infb8pdt8ddk.png" alt="Project overview" width="800" height="427"&gt;&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  📱 2. Register Your App in Firebase Console
&lt;/h2&gt;

&lt;p&gt;Click on the &lt;strong&gt;Android&lt;/strong&gt; or &lt;strong&gt;iOS&lt;/strong&gt; icon to add your app.&lt;/p&gt;

&lt;h3&gt;
  
  
  🔹 For Android:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Enter your &lt;strong&gt;Package Name&lt;/strong&gt; (e.g., &lt;code&gt;com.mycorp.myapp&lt;/code&gt;)
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxim152w6do4ksmav3ccl.png" alt="Android package name" width="800" height="438"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  🔹 For iOS:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Enter your &lt;strong&gt;Bundle ID&lt;/strong&gt; (must match the ID in Xcode)
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F19cz685s2sk7imrldt6x.png" alt="iOS bundle ID" width="800" height="438"&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  📥 Download Configuration Files:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Android&lt;/strong&gt;: &lt;code&gt;google-services.json&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;iOS&lt;/strong&gt;: &lt;code&gt;GoogleService-Info.plist&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 To add another platform later, click &lt;strong&gt;"Add App"&lt;/strong&gt; in Firebase Console and repeat the steps.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  ⚛️ 3. Configure React Native App (Expo + EAS)
&lt;/h2&gt;

&lt;p&gt;Install Firebase and Crashlytics Dependencies&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npx expo install @react-native-firebase/app
npx expo install @react-native-firebase/crashlytics
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  🧩 4. Update app.json or app.config.js
&lt;/h3&gt;

&lt;p&gt;Add Firebase configuration and plugins:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "expo": {
    "android": {
      "googleServicesFile": "./google-services.json",
      "package": "com.mycorp.myapp"
    },
    "ios": {
      "googleServicesFile": "./GoogleService-Info.plist",
      "bundleIdentifier": "com.mycorp.myapp"
    },
    "plugins": [
      "@react-native-firebase/app",
      "@react-native-firebase/auth",
      "@react-native-firebase/crashlytics",
      [
        "expo-build-properties",
        {
          "ios": {
            "useFrameworks": "static"
          }
        }
      ]
    ]
  }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  ⚙️ 5. Prebuild Native Code
&lt;/h3&gt;

&lt;p&gt;Run this to generate native iOS and Android code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npx expo prebuild --clean
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;🔁 Always do this after adding or removing native packages like Firebase modules.&lt;/p&gt;

&lt;h3&gt;
  
  
  🚀 6. Build or Run the App
&lt;/h3&gt;

&lt;p&gt;Using EAS Build:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;eas build --platform android
eas build --platform ios
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or Run Locally:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npx expo run:android
npx expo run:ios
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  🧪 7. Test Crashlytics Integration
&lt;/h3&gt;

&lt;p&gt;To test a crash, add this to your code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import crashlytics from '@react-native-firebase/crashlytics';

crashlytics().log('Manually testing crash');
crashlytics().crash(); // This will cause a test crash

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  ⚠️ Important Notes &amp;amp; Limitations
&lt;/h2&gt;

&lt;p&gt;🚫 &lt;strong&gt;Crashlytics does NOT work in Expo Go&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Expo Go does &lt;strong&gt;not&lt;/strong&gt; support native Firebase modules like Crashlytics.&lt;/li&gt;
&lt;li&gt;You &lt;strong&gt;must&lt;/strong&gt; use &lt;strong&gt;EAS Build&lt;/strong&gt;, a custom development client, or run a &lt;strong&gt;local native build&lt;/strong&gt; to use Crashlytics.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>reactnative</category>
      <category>developers</category>
      <category>firebase</category>
    </item>
  </channel>
</rss>
