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
Install UX #1
Comments
Hey thanks for the feedback, my idea is to make the plugin as dumb as possible and let dev do they one logic . |
Hey @alexcroox i have update the doc to make example
So when you hide the app it start the download and set the new version. In my own app I have chosen to check for new version and download at the start. |
@alexcroox i was wandering if you have any clue about how the current plugin are doing the revert, I don't find a way to revert from installed version to original version |
I’m not sure of that specific implementation but wouldn’t it just be a case of copying the current install over to a “previous-version” folder, downloading the new version into a new folder, then telling Capacitor to launch from that new folder. Then when you re-launch call a “setInstallSuccessful” function or similar within x seconds of launch. If it’s not called by JS then you know it must be a broken build and can repeat the above but use the previous version folder as the new startup target to revert back. |
@alexcroox i found the way to get back the original version yesterday night, Thanks ! |
Hi @riderx thanks for this plugin. You wrote: "In my own app I have chosen to check for new version and download at the start. How can you check for new versions? I'm missing a few parts probably... What I would like to do is to get the updates when the user open the App only if there is something to update. But I'm struggling to understand how... Can you please add a few more code example that can cover different scenarios? Thanks again! |
@Torone You have to implement server side on your own, the plugin just "unpacks" and "load" new version. But imho that it is exactly how it should work, cause you will not depend on any specific backend vendor. |
Yes, @Torone, it works like @MarkChrisLevy said. But many users asked like you, better solution. So i'm working in simple solution with auto-pull version.
I plan to make the same pricing of old Expo.dev 29 euro by month. And of course you can continue to pull version manually like before |
Thanks for your answers. I managed to create my own logic using my API. It is working fine. |
@Torone i have add the auto-update system and auto revert if it fail. it's free for now ! Check the doc : https://doc.capgo.app/Auto-update-2cf9edda70484d7fa57111ab9c435d08 |
@alexcroox with the auto-update system do you still need the event ? |
@riderx I think events are still important so the app can make decisions at runtime. Or display progress. |
@lincolnthree in auto update you manage nothing, and in manual you already have promise, who give your result when things are done. |
i have added some features hope this make it feature complete for your usecase: |
@alexcroox do the latest change full fit your needs? |
yes I think a/b/c could probably be covered by the new events and methods thanks |
❤️ |
* move to only private key encryption with public key decryption
Love the effort here, will be watching closely.
One thing I'd like to point out if it's not been considered already is the install method. It would be great to be able to configure how the app is updated;
a) Immediate install/switch/restart when the download of the new update is finished
b) Manual through function so developer can choose the best time when they know the user isn't doing something important.
c) Install/restart/switch when the app re-gains focus (e.g with
App.addListener('appStateChange'
)If you wait until re-focus then it prevents the user being in the middle of something when you randomly restart the app. (doesn't handle the case of them switching apps temporarily to copy/paste or reference something else during a form filling exercise of course).
Apple won't allow you to show an install update prompt so you have to consider the different background approaches.
Will you be exposing events for download started/finished/failed/update available etc?
The text was updated successfully, but these errors were encountered: