Skip to content
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

🔥v6 Notifications and Messaging Tracker Issue #2566

Closed
technoplato opened this issue Sep 11, 2019 · 173 comments
Closed

🔥v6 Notifications and Messaging Tracker Issue #2566

technoplato opened this issue Sep 11, 2019 · 173 comments
Assignees

Comments

@technoplato
Copy link

technoplato commented Sep 11, 2019

[Updated 2019/12/09] by @mikehardy & @Salakar - so don't blame @technoplato for these words 😉

This issue is just to track the status of v6 notifications and messaging module.

Currently notifications is not available in react-native-firebase v6, and will not be. Why? #2566 (comment)

You may not mix react-native-firebase v5 and v6, so if you want react-native-firebase notifications, you will not be able to use react-native-firebase v6.

This has the most current status: #2566 (comment)

Options are:

  • react-native-firebase v5
  • react-native-firebase v6 + react-native-push-notifications (or other 3rd party) for free
  • react-native-firebase v6 + recently announced Invertase licensed product "Notifee" which is approaching delivery but not ready yet

If you have any questions please read this thread. If your question hasn't already been answered please feel to raise it as an issue on the new Notifee repo.

Patience is always appreciated, and in the meantime react-native-firebase v5 continues to work and be updated.

@technoplato
Copy link
Author

From this Tweet, looks like there's some good progress happening: https://twitter.com/elliothesp/status/1166651845873479681

Would still love to know where I could contribute to this great project!

@mikehardy
Copy link
Collaborator

I think this is the correct place, however with the tight deadline for the firebase conference happening, and the large-scale work from v5 to v6 I think it's mostly @Salakar and @Ehesp doing the v6 ports as a tight crew. As soon as that lands on the v6 packages though, there will be an immediate need for testing which would be a great way to help

@technoplato
Copy link
Author

10 4 @mikehardy Thanks for letting me know. Will be paying close attention in the mean time.

During the period with no rnf v6 support for notifications, is there a way you would recommend getting Firebase notifications to work?

@mikehardy
Copy link
Collaborator

v5 🤷‍♂️ - it's what I'm doing (and I'm supporting / patching / releasing v5.x so we can use up to date react-native and firebase sdks, so it's not dead-end at least)

@technoplato
Copy link
Author

Really stupid question here, apologies in advance: I can't use v5 and v6 simultaneously, can I?

@technoplato
Copy link
Author

I was having issues with project portability, so took the time to nuke everything <v5 and came over to v6 land. Been quite happily living here, so don't want to trod back if I don't have to.

@mikehardy
Copy link
Collaborator

v5 and v6 do not work together in any way, sorry

@technoplato
Copy link
Author

Hey @mikehardy, just recently came across this Project board: https://github.com/invertase/react-native-firebase/projects/5

Is that something you guys keep up to date?

@mikehardy
Copy link
Collaborator

I believe it's up to date but I don't work directly with the invertase crew on moving features forward - they use the board to coordinate that I believe. I'm more just combing the issues list for triage and keeping v5 running so they have more space to work through that board :-)

@technoplato
Copy link
Author

Brilliant, thanks for clarifying!

@waqas19921
Copy link
Contributor

waqas19921 commented Sep 24, 2019

@technoplato here #2529 is the notifications pull request i guess its merged somewhere

@technoplato
Copy link
Author

@waqas19921 good find. It wasn’t merged though it was closed.

@Salakar can you say why this was closed? Will it be merged soon?

@Ehesp
Copy link
Member

Ehesp commented Sep 24, 2019

@technoplato We had to prioritise the Firebase modules as we're releasing v6 soon. A notifications migration for v5 -> v6 will be completed in the next couple of weeks.

@technoplato
Copy link
Author

technoplato commented Sep 24, 2019

Thanks for letting us know @Ehesp

If there's anything we can do to help, please let us know.

@technoplato
Copy link
Author

Info confirming from the 6.0 release post:

FROM: Announcing: React Native Firebase version 6.0.0 | Invertase

Where is the Notifications library?

We're almost complete migrating the notifications package, please bear with us. As each module is now its own npm package we did not want to hold up the rest of the React Native Firebase modules any longer than necessary because of the notifcations package, we'll publish the notifications package in the next 2-3 weeks

