Could you please provide a quick tutorial how to use it with Expo?
Currently react-native 0.45 uses Expo as main development tool.
@go-native it's unlikely to work in Expo without detach due to license: Expo's purpose is to avoid including non-free libraries, or at least only very specific ones (like Segment). Libraries like Intercom are not included on purpose because the service is not free, specific and the SDKs can be heavy
see also: https://github.com/expo/expo/issues/334
You definitely must detach to use this library.
But deattaching means getting rid of the expo and all it's good features.
On Jul 5, 2017 15:45, "Chris Scott" notifications@github.com wrote:
You definitely must detach to use this library.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/transistorsoft/react-native-background-geolocation/issues/284#issuecomment-313107388,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AC7BPDNl-ii-C0u1MLxk4WjhyT5lW50cks5sK5OFgaJpZM4OMtru
.
Expo doesn't have every good feature on earth. If you want the best possible background location tracking (Mauron85 version is an old fork of this from over 3 years ago), you must detach.
@go-native detaching does not mean you quit Expo, it just means you build the project yourself locally but can continue using the Expo SDK if you want to. So you can use Expo SDK + this lib in the same time.
That point is very subjective. Testing your app through WiFi and instantly
sharing it with other members of your team while you're developing is a
boost of productivity in my opinion. Would be really helpful having such
libraries also available with expo buy if it does not work then finding
another mechanism or detaching is the only option.
On Jul 5, 2017 16:40, "Chris Scott" notifications@github.com wrote:
Expo doesn't have every good feature on earth. If you want the best
possible background location tracking (Mauron85 version is an old fork of
this from over 3 years ago), you must detach.—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/transistorsoft/react-native-background-geolocation/issues/284#issuecomment-313123425,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AC7BPCuh_HWHilbihFBZ4T-HYlzWNlKmks5sK6BVgaJpZM4OMtru
.
@go-native if you build a native shell of your app using ExpoKit, and publish it with an expo name like "my-app-staging", you can distribute this shell to your coworkers manually and when you run expo publish again their staging app would be updated automatically. Hot code updates also work for detached apps (even if they are not on app stores) and it's not very long to publish a new expo release.
The drawback is that everytime you add new native libraries not included in Expo you would have to build and distribute the app shell again, but it's not very often generally.
@slorber Thanks for your help in this thread. Would you like a free Android license?
Hi,
Thanks for this proposition @christocracy I may be interested but I don't know yet because I also try to avoid ejecting my Expo app currently :) If I really need to and really need background sync in my app (not so sure) that could be nice. As I'm not at all a mobile developer and started mobile with CRNA/Expo, ejecting my Expo app costs me more than a background geolocation license
However @christocracy what would be nice is you talking with the Expo guys like @brentvatne . Maybe they'll consider shipping your lib automatically to Expo if the footprint is small. However they generally don't include non-free libraries and Expo users could be disappointed of this choice VS reimplementing a free wheel.
Providing a free license for Expo client and standalone apps (non-detached apps built remotely by Expo, so the license remains secret?) would probably permit you to get more usage of your library, and once these apps choose to detach for whatever reason you could get some money from licenses.
So it's up to you and Expo team to negociate I guess :)
I tried convincing the Expo guys, but I don't think it's up to them. The magic about this lib comes from its background functionality, and you need native elements for that.
i've been where you are @slorber there is no way around this one. @christo is right: you have to detach.
I do find ExpoKit worthwhile. Even if you plan to detach, you keep most of the utilities, they'll build your android/ios configurations and most importantly you can still code-push your JS.
My advise if to detach as soon as you start. Do the core on both platforms first. Get all the native stuff out of the way before you do any js.
Thank you very much people, I have already detached it, I think location
tracking feature is more important than having a "shiny and fancy" build
process.
@christo https://github.com/christocracy who was saying something about
free android license? ;)
On Wed, Jul 5, 2017 at 11:16 PM, fozzarelo notifications@github.com wrote:
I tried convincing the Expo guys, but I don't think it's up to them. The
magic about this lib comes from its background functionality, and you need
native elements for that.
i've been where you are @slorber https://github.com/slorber there is no
way around this one. @christo https://github.com/christo is right: you
have to detach.
I do find ExpoKit worthwhile. Even if you plan to detach, you keep most of
the utilities, they'll build your android/ios configurations and most
importantly you can still code-push your JS.
My advise if to detach as soon as you start. Do the core on both platforms
first. Get all the native stuff out of the way before you do any js.—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/transistorsoft/react-native-background-geolocation/issues/284#issuecomment-313229344,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AC7BPKDF11Moe1x_wPGujHyXebGtO4o_ks5sK_0fgaJpZM4OMtru
.
--
Best Regards
Taron Mehrabyan
Mobile - (+ 49) 163 5471089
Skype - taronpro
@fozzarelo I don't really understand, why do you think this lib could not be included into Expo SDK?
Also, I've considered your path and we choose the opposite way: first make the Expo part then detach. The difference is probably the non-expo features we have are not the most important to ship currently and we are ok with an MVP that does not include them.
@fozzarelo I think @slorber is right. There's no magic with this lib. It simply implements existing iOS / Android apis in the same manner as any other component within the Expo sdk does.
Anything background related is a work in progress at this point.
It's a huge issue if you think about it. It's basically a browser app without it.
I saw your link with Vatne's answer. It's promising! But i've been hearing that since sdk13.
Yea: Good choice on pushing to MVP first. keep in mind wich features you'll need to redo after you detach, and maybe skip them. Notifications come to mind.
@christocracy: I wish I knew more about the technical challenge. Pretty sure its related to the way expo's non-detached projects serve the native code. It needs to be running to run.
This thread is the freshest could find on the issue. Except for @slorber's post.
I really don't know how far Expo can go attempting to collect all the important things under one umbrella that an app which hopes to solve real problems requires.
Background Geolocation is not so much a "plugin", it's more like a headless tracking application that you build your UI onto.
The plugin was designed for tracking first-responders in disaster zones where life depended on it:
If you're making any kind of "fleet tracking" app, all these things are critical.
Device-tracking is a complex problem because you're dealing with real world network issues (including satellites in space) as well as motion-detection apis, things that aren't easily simulated. Not to mention the different capabilities of various devices (particularly Android). The plugin's logging system is crucial for all this.
If you're hoping to make any kind of fleet-tracking app, this plugin was made for you but you're going to have to detach.
If you're making a social app, this plugin is definitely not for you.
Most helpful comment
@slorber Thanks for your help in this thread. Would you like a free Android license?