-
-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(android): remove core requirement #136
Conversation
So why would anyone use firebase-core now at all? Still don't get it.. |
I guess only for Ti < 9 without gradle or in very special cases if you want to use a different configuration than provided in the json file. |
@m1ga Did you test it with Analytics 19.0.0(ti.firebase-analytics 5.0.0) or it starts after 19.0.2? |
I've tested analytics-5.0.0, auth-3.1.0, performance-2.0.0, crashlytics-2.1.0 |
@jordanbisato since you use Analytics it shouldn't make any difference since you have to set the tracking option in Google Play anyway. I don't use any tracking but I can't set it to "no tracking" because it finds the (not used) library in my dependencies. |
I was thinking about the size decrease of aab/apk and project. And maybe a improvement of performance. DO you think it's possible? |
core is 135kb 😄 do you see any performance issues when using the libraries? But I don't think it is part of this PR so please start an issue in the libraries repo if you can reproduce it with analytics |
Ok, so my tests look good! Android works fine without core. iOS still needs it otherwise it won't compile so I've put it back to the README. |
Tests are fine. Ready to merge @hansemannn unless you've found something. To see if AdMob is still in there you can do:
|
added FLAG_IMMUTABLE to fix Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent. |
using this in a store app now, works fine and no "AdMob" is found 👍 |
@m1ga I am still a bit unsure because of the other modules. Is Firebase-Core never required anymore? This may be an important docs change. |
For iOS you'll still need it. I've changed the README so it lists firebase.core only for iOS as a requirement and put an But you are right: we need to update the titanium-firebase README too. edit: and it is not a problem if you still use it. It will just say you are using AdMob inside the "say what your app is using" section of the store. And you can't say you don't use it. If that isn't a problem for users (e.g. if they use ads in their app) it doesn't really matter since you have to say that you are using ads anyway. |
Ok, so none of the Android modules (storage, auth, FCM, in-app-messing, config) need it, but the iOS ones do? That's pretty straight forward! I plan to merge the open iOS PR's today / tomorrow as well, then we have some fresh slices of modules ready! |
Yes, i'm using Config, Analytics, Performance, CloudMessaging, In-app Messaging and Crashlytics in a production android app without Core and it is working normally. |
Thanks for the feedback @jordanbisato 👍 That's good to know, haven't used all together in one production app yet. |
Okay, then let's go! Should we maybe combine it with an update-to-latest for all libs? And I think the current play-services in Titanium are also outdated, not sure what to do about that. |
18.0.0/.1 was released this December: And we can update https://github.com/appcelerator-modules/ti.playservices/blob/master/android/build.gradle to 18.0.1
builds fine but I didn't do any tests. But I think we should move that to a PR in ti.playservices. FCM works fine with the current ti.playservice module so we can update this independently issue/PR for ti.playservice: tidev/ti.playservices#230 / tidev/ti.playservices#229 |
Yep, let's merge this one first and the version upgrade separately. Can someone also remove it from the other Firebase Android modules? Merging this one already! @m1ga If you don't mind, can you release the new version? |
@hansemannn done 👍 I'll check the other README files later |
According to Google: https://firebase.google.com/support/release-notes/android it is not needed anymore.
Couldn't find any anything in the documentation but it still works so why not update it 😄
Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent.
Tests
I did test fcm, analytics, performance, crash, auth without core and they work. So we can remove the requirement from timodule.xml too
iOS
I didn't test iOS yet and don't know if it is still needed there.Still has to be there. Added it back to the readme.firebase.cloudmessaging-android-3.3.0.zip