@mikehardy mikehardy changed the title 🔥Where can I track progress or potentially help out with Notifications in v6? 🔥v6 Notifications and Messaging Tracker Issue Sep 26, 2019
@mikehardy
Copy link
Collaborator

I just changed the title and I'll use this to update with status as/when available, and it will serve as a place to point people that ask (via other issues, or Discord or whatever) since it is a popular request

@lironsher
Copy link

Hi
Is there anyway to use version 5 notifications with version 6?

@mikehardy
Copy link
Collaborator

@lironsher no, the v5 and v6 versions don't mix. I updated the main issue text above.

@chubecode

This comment has been minimized.

@lironsher
Copy link

@mikehardy Thanks, Do we have an ETA for version 6 notifications?

@Ehesp
Copy link
Member

Ehesp commented Oct 3, 2019

Please see above comments; no, but soon.

@mikehardy
Copy link
Collaborator

Not directly related to notifications status, but for everyone waiting - if you saw the mass-closing of issues yesterday/today (via merged changes and a 6.0.1 release) you'll realize that the v6 release is a process and fixing the most critical reported bugs in it takes the same time otherwise available for notifications.

For me that's a powerful indicator of forward progress. I'm sure notifications will be along soon, while v6 in general also stabilizes.

@metasanjaya

This comment has been minimized.

@rtman
Copy link

rtman commented Oct 10, 2019

@metasanjaya

Mate, plenty of people are waiting patiently for this. No need to be so obnoxious about it. They are clearly working on it.

@roman-yerin
Copy link

So, is $240 per application or per developer?

@SaeedZhiany
Copy link
Contributor

@Ehesp @Salakar

How we can sign-up for the core-contribution to getting a free license? will previous contributions be considered? (I have no complaints about the price, it's just too expensive in my country! and this is not your fault)

Thanks for the great library.

@Ehesp
Copy link
Member

Ehesp commented Dec 7, 2019

So, is $240 per application or per developer?

Per production app (Android & iOS) - it'll be bound to an app id (which can be changed if required).

How we can sign-up for the core-contribution to getting a free license? will previous contributions be considered?

By core-contribution, we mean regularly contributing to this library; whether that's PRs, issue management, bug fixing, documentation etc :)

(I have no complaints about the price, it's just too expensive in my country! and this is not your fault)

Yeah, this has been something we've discussed quite a bit & hence we'll never satisfy everyone. We've had various discussions on how to handle this but haven't come up with any good ideas yet D:

@SaeedZhiany
Copy link
Contributor

By core-contribution, we mean regularly contributing to this library; whether that's PRs, issue management, bug fixing, documentation etc :)

I don't get it yet, how you measure does someone regularly contributes to the core? and will the free license belong to one production app or we can use more?

@Ehesp
Copy link
Member

Ehesp commented Dec 7, 2019

I don't get it yet, how you measure does someone regularly contributes to the core? and will the free license belong to one production app or we can use more?

Someone is a core/main/obvious contributor when they help us keep the library maintained, partake in active discussion with us in issues/discord about the direction of the library etc. I understand your main motive is a free license, however to become a main contributor you need to do more than a couple of commits, it's an on-going thing - one example of those type of people being @mikehardy

We'd absolutely love to give away free licenses if people help us maintain library - we're even willing to pay people to help via open collective.

@SaeedZhiany
Copy link
Contributor

one example of those type of people being @mikehardy

Oh, if Mikehardy is the measure, so anyone will not get the free license. 😃

@mi5ha
Copy link

mi5ha commented Dec 7, 2019

@Ehesp $240 per application? I am genuinely intrigued to see if you will manage to pull that of, good luck 😀

@Ehesp
Copy link
Member

Ehesp commented Dec 7, 2019

Oh, if Mikehardy is the measure, so anyone will not get the free license.

Well, I literally didn't say that 😂

@mi5ha Thanks!

@Metroninja
Copy link

Even at the lowest of hour rates, ask yourself if you were to build this yourself at your own hourly rate would that exceed the cost here or would it be greatly dwarfed by the incredible cost savings? The entire community appreciates all you have done and i think it’s past due you get paid for the cost and/or time savings you have provided all of us with. It pains me to have to see the complaints you have to shoulder, I only hope you don’t take them as a reflection of the whole and know that there are plenty of us who are happy to support you. I only hope this stops getting used as a sounding board (which I am now guilty of) so you can spend your time finishing up the feature versus managing this issue.

@mikehardy
Copy link
Collaborator

mikehardy commented Dec 7, 2019

hahah yeah, I may seem a bit obsessed right now 🤓, but I learned a long time ago that obsession is just what an attempt at mastery looks like to others so I'm fine with however it looks and comfortable doing my thing ;-). I am personally integrating just about every firebase feature into my work project and (in my opinion) a good way to learn something from scratch (which is what I'm doing) is to pay attention to all the ways it can fail, while at the same time trying to make it work of course digging into all levels as necessary. And I genuinely like to help and @Ehesp and @Salakar I think merited it for sure. This library is fantastic.

But! I hope to encourage others as well, so I will mention that Invertase has a transparent and easy way of sharing their community funding support with contributors via Open Collective, so if you have been helped, consider using OpenCollective to actually share some money to say thanks, and if you are also helping you might be able to get some money. It helps fund my startup anyway, until we land some contracts 🤞 😄 and helps make the whole thing sustainable which is a really hard problem in open source.

I have a real related licensing question though: My application has four IDs but it's one app "com.kullki.kscore", "com.kullki.kscore.dev" ".test" and ".staging", I have no idea how you could manage it technically but it would be nice to have one license cover an actually related group, as I know others are similar.

@cogell
Copy link

cogell commented Dec 7, 2019

Along with Mike, I'm also interested in how we'll be able to license Notifee for an RN app that has ~4 flavors/configurations on both iOS and Android .dev, .alpha, .beta, and <prod>.

Looking forward for the opportunity to support the Invertase team by purchasing this license(s)!

@sampsonjoliver
Copy link

Yeah, I'm totally on board for this billing model.

Being a developer for a public company with 1 million + users, and having a React Native app, have so far been two very incongruent experiences. What makes RN good is the same thing that makes React good, which is the open-source JS/Node community -- but what makes RN an absolute nightmare for my business is that all these RN modules we use are buggy, are poorly maintained, and don't keep up with OS-level changes that major versions of Android and iOS implement. It has easily cost us thousands of dollars of developer time trying to triage bugs with third-party modules, and thousands again in these bugs causing crashes and bad PR on our public app.

An easy example is https://github.com/tanguyantoine/react-native-music-control which is a great library, but it's totally broken on a huge set of devices running Android 9 and above, because the contributors are iOS devs not Android devs, and they don't have the time.

$240 is an easy sell for me to get a notification lib on both platforms, that'll handle all my use cases, and I can expect to be maintained and stable.

Love the work everyone at invertase is doing :) ❤️

@manithin
Copy link

manithin commented Dec 9, 2019

Besides the discussion about the pricing, is there an estimated time of release? Originally the plan was to have the alpha released mid-November I remember. I am on v6 at the moment and was waiting for notifications to arrive so that I could finally publish my app :|

@mikehardy
Copy link
Collaborator

@manithin never tie yourself to someone else's release schedule in the open source world. In other words use react-native-push-notifications now and get your app published. Even when notifications is published it will be the very first release of what was demonstrated above as an incredibly large API surface area. Not what I would want to release with under time-pressure.

@manithin
Copy link

manithin commented Dec 9, 2019

@mikehardy noted. I am exactly doing that now and a lesson taught :)

@SaeedZhiany
Copy link
Contributor

It might someone answer this before and I missed it but I need to ask,

Notifee is just a package for managing notification locally? or some of event handlers are also moved to this package? like onMessage or onTokenRefresh

I mean if I want to use another library to create local notifications, Am I still able to use RNF to catch firebase data as before and manage the rest on my own?

@mikehardy
Copy link
Collaborator

@SaeedZhiany yes I believe that's exactly right.

"firebase cloud messaging" aka "FCM" -> firebase ios/android SDK modules implement the APIs -> react-native-firebase messaging module wraps them for use in react-native-firebase

