Giter Club home page Giter Club logo

firebase-crashlytics's People

Contributors

bueno avatar chrisspiegl avatar dependabot[bot] avatar imhoffd avatar luke-rogers avatar malviyaritesh avatar manuelsc avatar nlueg avatar priyankpat avatar qliqdev avatar robingenz avatar stewones avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

firebase-crashlytics's Issues

feat: iOS docs

Is your feature request related to a problem? Please describe.
I've followed the readme instructions and it works for Android but not for iOS. I don't see any crash reports in firebase (I.did crash the app several times). I've tried to follow the instructions from google, but still no luck

Describe the solution you'd like
just some tips about how to make it work in iOS

Describe alternatives you've considered

Additional context

com.google.firebase:firebase-bom crashing App - Workaround?

Current behavior:
BOM setup causing app to crash on load. Anyone suggest a workaround?
https://firebase.google.com/docs/crashlytics/get-started?platform=android#add-plugin

implementation platform('com.google.firebase:firebase-bom:28.4.0')

Expected behavior:
Not crashing

Steps to reproduce:

  1. Followed steps in Android support to setup gradle
  2. Tried setting variables.gradle with no luck

Related code:

MainActivity.java

   registerPlugin(FirebaseCrashlyticsPlugin.class);

build.gradle (project level)

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:4.2.2'
        classpath 'com.google.gms:google-services:4.3.5'

        // Add the Crashlytics Gradle plugin
        classpath 'com.google.firebase:firebase-crashlytics-gradle:2.7.1'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

apply from: "variables.gradle"

allprojects {
    repositories {
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

app\build.gradle


apply from: 'capacitor.build.gradle'

try {
    def servicesJSON = file('google-services.json')
    if (servicesJSON.text) {
        apply plugin: 'com.google.gms.google-services'

        // Apply the Crashlytics Gradle plugin
        apply plugin: 'com.google.firebase.crashlytics'

        dependencies {
          // Import the BoM for the Firebase platform
          implementation platform('com.google.firebase:firebase-bom:28.4.0')

          // Declare the dependencies for the Crashlytics and Analytics libraries
          // When using the BoM, you don't specify versions in Firebase library dependencies
          implementation 'com.google.firebase:firebase-crashlytics'
          implementation 'com.google.firebase:firebase-analytics'
        }

    }
} catch(Exception e) {
    logger.warn("google-services.json not found, google-services plugin not applied. Push Notifications won't work")
}

Other information:

Capacitor doctor:

λ npx cap doctor android
   Capacitor Doctor

Latest Dependencies:

  @capacitor/cli: 3.2.0
  @capacitor/core: 3.2.0
  @capacitor/android: 3.2.0
  @capacitor/ios: 3.2.0

Installed Dependencies:

  @capacitor/cli: 3.0.0
  @capacitor/core: 3.0.0
  @capacitor/android: 3.0.0
  @capacitor/ios: 3.0.0

[success] Android looking great! �

feat: Ability to pass "name" into recordException

Is your feature request related to a problem? Please describe:

Currently, if you pass a stracktrace, the name is automatically set to "Unhandled Javascript exception". This makes it quite difficult to differentiate errors in the Crashlytics portal.

Describe the solution you'd like:

It would be great if we could optionally specify a custom name.

Describe alternatives you've considered:

Dropping stack trace and using domain and code, but this is only available on iOS.

firebase crashlytics not working

Hi,

I installed capacitor-crashlytics , npm install --save capacitor-crashlytics,trying to track the crashlytics but its not showing in firebase crashlytics account,can you help on this how to integrate using capacitor

bug: CocoaPods compatibility error with "GoogleUtilities/Environment"

Plugin version:
1.2.0

Platform(s):
ios

Current behavior:
After installing @capacitor-community/firebase-crashlytics , running npx cap sync generates this error:

✖ Updating iOS native dependencies with pod install - failed!
✖ update ios - failed!
[error] Analyzing dependencies
[!] CocoaPods could not find compatible versions for pod
"GoogleUtilities/Environment":
In Podfile:
CapacitorCommunityFirebaseCrashlytics (from
../../node_modules/@capacitor-community/firebase-crashlytics) was
resolved to 1.2.0, which depends on
Firebase/Crashlytics (= 8.4.0) was resolved to 8.4.0, which depends on
FirebaseCrashlytics ( ~> 8.4.0) was resolved to 8.4.0, which depends on
GoogleUtilities/Environment ( ~> 7.4)
CordovaPluginsStatic (from ../capacitor-cordova-ios-plugins) was
resolved to 3.3.3, which depends on
GoogleUtilities ( ~> 7.2.2) was resolved to 7.2.2, which depends on
GoogleUtilities/Environment (= 7.2.2)

Steps to reproduce:
On a capacitor project run:

npm install @capacitor/ios

npx cap add ios

npm install @capacitor-community/firebase-crashlytics

npx cap sync

Capacitor doctor:

💊   Capacitor Doctor  💊 
Latest Dependencies:
  @capacitor/cli: 3.4.0
  @capacitor/core: 3.4.0
  @capacitor/android: 3.4.0
  @capacitor/ios: 3.4.0
Installed Dependencies:
  @capacitor/cli: 3.3.3
  @capacitor/core: 3.3.3
  @capacitor/ios: 3.3.4
  @capacitor/android: 3.3.3
[success] iOS looking great! 👌
[success] Android looking great! 👌

bug: CocoaPods could not find compatible versions for pod "Firebase/Crashlytics"

Plugin version:
"@capacitor-community/firebase-crashlytics": "^1.1.0"

Platform(s):
android/ios

Current behavior:

npx cap sync

I get this error

✖ Updating iOS native dependencies with pod install - failed!
✖ update ios - failed!
[error] Analyzing dependencies
        [!] CocoaPods could not find compatible versions for pod "Firebase/Crashlytics":
        In Podfile:
        CapacitorCommunityFirebaseCrashlytics (from `../../node_modules/@capacitor-community/firebase-crashlytics`) was
        resolved to 1.1.0, which depends on
        Firebase/Crashlytics (= 8.4.0)
        
        None of your spec sources contain a spec satisfying the dependency: `Firebase/Crashlytics (= 8.4.0)`.
        
        You have either:
        * out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.
        * mistyped the name or version.
        * not added the source repo that hosts the Podspec to your Podfile.

Capacitor doctor:

💊   Capacitor Doctor  💊 

Latest Dependencies:

  @capacitor/cli: 3.2.3
  @capacitor/core: 3.2.3
  @capacitor/android: 3.2.3
  @capacitor/ios: 3.2.3

Installed Dependencies:

  @capacitor/cli: 3.1.2
  @capacitor/core: 3.1.2
  @capacitor/android: 3.1.2
  @capacitor/ios: 3.1.2

bug: App compilation crash after setting up Firebase Crashlytics

Plugin version:
Version 3.0.0

Platform(s):
iOS 17.0.1

Current behavior:
My Ionic app crash at compile time with the following errors:

  • Firebase.h: Could not build module 'FirebaseCore'
  • module.modulemap: Redefinition of module 'Firebase'

Expected behavior:
The app should not crash.

Steps to reproduce:
Add the firebase-ios-sdk dependency as stated by the Firebase documentation.

Workaround:
Just don't add the firebase-ios-sdk dependency and it will work fine without it.

Capacitor doctor:

💊   Capacitor Doctor  💊 

Latest Dependencies:

  @capacitor/cli: 5.4.1
  @capacitor/core: 5.4.1
  @capacitor/android: 5.4.1
  @capacitor/ios: 5.4.1

Installed Dependencies:

  @capacitor/cli: 5.0.1
  @capacitor/core: 5.0.5
  @capacitor/android: 5.0.5
  @capacitor/ios: 5.0.5

[success] iOS looking great! 👌
[error] Missing <manifest package=""> attribute in app/src/main

setEnabled not working

Describe the bug
calling setEnabled does finished without exception but it does not set it enabled.
Logging is not working afterward.

To Reproduce
Steps to reproduce the behavior:

await this.platform.ready();

await FirebaseCrashlytics.setEnabled({
        enabled: true
});

const test = await FirebaseCrashlytics.isEnabled();

Versions
"@capacitor-community/firebase-crashlytics": "^0.3.0"
"@capacitor/android": "^2.4.1",
"@capacitor/core": "^2.4.1",
"@angular/fire": "^6.0.2",
"firebase": "^7.20.0",

Phone
API 30

bug: Error with Cocoapods on npx cap sync

Hello,

I installed the package without any error but when I launch the command npx cap sync, I get an error with Cocoapods:

LoadError - dlopen(/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi_c.bundle, 0x0009): tried:
        '/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi_c.bundle' (mach-o file, but is an incompatible architecture
        (have 'arm64', need 'x86_64')),
        '/System/Volumes/Preboot/Cryptexes/OS/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi_c.bundle' (no such file),
        '/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi_c.bundle' (mach-o file, but is an incompatible architecture
        (have 'arm64', need 'x86_64')) - /Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi_c.bundle
        /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in
        `require'
        /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in
        `require'
        /Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi.rb:5:in `rescue in <top (required)>'
        /Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi.rb:2:in `<top (required)>'
        /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in
        `require'
        /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in
        `require'
        /Library/Ruby/Gems/2.6.0/gems/ethon-0.12.0/lib/ethon.rb:2:in `<top (required)>'
        /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in
        `require'
        /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in
        `require'
        /Library/Ruby/Gems/2.6.0/gems/typhoeus-1.4.0/lib/typhoeus.rb:2:in `<top (required)>'
        /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in
        `require'
        /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in
        `require'
        /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.14.3/lib/cocoapods-core/cdn_source.rb:440:in
        `download_typhoeus_impl_async'
        /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.14.3/lib/cocoapods-core/cdn_source.rb:372:in
        `download_and_save_with_retries_async'
        /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.14.3/lib/cocoapods-core/cdn_source.rb:365:in
        `download_file_async'
        /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.14.3/lib/cocoapods-core/cdn_source.rb:338:in `download_file'
        /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.14.3/lib/cocoapods-core/cdn_source.rb:284:in
        `ensure_versions_file_loaded'
        /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.14.3/lib/cocoapods-core/cdn_source.rb:208:in `search'
        /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.14.3/lib/cocoapods-core/source/aggregate.rb:83:in `block in
        search'
        /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.14.3/lib/cocoapods-core/source/aggregate.rb:83:in `select'
        /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.14.3/lib/cocoapods-core/source/aggregate.rb:83:in `search'
        /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.14.3/lib/cocoapods/resolver.rb:416:in `create_set_from_sources'
        /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.14.3/lib/cocoapods/resolver.rb:385:in `find_cached_set'
        /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.14.3/lib/cocoapods/resolver.rb:360:in `specifications_for_dependency'
        /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.14.3/lib/cocoapods/resolver.rb:165:in `search_for'
        /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.14.3/lib/cocoapods/resolver.rb:274:in `block in sort_dependencies'
        /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.14.3/lib/cocoapods/resolver.rb:267:in `each'
        /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.14.3/lib/cocoapods/resolver.rb:267:in `sort_by'
        /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.14.3/lib/cocoapods/resolver.rb:267:in `sort_by!'
        /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.14.3/lib/cocoapods/resolver.rb:267:in `sort_dependencies'
        /Library/Ruby/Gems/2.6.0/gems/molinillo-0.8.0/lib/molinillo/delegates/specification_provider.rb:60:in `block in
        sort_dependencies'
        /Library/Ruby/Gems/2.6.0/gems/molinillo-0.8.0/lib/molinillo/delegates/specification_provider.rb:77:in
        `with_no_such_dependency_error_handling'
        /Library/Ruby/Gems/2.6.0/gems/molinillo-0.8.0/lib/molinillo/delegates/specification_provider.rb:59:in
        `sort_dependencies'
        /Library/Ruby/Gems/2.6.0/gems/molinillo-0.8.0/lib/molinillo/resolution.rb:754:in `push_state_for_requirements'
        /Library/Ruby/Gems/2.6.0/gems/molinillo-0.8.0/lib/molinillo/resolution.rb:744:in
        `require_nested_dependencies_for'
        /Library/Ruby/Gems/2.6.0/gems/molinillo-0.8.0/lib/molinillo/resolution.rb:727:in `activate_new_spec'
        /Library/Ruby/Gems/2.6.0/gems/molinillo-0.8.0/lib/molinillo/resolution.rb:684:in `attempt_to_activate'
        /Library/Ruby/Gems/2.6.0/gems/molinillo-0.8.0/lib/molinillo/resolution.rb:254:in `process_topmost_state'
        /Library/Ruby/Gems/2.6.0/gems/molinillo-0.8.0/lib/molinillo/resolution.rb:182:in `resolve'
        /Library/Ruby/Gems/2.6.0/gems/molinillo-0.8.0/lib/molinillo/resolver.rb:43:in `resolve'
        /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.14.3/lib/cocoapods/resolver.rb:94:in `resolve'
        /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.14.3/lib/cocoapods/installer/analyzer.rb:1082:in `block in
        resolve_dependencies'
        /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.14.3/lib/cocoapods/user_interface.rb:64:in `section'
        /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.14.3/lib/cocoapods/installer/analyzer.rb:1080:in
        `resolve_dependencies'
        /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.14.3/lib/cocoapods/installer/analyzer.rb:125:in `analyze'
        /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.14.3/lib/cocoapods/installer.rb:422:in `analyze'
        /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.14.3/lib/cocoapods/installer.rb:244:in `block in resolve_dependencies'
        /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.14.3/lib/cocoapods/user_interface.rb:64:in `section'
        /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.14.3/lib/cocoapods/installer.rb:243:in `resolve_dependencies'
        /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.14.3/lib/cocoapods/installer.rb:162:in `install!'
        /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.14.3/lib/cocoapods/command/install.rb:52:in `run'
        /Library/Ruby/Gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:334:in `run'
        /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.14.3/lib/cocoapods/command.rb:52:in `run'
        /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.14.3/bin/pod:55:in `<top (required)>'
        /usr/local/bin/pod:23:in `load'
        /usr/local/bin/pod:23:in `<main>'

When I uninstall the package and run the command npx cap sync, I don't have any error.

Should I update something to use this package?

I am working on macos Sonoma 14.1.1 with an Apple M2 processor and the project is an Ionic/Capacitor project at the latest major updates.

Thanks for your help,
Loïc

bug: sendUnsentReports doesn't send report immediately

Plugin version:
1.3.0 (latest)

Platform(s):
Android

Current behavior:
sendUnsentReports does not send unsent reports, see code snippet

  1. Non-fatal error is added / JS error is thrown
  2. sendUnsentReport is called
  3. Function call finished, Chrome console logs something about the native code being called
  4. No api calls are done by the browser, errors don't show up in the console
  5. Restarting the app completely by clearing it from recents, will make the errors show up in the console immediately.

Expected behavior:

  1. Non-fatal error is added / JS error is thrown
  2. sendUnsentReport is called
  3. Function call finished, Chrome console logs something about the native code being called
  4. Errors show up in firebase console

Steps to reproduce:
Call code snippet with an string

const recordExceptionWithStacktrace = async (error) => {
    FirebaseCrashlytics.recordException({
        message: 'This is a non-fatal message.',
        error
    }).then(()=>{
        console.log('sending unsent reports')
        FirebaseCrashlytics.sendUnsentReports().then(()=>{
            console.log('reports succesfully sent');
        });
    })
};

Capacitor doctor:

💊   Capacitor Doctor  💊 

Latest Dependencies:

  @capacitor/cli: 4.4.0
  @capacitor/core: 4.4.0
  @capacitor/android: 4.4.0
  @capacitor/ios: 4.4.0

Installed Dependencies:

  @capacitor/cli: 3.9.0
  @capacitor/core: 3.9.0
  @capacitor/android: 3.9.0
  @capacitor/ios: 3.9.0

[success] Android looking great! 👌
[error] Xcode is not installed```

feat: JavaScript stacktrace

Is your feature request related to a problem? Please describe:
When I view my crashlytic events, the stack trace does not reveal the actual stack trace of where it occurred in my angular application.

Describe the solution you'd like:
I'd like to be able to see the stack trace of where the crash or non-fatal exception occurred in my angular code, or at least some information to help me track it down.

Describe alternatives you've considered:
Not sure if there are other alternatives?

Additional context:
Here is an image of the stack trace on the main dashboard:
image

And the detailed stack trace:
image

bug: Android app crashes on launch

Plugin version:
1.3.0

Platform(s):
Capacitor v3
Android API 30

Current behavior:
Android app crashes on Launch, with an error:

java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.my.appbundle. Make sure to call FirebaseApp.initializeApp(Context) first.

image

Expected behavior:
Everything works fine on iOS, issue is only on Android.

Related code:
Here's my android/build.gradle:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:4.2.1'
        classpath 'com.google.gms:google-services:4.3.5'

        // Add the Crashlytics Gradle plugin
        classpath 'com.google.firebase:firebase-crashlytics-gradle:2.8.1'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

apply from: "variables.gradle"

allprojects {
    repositories {
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

Here's my android/app/build.gradle:

apply plugin: 'com.android.application'
// Apply the Crashlytics Gradle plugin
apply plugin: 'com.google.firebase.crashlytics'

android {
    compileSdkVersion rootProject.ext.compileSdkVersion
    defaultConfig {
        applicationId "com.my.appbundle"
        minSdkVersion rootProject.ext.minSdkVersion
        targetSdkVersion rootProject.ext.targetSdkVersion
        versionCode rootProject.ext.versionCode
        versionName rootProject.ext.versionName
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        aaptOptions {
             // Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.
             // Default: https://android.googlesource.com/platform/frameworks/base/+/282e181b58cf72b6ca770dc7ca5f91f135444502/tools/aapt/AaptAssets.cpp#61
            ignoreAssetsPattern '!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~'
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

repositories {
    flatDir{
        dirs '../capacitor-cordova-android-plugins/src/main/libs', 'libs'
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation "androidx.appcompat:appcompat:$androidxAppCompatVersion"
    implementation project(':capacitor-android')
    testImplementation "junit:junit:$junitVersion"
    androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion"
    androidTestImplementation "androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion"
    implementation project(':capacitor-cordova-android-plugins')
}

apply from: 'capacitor.build.gradle'

try {
    def servicesJSON = file('google-services.json')
    if (servicesJSON.text) {
        apply plugin: 'com.google.gms.google-services'
    }
} catch(Exception e) {
    logger.info("google-services.json not found, google-services plugin not applied. Push Notifications won't work")
}

Other information:
I installed this plugin after I already had:

"@capacitor-community/firebase-analytics": "^1.0.1",
```

**Capacitor doctor:**

```
💊   Capacitor Doctor  💊 

Latest Dependencies:

  @capacitor/cli: 3.5.1
  @capacitor/core: 3.5.1
  @capacitor/android: 3.5.1
  @capacitor/ios: 3.5.1

Installed Dependencies:

  @capacitor/cli: 3.4.3
  @capacitor/android: 3.4.3
  @capacitor/ios: 3.4.3
  @capacitor/core: 3.4.3

[success] iOS looking great! 👌
[success] Android looking great! 👌
```

Update README

There is a type error in:

import com.getcapacitor.community.firebasecrashlytic.FirebaseCrashlytics;

It should be:

import com.getcapacitor.community.firebasecrashlytics.FirebaseCrashlytics;

Unable to install with error peer @capacitor/core@"^3.0.0" from @capacitor-community/[email protected]

Plugin version:

@capacitor-community/[email protected]

npm
@capacitor/[email protected]
@capacitor/android": "^4.6.1

Dev dependency
"@capacitor/cli": "^4.6.1

Platform(s):

Android

Current behavior:

Expected behavior:

Steps to reproduce:

Install @capacitor/[email protected] and try to install latest firebase-crashlytics plugin.

Related code:

insert short code snippets here

Other information:

Capacitor doctor:

insert the output from `npx cap doctor` here

Build IOS app, getting error GoogleUtilities/GULURLSessionDataResponse.h file not found

Plugin version:
"@capacitor-community/firebase-crashlytics": "^2.0.0",

Platform(s):
ionic 6
capacitor 4
Creating a build for ios app.

Current behavior:
After installing firebase-crashlytics package. try to build my app on ios, getting above error.

Expected behavior:
Build should be successful after installing this package.

Steps to reproduce:
1- install the package using npm.
2- run ionic build cmd for ios
3- open xcode and click to create build for emulator iphone 14

Other information:
NOTE: try to execute pod install inside ios/App folder. returning a warning
Unable to read the license file LICENSE for the spec GoogleUtilities (7.11.1)
Generated duplicate UUIDs

Capacitor doctor:

Latest Dependencies:

  @capacitor/cli: 5.0.5
  @capacitor/core: 5.0.5
  @capacitor/android: 5.0.5
  @capacitor/ios: 5.0.5

Installed Dependencies:

  @capacitor/cli: 4.6.2
  @capacitor/core: 4.6.2
  @capacitor/android: 4.6.2
  @capacitor/ios: 4.6.2

Please help, stuck because of it, couldn't publish new build

erro install plugin and build app

ERROR in node_modules/@capacitor-community/firebase-crashlytics/dist/esm/index.d.ts:1:13 - error TS1005: '=' expected.

1 import type { FirebaseCrashlyticsPlugin } from './definitions';
~
node_modules/@capacitor-community/firebase-crashlytics/dist/esm/index.d.ts:1:48 - error TS1005: ';' expected.

1 import type { FirebaseCrashlyticsPlugin } from './definitions';

Error:The Crashlytics build ID is missing.

After installing this latest(V1.0.0) in Capacitor 3 app. It getting crashed while running in emulator. Getting below error in logcat;

2021-06-16 14:24:25.215 1730-1730/com.wipro.mycommunication E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.wipro.mycommunication, PID: 1730
    java.lang.RuntimeException: Unable to get provider com.google.firebase.provider.FirebaseInitProvider: java.lang.IllegalStateException: The Crashlytics build ID is missing. This occurs when Crashlytics tooling is absent from your app's build configuration. Please review Crashlytics onboarding instructions and ensure you have a valid Crashlytics account.
        at android.app.ActivityThread.installProvider(ActivityThread.java:6988)
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:6528)
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6445)
        at android.app.ActivityThread.access$1300(ActivityThread.java:219)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1859)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7356)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
     Caused by: java.lang.IllegalStateException: The Crashlytics build ID is missing. This occurs when Crashlytics tooling is absent from your app's build configuration. Please review Crashlytics onboarding instructions and ensure you have a valid Crashlytics account.
        at com.google.firebase.crashlytics.internal.common.CrashlyticsCore.onPreExecute(CrashlyticsCore.java:125)
        at com.google.firebase.crashlytics.FirebaseCrashlytics.init(FirebaseCrashlytics.java:142)
        at com.google.firebase.crashlytics.CrashlyticsRegistrar.buildCrashlytics(CrashlyticsRegistrar.java:58)
        at com.google.firebase.crashlytics.CrashlyticsRegistrar.lambda$Pfd5XmDCFzNyAT9o9H6rDnTBQE4(Unknown Source:0)
        at com.google.firebase.crashlytics.-$$Lambda$CrashlyticsRegistrar$Pfd5XmDCFzNyAT9o9H6rDnTBQE4.create(Unknown Source:2)
        at com.google.firebase.components.ComponentRuntime.lambda$discoverComponents$0$ComponentRuntime(ComponentRuntime.java:132)
        at com.google.firebase.components.-$$Lambda$ComponentRuntime$4FqOW9eOQsvFYo-HpMfxCOnPQr0.get(Unknown Source:4)
        at com.google.firebase.components.Lazy.get(Lazy.java:53)
        at com.google.firebase.components.ComponentRuntime.doInitializeEagerComponents(ComponentRuntime.java:291)
        at com.google.firebase.components.ComponentRuntime.initializeEagerComponents(ComponentRuntime.java:281)
        at com.google.firebase.FirebaseApp.initializeAllApis(FirebaseApp.java:584)
        at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:303)
        at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:267)
        at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:252)
        at com.google.firebase.provider.FirebaseInitProvider.onCreate(FirebaseInitProvider.java:51)
        at android.content.ContentProvider.attachInfo(ContentProvider.java:2092)
        at android.content.ContentProvider.attachInfo(ContentProvider.java:2066)
        at com.google.firebase.provider.FirebaseInitProvider.attachInfo(FirebaseInitProvider.java:45)
        at android.app.ActivityThread.installProvider(ActivityThread.java:6983)
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:6528) 
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6445) 
        at android.app.ActivityThread.access$1300(ActivityThread.java:219) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1859) 
        at android.os.Handler.dispatchMessage(Handler.java:107) 
        at android.os.Looper.loop(Looper.java:214) 
        at android.app.ActivityThread.main(ActivityThread.java:7356) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930) 

