Skip to content
This repository has been archived by the owner on Jan 25, 2022. It is now read-only.

The Future of flutter-segment #46

Closed
fweinaug opened this issue Dec 4, 2020 · 13 comments
Closed

The Future of flutter-segment #46

fweinaug opened this issue Dec 4, 2020 · 13 comments

Comments

@fweinaug
Copy link
Contributor

fweinaug commented Dec 4, 2020

We of claimsforce are very happy with the growing popularity of the flutter-segment package and the help we get from the community! However, with the growing interest there is also an increasing need for improvements and maintenance. Therefore we would like to simplify the use and further development of the package and prepare for the future. 🙂

After reviewing all open issues and pull requests as well as the existing forks we would like to introduce the following changes to flutter-segment:

  • Make flutter-segment a truly federated plugin by splitting the platform interface and web support into two additional packages. This should make the package easier to understand for contributors and will make adding support for additional platforms (MacOS, Windows) easier. (addresses Any plans for supporting macOS? #24)
  • Move the existing integration for Amplitude and all future integrations to separate packages, e.g. for AppFlyer, Mixpanel and Firebase as there is already a demand for this. This will keep the main package small and will also make adding new integrations easier. Every integration package can provide a specific configuration and readme which will make it easy to work with for the user who can mix and match between the integrations. (addresses AppFlyer integration #42)
  • Remove the configuration from AndroidManifest.xml / Info.plist and instead make the package purely configurable in Dart. This will make the package easier to understand and work with for users and will also help when adding support for additional platforms. (addresses [Question] Would you consider changing the installation process to be pure Dart? #22)

We believe these changes are a big step in the right direction. What do you think?

@dgilperez
Copy link

Great news! Looking forward to see the progress in that direction, and willing to help if I can.

@themisir
Copy link

Can I use flutter-segment for sending events to firebase, fb app-events, intercom, etc...?

Some of them requires native code changes:

Finally, register the integration with the Segment SDK

1. builder.use(FirebaseIntegration.FACTORY);

How can I get instance of builder to call .use method in that case?

@dgilperez
Copy link

Hi! Gentle ping to ask for status for this, and offer my axe in case I can help. We're again considering using tools such as AppsFlyer and would really like to make use of flutter-segment to install it, if possible.

@fweinaug
Copy link
Contributor Author

I finally had some time to lay the groundworks for this. You can find the current status in the branch for version 4. I would be very grateful for any help!

@fweinaug
Copy link
Contributor Author

There is one big open topic: I could not find a way to split the integrations into separate packages. The native implementation for Segment lives in the main package and expects the FACTORY from the native implementation of the integration. The FACTORY implementation would live in the native part of the integration package and somehow has to be passed to the native implementation of the main package. Maybe there are other ways to implement this? If you have an idea or want to help I'd really appreciate it.

@vcanuel
Copy link

vcanuel commented Mar 19, 2021

Hi,

Will you support null safety in the future version ?

@dgilperez
Copy link

I finally had some time to lay the groundworks for this. You can find the current status in the branch for version 4. I would be very grateful for any help!

👏 rock and roll!

I had a look and I am afraid I can't help much with the pending issues - I am not experienced enough-, but I can test the branch / setup instructions once ready to test.

@supposedlysam-bb
Copy link

There is one big open topic: I could not find a way to split the integrations into separate packages. The native implementation for Segment lives in the main package and expects the FACTORY from the native implementation of the integration. The FACTORY implementation would live in the native part of the integration package and somehow has to be passed to the native implementation of the main package. Maybe there are other ways to implement this? If you have an idea or want to help I'd really appreciate it.

In light of this finding, are there plans to continue development on this package "un-federated"?

@danielFloat
Copy link

Can I use flutter-segment for sending events to firebase, fb app-events, intercom, etc...?

Some of them requires native code changes:

Finally, register the integration with the Segment SDK

1. builder.use(FirebaseIntegration.FACTORY);

How can I get instance of builder to call .use method in that case?

@themisir did you find a way to do this? I'm facing the same thing, my company wants that integration and I'm not sure how to implement it.

@themisir
Copy link

Can I use flutter-segment for sending events to firebase, fb app-events, intercom, etc...?
Some of them requires native code changes:

Finally, register the integration with the Segment SDK

1. builder.use(FirebaseIntegration.FACTORY);

How can I get instance of builder to call .use method in that case?

@themisir did you find a way to do this? I'm facing the same thing, my company wants that integration and I'm not sure how to implement it.

Unfortunately I had to decide to not use Segment. Instead I write internal data sharing service (in dart) to translate and send events to supported platforms. (It closed source also I haven't done it yet)

@wer-mathurin
Copy link

wer-mathurin commented Sep 30, 2021

@fweinaug is there a chance you can backporting pure dart configuration to the 3.x branch?

In terms of getting the write API key secure, this will be easier :-)

Updated(September 30), release of 3.2.0, make it possible on the 3.x branch!

@MaiKaY
Copy link
Contributor

MaiKaY commented Oct 4, 2021

@wer-mathurin sorry but I don't really understand. Do you mean to move the dart configuration to all other 3.x branches versions? Can't you easily update to 3.2.x?

@wer-mathurin
Copy link

@MaiKaY : I saw that the dart configuration was available on the beta branch 4.x, and I was asking if it was possible to backport in the 3.x branch and the good news is that the 3.2 version does exactly this (the version 3.2 was release about a day after my comment) :-) So everything is good for me!

@MaiKaY MaiKaY unpinned this issue Jan 25, 2022
@MaiKaY MaiKaY closed this as completed Jan 25, 2022
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

8 participants