Tipsi-stripe: Firebase usage?

Created on 19 Sep 2018  Â·  10Comments  Â·  Source: tipsi/tipsi-stripe

This library is using on Android com.google.firebase:firebase-core dependency, but I can not find any imports from firebase packages.

So what is the reason for importing Firebase core dependency?

wont-fix

Most helpful comment

@hannta / @rahsheen what is the exact issue with firebase.
There are 2 possible options I see:

  1. You don't need firebase at all and cannot have it for some reason
  2. You have version conflicts

Regarding second point, you can force desirable versions in your build.gradle file:

allprojects {
    repositories {
        google()
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
        // Add jitpack repository (added by tipsi-stripe)
        maven { url "https://jitpack.io" }
        // Add fabric repository (added by tipsi-twitter)
        maven { url "https://maven.fabric.io/public" }
        mavenLocal()
        jcenter()
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url "$rootDir/../node_modules/react-native/android"
        }
        configurations.all {
            // #PlayServicesGate — March, 20 2018
            resolutionStrategy {
                force 'com.google.firebase:firebase-core:16.0.4'
                // force 'com.google.firebase:firebase-analytics:17.3.4'
                force 'com.google.firebase:firebase-iid:17.0.4'
                force 'com.google.firebase:firebase-messaging:17.3.4'
                force 'com.google.android.gms:play-services-base:16.0.1'
                force 'com.google.android.gms:play-services-maps:16.0.0'
                force 'com.google.android.gms:play-services-wallet:16.0.1'
                force 'com.google.android.gms:play-services-vision:11.8.0'

                // #FBSDKGate — August, 31 2018
                force 'com.facebook.android:facebook-android-sdk:4.34.0'
            }
        }
    }

This is what we're using internally and it works for android.

Regarding first point - I'm not sure if you can have payments with android pay without firebase. Possibly this can be done but this require some additional research and we cannot switch to this right now

All 10 comments

This is a burning question I have as well because this dependency is causing me major issues that I'm not sure where to start to resolve.

Very interesting, why does this lib need firebase-core? Possibly the most creative way of hijacking CCs

@ngoryachev do you have idea about this Firebase usage, looks like your pr introduces Firebase usage https://github.com/tipsi/tipsi-stripe/pull/256?

It looks to me like this was a mistake in the docs/example project. When using react-native link my podfile looks like this:

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'mobilev2' do
  pod 'Stripe', '~> 13.2.0'
  inherit! :search_paths
end

And it is working just fine.

@wmlutz this unnecessary(?) Firebase is included in android buid.gradle. Pods are used only for ios.

I assume it has something to do with Google Wallet on Android. I can't really tell, TBH, but some clarity would be much appreciated because it's the single reason I cannot upgrade other dependencies in my project.

@hannta / @rahsheen what is the exact issue with firebase.
There are 2 possible options I see:

  1. You don't need firebase at all and cannot have it for some reason
  2. You have version conflicts

Regarding second point, you can force desirable versions in your build.gradle file:

allprojects {
    repositories {
        google()
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
        // Add jitpack repository (added by tipsi-stripe)
        maven { url "https://jitpack.io" }
        // Add fabric repository (added by tipsi-twitter)
        maven { url "https://maven.fabric.io/public" }
        mavenLocal()
        jcenter()
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url "$rootDir/../node_modules/react-native/android"
        }
        configurations.all {
            // #PlayServicesGate — March, 20 2018
            resolutionStrategy {
                force 'com.google.firebase:firebase-core:16.0.4'
                // force 'com.google.firebase:firebase-analytics:17.3.4'
                force 'com.google.firebase:firebase-iid:17.0.4'
                force 'com.google.firebase:firebase-messaging:17.3.4'
                force 'com.google.android.gms:play-services-base:16.0.1'
                force 'com.google.android.gms:play-services-maps:16.0.0'
                force 'com.google.android.gms:play-services-wallet:16.0.1'
                force 'com.google.android.gms:play-services-vision:11.8.0'

                // #FBSDKGate — August, 31 2018
                force 'com.facebook.android:facebook-android-sdk:4.34.0'
            }
        }
    }

This is what we're using internally and it works for android.

Regarding first point - I'm not sure if you can have payments with android pay without firebase. Possibly this can be done but this require some additional research and we cannot switch to this right now

@cybergrind thanks for the clarification, my original question was to ask why the Firebase lib is included in this lib as looks like it is not used at all.

Im using Firebase in my app, and i do not have issues for using it :)

any update to this? Are the Firebase pods necessary when linking?

@kaloncheung124 I've applied some PRs from here (basev8.beta9), also removed firebase as dependency from android, and bumped Stripe SDK to most recent one. You can check my fork here (last 2 commits): https://github.com/appsbakery/tipsi-stripe/commits/master

You can apply those patches with patch-package or use my fork...

Also if you want to use most recent stripe ios sdk, you have to set platform :ios, '10.0'

So, it seems to works fine without firebase, But I did not tried google wallet integration yet...

Was this page helpful?
0 / 5 - 0 ratings