"notifications" aka "local notifications" -> device APIs -> notifee will wrap them for use in your app

So the use path would be to send "data only" aka "silent push" cloud messages, catch them with firebase messaging, use notifee for rich user presentation

@alexxozo
Copy link

alexxozo commented Dec 9, 2019

Firebase provides a free service for delivering data payloads to your devices, called Firebase Cloud Messaging (FCM): https://firebase.google.com/docs/cloud-messaging. This service comes with basic support for displaying a notification on the device.

The react-native-firebase v5 module provided integration for FCM (receiving data) & also showing a notification using that data. The FCM (messaging module) side of things worked ok, because it's pretty straight forwards. The notifications module however was mashed together, unloved & flakey.

Even though v5 includes support for notifications, it is nothing to do with Firebase, and should never have lived inside of this module in the first place.

For those wanting to use a free notification library, there is a few options already available for you to use, and it works with v6:

Notifee is being created because although these packages work, they lack loads of features across both iOS/Android, aren't updated regularly, have lacking documentation or simply get abandoned. We want to ensure that RN developers can take advantage of all of these cool feature native APIs offer, but in a RN developer friendly way with future support.

As explained in this thread, this library will be paid because we can't sustain building such a massive, well supported library for free. If the price is too high for you, please consider using one of the alternative options listed above.

Great explanation!
I would suggest making this more visible in the documentation since I spent the last 2 hours trying to understand what is going on 😅

Anyways, great work! ❤️

@hmazer
Copy link

hmazer commented Dec 9, 2019 via email

@mikehardy
Copy link
Collaborator

@hmazer exactly, with react-native-push-notifications having reported success as an integration with react-native-firebase v6.

@hmazer
Copy link

hmazer commented Dec 9, 2019

@hmazer exactly, with react-native-push-notifications having reported success as an integration with react-native-firebase v6.

Alright, thanks.
I believe this should be written very clearly somewhere on the docs or on the top of the thread

@mikehardy
Copy link
Collaborator

@hmazer I think you are right and I'd like this to not be too noisy, repetitive, I updated the issue text at the top

@roman-yerin
Copy link

I agree, release date is a key rather than $240. There's no problem to pay for a stable, predictable and well-documented piece of code.

@Salakar
Copy link
Member

Salakar commented Dec 9, 2019

Let's move any further Q&A to the Notifee GitHub repository: https://github.com/notifee/notifee - might make it easier to read / follow if its not all in one issue. 🙃 Feel free to raise issues there 👍

@invertase invertase locked as too heated and limited conversation to collaborators Dec 9, 2019
@Salakar
Copy link
Member

Salakar commented Jan 22, 2020

Hey all,

We've just published the documentation which we've been working on alongside the library, this should give you an idea of how to use the APIs and which features we're supporting. We're currently working on getting the SDK in a publishable state and we'll update soon once its live.

Documentation: https://notifee.app/react-native/docs/overview

We'd love some feedback on the documentation approach that we've taken with Notifee, so please let us know (via issues on https://github.com/notifee/notifee) if you have any thoughts.


As a side note, you may notice that we've now changed the pricing model so that a single purchase now includes life time access to all updates now without the need for any further purchases. The pricing has remained the same. Hopefully this alleviates some concerns people had about paying for updates.

@Salakar
Copy link
Member

Salakar commented Jan 27, 2020

🎉 Announcement time 🎉

The alpha package with Android support now available 🎉

https://github.com/notifee/react-native-notifee

You'll also notice ☝️ that we've open sourced the React Native module code - we still love open-source so we'll continue to open source as much as we can, however; the core internals of Notifee will remain closed source.


We're still testing a few things, going through docs, types and making sure everything is working well, so until then the account/license management pages are unavailable, but... you're welcome to try out the library in the meantime as a license is not required to use it in development.

We'll reach out to anyone that signed up to be early testers once we open up the account/license pages.


As we have some form of release out now I will close this issue, you can now follow along and join in the conversation on the official GitHub repo; specifically this issue: invertase/react-native-notifee#1

Thank you all for the support and patience on this issue.

@Salakar Salakar closed this as completed Jan 27, 2020
@Salakar Salakar unpinned this issue Apr 3, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests