Cap-go / capacitor-updater

Capacitor plugin for Instant updates: Ship updates, fixes, changes, and features within minutes
https://capgo.app
Mozilla Public License 2.0
532 stars 107 forks source link

Add AB testing features #37

Closed riderx closed 1 year ago

riderx commented 2 years ago

Allow 50% to have one version and 50% to have other to see if that improve specific stat

riderx commented 1 year ago

/bounty 200

algora-pbc[bot] commented 1 year ago

πŸ’Ž $200 bounty created by riderx πŸ™‹ If you start working on this, comment /attempt #37 to notify everyone πŸ‘‰ To claim this bounty, submit a pull request that includes the text /claim #37 somewhere in its body πŸ“ Before proceeding, please make sure you can receive payouts in your country πŸ’΅ Payment arrives in your account 2-5 days after the bounty is rewarded πŸ’― You keep 100% of the bounty award ℹ️ If something is not clear ask before working on it, otherwise your chance to rework it is high πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘¦ Join the Discord to get help πŸ™ Thank you for contributing to Cap-go/capacitor-updater!

Attempt Started (GMT+0) Solution
🟑 @WcaleNieWolny Aug 18, 2023, 11:01:04 AM #276
tachyonicbytes commented 1 year ago

Hi! I would like to work on this!

/attempt #37

riderx commented 1 year ago

@tachyonicbytes let go i will share with you more details then. I believe this task has to be done in https://github.com/Cap-go/capgo What need to be done:

tachyonicbytes commented 1 year ago

Is the channel sufficient for collecting the test results? As I see it, the type A or B has to be associated with the client, in order to collect the test results. Theoretically, it may go down to two metadata points, a "is client part of A/B testing", and "A/B testing type". The latter may be enough though.

WcaleNieWolny commented 1 year ago

Since this has not been active for a long time I am attempting this

WcaleNieWolny commented 1 year ago

/attempt #37

Options
WcaleNieWolny commented 1 year ago

Here are my changes so far: image

WcaleNieWolny commented 1 year ago

I also would like to ask: How should we handle the %? How do I update this without causing a spam to the supabase? If I update this on every change this will generate A LOT of requests

WcaleNieWolny commented 1 year ago

image

You cannot have 1 bundle on multiple channels: image (It will unlink the other channel if you attempt this, not sure how to handle when users attempts to set bundle on 2 AB channels at once)

image Linking also works

WcaleNieWolny commented 1 year ago

Please let me know if that was what you was hoping for @riderx

riderx commented 1 year ago

@WcaleNieWolny just a debounce on the % will be good i believe ! Pretty cool, i just wonder how user will use this, like how they will measure they test

WcaleNieWolny commented 1 year ago

I would like to confirm:

if (!signedURL || signedURL.startsWith('http://') || !signedURL.startsWith('https://'))

Is this the intended behavior? I do not understand why HTTP without TLS would be disallowed to be honest

WcaleNieWolny commented 1 year ago

/claim #37

I cannot claim this, since the PR is in another repo

riderx commented 1 year ago

@WcaleNieWolny because on android it’s disabled by default, so if you try http you will have that to work only in iOS . So I made the plugin behave the same in both

WcaleNieWolny commented 1 year ago

Oh, okay in that case. I will just not commit my change and change this only for testing purposes

algora-pbc[bot] commented 1 year ago

πŸŽ‰πŸŽˆ @WcaleNieWolny has been awarded $200! 🎈🎊