Can anyone suggest what i am lacking for this?

bug: No Crush statistics in console for 0.4.0

Current behavior:
When i run my code in angular ionic, it produce only none fatal errors, but, crash looks like not work.

Expected behavior:
I wish to see crash as well

Steps to reproduce:

i installed version 0.4.0, i use capacitor 2.

Related code:

import { Plugins, Capacitor } from '@capacitor/core';
const { FirebaseCrashlytics } = Plugins;
      
      FirebaseCrashlytics.recordException({
         message: "This is a non-fatal message",
         code: 403, // optional, default is -1001
         domain: "capacitor", // optional
       }).then( () => {
       FirebaseCrashlytics.crash();
       });

Other information:

Capacitor doctor:

Latest Dependencies:

  @capacitor/cli: 3.1.1
  @capacitor/core: 3.1.1
  @capacitor/android: 3.1.1
  @capacitor/electron: 3.1.1
  @capacitor/ios: 3.1.1

Installed Dependencies:

  @capacitor/cli 2.4.8
  @capacitor/android 2.4.8
  @capacitor/core 2.4.8
  @capacitor/ios 2.4.8
  @capacitor/electron not installed

[success] Android looking great! 👌
  Found 10 Capacitor plugins for ios:
    @capacitor-community/firebase-crashlytics (0.4.0)
    call-number (1.0.1)
    cordova-plugin-advanced-http (3.1.1)
    cordova-plugin-android-fingerprint-auth (1.5.0)
    cordova-plugin-android-permissions (1.1.2)
    cordova-plugin-email-composer (0.9.2)
    cordova-plugin-file (6.0.2)
    cordova-plugin-file-opener2 (3.0.5)
    cordova-plugin-nativestorage (2.3.2)
    cordova-plugin-touch-id (3.4.0)
[success] iOS looking great! 👌```

[FEATURE]: Add required `Privacy Manifest` file for iOS

Description

Starting with Spring 2024 Apple requires third-party SDKs to add a Privacy Manifest file (similar to the privacy nutrition labels in the store). Apple specifically lists Capacitor as one of the SDKs that must include this manifest otherwise any App that includes it is not allowed to release an update (or new app) to the store.

https://developer.apple.com/support/third-party-SDK-requirements/

Platform(s)

iOS

Additional Context
https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_data_use_in_privacy_manifests
https://developer.apple.com/videos/play/wwdc2023/10060/

How to configure and use correctly?

In addition to the settings mentioned in the README do I need to add the plugin to MainActivity on Android like the FirebaseAnalytics and another native plugins?

import com.getcapacitor.community.firebaseanalytics.FirebaseAnalytics;
import path.to.firebase.crashlytics.file; ???

// Initializes the Bridge
this.init(savedInstanceState, new ArrayList<Class<? extends Plugin>>() {{
  // Additional plugins you've installed go here
  add(FirebaseAnalytics.class);
  add(FirebaseCrashlytics.class); ???
  ...
}});

And once installed, this plugin catch any errors that crash my app automatically with no need to import the plugin in any module or file like app.module.ts/app.component.ts?

Add ability to report non fatal error to prevent crashing

Is your feature request related to a problem? Please describe.
I want to report an error to the dashboard but I don't want the application crash.

Describe the solution you'd like
There is a method provided by the APIs :
https://developers.google.com/android/reference/com/google/firebase/crashlytics/FirebaseCrashlytics#recordException(java.lang.Throwable)
Maybe you can just instanciate a new Exception(errormessage) and pass it to the recordException method ?

App crashed first time launch and while receiving push notification every time once integrated this plugin into Capacitor Push notification enabled Ionic project

Hi @priyankpat , @stewwan , @dwieeb , @thibaud-sanchez

Describe the bug
App is crashing in below two scenarios:

  1. On first time App launch
  2. Whenever we receive push notification, when we use this plugin in capacitor based Ionic project which has Push Notification
    APIs integrated.

To Reproduce
Steps to reproduce the behavior:

  1. Make Ionic + Angular capacitor project
  2. Follow and integrate Capacitor core Push notification from https://capacitorjs.com/docs/guides/push-notifications-firebase
  3. Integrate this crashlytics plugin in the same project
  4. Send Push notification from firebase console

Expected behavior
App must not crash while receiving push notification.

Smartphone (please complete the following information):

  • Device: Android OnePlus 6
  • OS: Android 10

Additional context
Android Studio IDE - 4.1.1

** First time App launch crash log**

FATAL EXCEPTION: main Process: com.pg.you, PID: 28148 java.lang.InstantiationError: com.google.firebase.iid.zzbe at com.google.firebase.messaging.zzc.onBind(com.google.firebase:firebase-messaging@@20.1.2:11) at android.app.ActivityThread.handleBindService(ActivityThread.java:4097) at android.app.ActivityThread.access$1900(ActivityThread.java:231) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1973) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:214) at android.app.ActivityThread.main(ActivityThread.java:7682) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:516) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)

While receiving push notification, App crash logs

java.lang.NoSuchMethodError: No static method zza()Lcom/google/firebase/iid/zzaz; in class Lcom/google/firebase/iid/zzaz; or its super classes (declaration of 'com.google.firebase.iid.zzaz' appears in /data/app/com.pg.you-CXfkZKHd9QnYbA0XHEi7Fw==/base.apk) at com.google.firebase.messaging.FirebaseMessagingService.zza(com.google.firebase:firebase-messaging@@20.1.2:7) at com.google.firebase.messaging.zzc.onStartCommand(com.google.firebase:firebase-messaging@@20.1.2:22) at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4204) at android.app.ActivityThread.access$2100(ActivityThread.java:231) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1984) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:214) at android.app.ActivityThread.main(ActivityThread.java:7682) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:516) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)

Android support

Hello

I know you mentioned android support coming soon, just wondering why? is it a technical issue with Capacitor?

Add Plugin version and Firebase version for hi level using

Is your feature request related to a problem? Please describe:
Need to show in logs version of firebase and plugin for analyses

Describe the solution you'd like:
add 2 functions which will be return plugin version and firebase version

Describe alternatives you've considered:
no alternatives

Additional context:
nothing

bug: unable to implement on android device

Plugin version:
Crashlytics gradle version - 'com.google.firebase:firebase-crashlytics-gradle:2.8.1',
Android gradle version - 'com.android.tools.build:gradle:4.2.2',
Firebase Bom version - 'com.google.firebase:firebase-bom:29.0.2'
Firebase Core version - 'com.google.firebase:firebase-core:17.5.0'
firebaseCrashlyticsVersion - '18.1.0'
npm package - "@capacitor-community/firebase-crashlytics": "^1.2.0"

Platform(s):
Android

Current behavior:
App is closing automatically just after the splash screen after implementing the firebase Crashlytics.

Expected behavior:
App must use the force crash method and must send the report to the firebase crashlytics console.

Steps to reproduce:
Install all the dependencies with the versions mentioned above.

Related code:

Exactly followed the steps provided in docs.

Capacitor doctor:

Latest Dependencies:

@capacitor/cli: 3.3.3
@capacitor/core: 3.3.3
@capacitor/android: 3.3.3
@capacitor/ios: 3.3.3

Installed Dependencies:

@capacitor/cli: 3.1.1
@capacitor/core: 3.1.1
@capacitor/android: 3.1.1
@capacitor/ios: 3.1.1

[success] iOS looking great! 👌
[success] Android looking great! 👌

Capacitor community firebase crashlytics, app has stopped

Ionic with React
I tried to implement capacitor community firebase crashlytics and the bug is.

2020-09-06 13:38:55.946 13535-13535/? E/SchedPolicy: open of /dev/cpuctl/bg_non_interactive/tasks failed: No such file or directory
2020-09-06 13:38:56.583 13535-13535/com.xxx.xxx E/chromium: [ERROR:filesystem_posix.cc(62)] mkdir /data/user/0/com.xxx.xxx/cache/WebView/Crashpad: No such file or directory (2)
2020-09-06 13:38:59.365 13535-13535/com.xxx.xxx E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.xxx.xxx, PID: 13535
    java.lang.InstantiationError: com.google.firebase.iid.zzbe
        at com.google.firebase.messaging.zzc.onBind(com.google.firebase:firebase-messaging@@20.1.2:11)
        at android.app.ActivityThread.handleBindService(ActivityThread.java:3457)
        at android.app.ActivityThread.-wrap2(Unknown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1729)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6626)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:811)
 

To Reproduce
Steps to reproduce the behavior:

  1. Followed the steps mentioned in README.md
  2. Run into device using '$ ionic capacitor run android'
  3. Open android studio and run app into device.
  4. See error: '[App Name] has stopped'

Screenshots

image

Smartphone:

  • Device tested on: [Android 8 and Android 10]

bug: Build Failed after Installing firebase Crashlytics on IOS

Plugin version:

"@capacitor-community/firebase-crashlytics": "^1.1.0",

Platform(s):

IOS

Current behavior:

Build Failed with an Error:

Screenshot 2021-10-11 at 7 58 41 PM

Expected behavior:

Build Should work as Expected

Steps to reproduce:

https://github.com/Saqib92/capacitor-firebase-plugins

Related code:

insert short code snippets here

Other information:

I am also using Capacitor FCM Push notification might be a conflict in them.

Capacitor doctor:

💊   Capacitor Doctor  💊 

Latest Dependencies:

  @capacitor/cli: 3.2.4
  @capacitor/core: 3.2.4
  @capacitor/android: 3.2.4
  @capacitor/ios: 3.2.4

Installed Dependencies:

  @capacitor/cli: 3.2.2
  @capacitor/core: 3.2.2
  @capacitor/android: 3.2.2
  @capacitor/ios: 3.2.2

[success] iOS looking great! 👌
[success] Android looking great! 👌

Update this plugin for Capacitor 3

Capacitor 3 is being built and is already in beta. In this new version the native plugins have been removed from the core and there are some changes that are necessary in the existing plugins.

Example: Plugin Imports
The Plugins object is deprecated, but will continue to work in Capacitor 3. Capacitor plugins should be updated to use the new plugin registration APIs (see the Upgrade Guide for plugins), which will allow them to be imported directly from the plugin’s package.

Going forward, the Plugins object from @capacitor/core should not be used.

// OLD
import { Plugins } from '@capacitor/core';
const { AnyPlugin } = Plugins;
Importing the plugin directly from the plugin’s package is preferred, but the plugin must be updated to work with Capacitor 3 for this to be possible.
// NEW
import { AnyPlugin } from 'any-plugin';

References:

Updating Capacitor to 3.0 in your plugin

Updating Capacitor to 3.0 in your app

`FirebaseCrashlytics.crash();` throws Error: Method not implemented

Describe the bug
Firstly there is a mismatch between Readme and the code. the crash() method doesn't accept any arguments as opposed to an object in Readme.

Secondly, when I run it without any arguments I get the following error: Method not implemented.
PS: This also happens for FirebaseCrashlytics.recordException method.

I'm running on Android

bug: Capacitor 2 Support?

Current behavior:

I see the module uses 3.0-rc version of capacitor core.

Expected behavior:

Is there any plans to support capacitor 2.x till the stable version of core is released?

Steps to reproduce:

My Sample app with the capacitor (core-2.x) doesn't build with 1.0 version of firebase crashlytics.

Logs:

Error: ./node_modules/@capacitor-community/firebase-crashlytics/dist/esm/index.js 2:28-42
"export 'registerPlugin' was not found in '@capacitor/core'
    at HarmonyImportSpecifierDependency._getErrors (/Users/sekars/workspace/firebase-example/node_modules/webpack/lib/dependencies/HarmonyImportSpecifierDependency.js:109:11)
    at HarmonyImportSpecifierDependency.getErrors (/Users/sekars/workspace/firebase-example/node_modules/webpack/lib/dependencies/HarmonyImportSpecifierDependency.js:68:16)
    at Compilation.reportDependencyErrorsAndWarnings (/Users/sekars/workspace/firebase-example/node_modules/webpack/lib/Compilation.js:1463:22)
    at /Users/sekars/workspace/firebase-example/node_modules/webpack/lib/Compilation.js:1258:10
    at _next0 (eval at create (/Users/sekars/workspace/firebase-example/node_modules/webpack/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:30:1)
    at eval (eval at create (/Users/sekars/workspace/firebase-example/node_modules/webpack/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:43:1)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)

Capacitor doctor:

➜  firebase-example git:(master) ✗ npx cap doctor
💊   Capacitor Doctor  💊

Latest Dependencies:

  @capacitor/cli: 2.4.7
  @capacitor/core: 2.4.7
  @capacitor/android: 2.4.7
  @capacitor/electron: 2.4.7
  @capacitor/ios: 2.4.7

Installed Dependencies:

  @capacitor/android not installed
  @capacitor/cli 2.4.7
  @capacitor/core 2.4.7
  @capacitor/ios 2.4.7
  @capacitor/electron not installed

Crashlytics deprecation warning

Describe the bug
In console.firebase => crashlytics I get the following warning message:
Please upgrade to the generally available Firebase Crashlytics SDK to continue receiving crash reports in the Firebase console after 15 November 2020

I think it is because this plugin is using Fabric which is deprecated and will be removed November.

Smartphone (please complete the following information):
"@capacitor-community/firebase-crashlytics": "^0.3.0",
minSdkVersion = 21
compileSdkVersion = 29
targetSdkVersion = 29
androidxAppCompatVersion = '1.1.0'
androidxCoreVersion = '1.2.0'
androidxMaterialVersion = '1.1.0-rc02'
androidxBrowserVersion = '1.2.0'
androidxLocalbroadcastmanagerVersion = '1.0.0'
firebaseMessagingVersion = '20.1.2'
playServicesLocationVersion = '17.0.0'
junitVersion = '4.12'
androidxJunitVersion = '1.1.1'
androidxEspressoCoreVersion = '3.2.0'
cordovaAndroidVersion = '7.0.0'

classpath 'com.android.tools.build:gradle:4.0.1'
classpath 'com.google.gms:google-services:4.3.3'
// Add the Crashlytics Gradle plugin.
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.3.0'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.