adjust / flutter_sdk

This is the Flutter SDK of
MIT License
59 stars 49 forks source link

Integrate Adjust SDK for Flutter Web #148

Open sarthakappinventiv1 opened 4 weeks ago

sarthakappinventiv1 commented 4 weeks ago

Hello Adjust Team,

I'm building a web application using flutter. Could you please guide and help me to integrate the Adjust sdk in Flutter Web application

Looking forward for your support here

Thanks,

brian-superlist commented 2 days ago

@uerceg Hey hey, sorry to ping directly, but there's no response on this issue for over a month. Could you please at least provide any insights on Adjust's plans for Flutter Web Support, possible timeline, etc? Any info would be helpful so we can determine our next steps if we go with Adjust or a different solution.

uerceg commented 2 days ago

Hey guys,

@brian-superlist no worries about the ping, thanks for it and sorry for the delay in replying on this one.

Unfortunately, we don't have this in our roadmap for the time being. We do have Web SDK which can be used in web apps, but so far we were not considering to add support for web in Flutter.

How does your use case look like? I am familiar with using Flutter to build iOS and Android apps (this is obviously what we have built our plugin to support), but how does the web platform fit in there? Is code base between the three platforms being shared and Flutter generates apps for all of those targets for you? How does that even work in terms of UI when it comes to web vs. mobile?

Thanks in advance for any kind of answer and clarification on the topic.

brian-superlist commented 2 days ago

How does your use case look like? I am familiar with using Flutter to build iOS and Android apps (this is obviously what we have built our plugin to support), but how does the web platform fit in there? Is code base between the three platforms being shared and Flutter generates apps for all of those targets for you?

Yep, exactly. For example, our app Superlist, is a Flutter app deployed to Web, iOS, Android, and MacOS all from one single codebase.

How does that even work in terms of UI when it comes to web vs. mobile?

We use a combination of screen size + platform to change the UI. Kind of like responsive design on the web, but in some cases we also take platform into account so we can show more native-looking components or animations in some situations, such as screen to screen transitions. Overall though, we mostly rely on our own design system that works well across all platforms for various screen sizes and form factors.


Basically, for this plugin: My hope was that the Flutter Adjust SDK also wrapped the Adjust Web SDK and exposed that functionality to the Dart side, just as it does the iOS/Android SDKs. That way, we could just call the Adjust SDK directly from our web app to attribute inbound ad campaigns, affiliate links, etc directly to the source and send the relevant events to do so.

Hope that helps and thanks for the response!

brian-superlist commented 2 days ago

As an example of how this is generally structured, the Firebase Analytics package provides SDKs for MacOS, iOS, Android and Web.

uerceg commented 2 days ago

Thank you very much, this clarifies things a lot. (without researching a lot) I was somewhat puzzled why people would be interested in having their web apps built with Flutter, but now after your explanation and realization how Flutter is abstracting all this automagically for various platforms, things are starting to make sense. Also, thank you for the Firebase reference.

We'll try to check this out on our end to see how big of an effort this would be, but like said, unfortunately this is not officially on our roadmap for the time being and except using our Web SDK for attribution in web, nothing other than that is possible for the time being.

brian-superlist commented 2 days ago

Thanks again. If you have even a rough timeline, that would be helpful. It might be easier or us to simply make a contribution to the repository to add the Web SDK Functionality than come up with some kind of Frankenstein solution where our web apps does one thing and our iOS/Android apps do another.

uerceg commented 2 days ago

In case you guys have the willingness to do that, that would be absolutely great. We would be more than willing to help you on that road in case you have any questions for us.