How to update flutter app programmatically in Play/App store? - flutter

There is an upgrader (mostly for iOS) and in_app_update plugin (for android). I try to implement them both and had a difficulty to do so. I post and issues in both plugin but I got no response. So if anyone use this 2 plugin successfully please can you share step-by-step approach details.
Basically How to update flutter app programmatically in Google Play Store (Android) & App Store (iOS)?
Thanks

I have also tried in_app_update 1.1.11 and upgrader 2.4.0.
For upgrader:
I also don't know how to use Appcast, so I use the iTune api to get my app version in the App Store then pop up the install dialog. However, the iTune api is so slow to update. Therefore I just use Firebase remote config to set the version once the app is published.
For in_app_update:
I also don't know how to use it. I have add the Play Core in app/build.gradle
implementation 'com.google.android.play:core:1.8.0'
Nothing pop up even I downloaded the old version from the Play Store and then publish a new version.
Update:
I found that in_app_update actually work just by following its example code. I don't have any update pop up before because my Android device is Mi 9, seems there is some bug in it. The update pop up can be seen in the release version of other brand of devices
Since I really want to use the Play Store in-app-update, so for android I did use the remote config... waiting for someone to have the guides

Related

How to do Remote Updates On Flutter

I have a flutter chat app. Companies like Whatsapp & Facebook update their app without forcing users to uninstall or manually uploading the APK again to google play. Is this possible with futter i tried using firebase remote config but it didn't work as i expected ( Changing UI on the go ). Any answer will be appreciated.
WhatsApp and Facebook use React Native with CodePush (if I'm not wrong).
You can't update an app without forcing a user somehow to update the app from a store with Flutter as it compiles to binary and React Native – not
There are multiple things you can do and it is based on what you want to achieve. [From your question your goal is not clear.]
Change Something based on configuration.
If you have configurations defined then you can use Firebase remote config to pass on value to devices and devices should behave according to value that you have set on Firebase Remote config.
Limitation of this approach:
In this approach, don't expect your newly updated code will into existing app. Above approach works, if code is already there in the compiled binary and you just want to switch path.
Binary version update:
If you want to force new app version download then it would require a different approach,
Android: Yes it is possible.
iOS: In-App update is not possible. You can show prompt to user by saying that new version is available and redirect user to new version on Store.
If user has enabled auto-download in iPhone settings then there are chances that app version updated to new version when user come to app.
For implementation look at here: Binary version update
Flutter now has unofficial support for code push using Chimera Flutter Code Push.
Here is a full tutorial

Check if my ionic app has a new version on AppStore and PlayStore

I would like to add functionality to my Ionic based application to check the respective app store for a newer version, and if present, prompt the user to download once (not repeatedly- they should be able to skip and not be nagged). Similar to Siren, but for Ionic and both Google Play and Apple App Store. I see this similar request for native apps and AppStore and this similar request for Play Store, but nothing specific to Ionic. I feel like I could stitch it together using App Version and ajax calls listed from those requests, but that there has to be other people who have done this already and have existing Cordova/Capacitor plugins for this. Also that there may be nuance that a naive solution could fail (ie ajax call fails, app stores change API, newer version is not supported on device, etc).
Is there an existing plugin or code that will implement the behavior described above?
You can use Market plugin in addition to the App version plugin..
I haven't come across a solution which directly checks the app store, instead i have to maintain the app version in my server db and check it at app start.
Here is the flow that can be used..
App Launches
Checks the current app version using APP VERSION plugin
Calls an API endpoint to my server to compare for the deployed app store version (which is maintained in the db)
If the app version is outdated, use the MARKET plugin to take the user to the app store.
A Capacitor alternative to the market plugin is there, but didn't test it out.
Follow Capacitor plugins proposals, for an upcoming solution.

How to get package name and version number from play store?

currently, I used firebase_remote_config to give update message to application.
But I update firebase manual when always release new version. Is that anyway to check google play store app version number with package name?
There is no official API to check your latest version in the play store. You could do a webcall getting the contents of https://play.google.com/store/apps/details?id=[appid] and find the version somewhere in the HTML. I cannot really recommend it because the HTML might change overtime. I would suggest keeping it the way it is with a variable in remote_config.
There's no official Playstore API to check the version. You'll have to make API yourself. The API will send the latest version number (and build number) and then the mobile app compares it with itself and displays the message in case update is available.
Since you are already using Firebase, there's one more way (without writing any code).
You send push notifications only to those users who are using old app version. See below :
There's no official way to do it using Flutter. But you can write code in platform wise. Above way is for Android.
Official documentation
click here
medium article click tutorial

Is there a way to force users to update my ionic app

Just like the title of the post. I would like to know if there's a way to force users to update my ionic app if there's a newer version. Or at least any idea how to notify them that there's a new version of the app. My ionic cli version is 2
Using the App Version Plugin, you're able to request the users' version of your application. Once retreived, you able to decide for yourself what to do when a version (mis)matched. For example you could open the device's application store using the Market Plugin.
You can have your own design for an Ionic application.
You can track the current version of your application and store the latest application in DB.
Next step is to compare your current version of the app with the DB and decide what action need to be taken for an APP.
Other solution, you can directly use Force Update of Firebase which is a ready solution for any application.

Facebook login on Meteor mobile App (cordova)?

I'm looking to build a mobile application using Meteor+Cordova. Looking to get the Facebook login to work first. Apparently the default accounts-facebook package doesn't work so I looked around atmosphere and only found "particle4dev:cordova-fb", so I tried using that.
I'm a bit confused about the app developer stuff. Normally I just use it for my website so its quite straight forward. In terms of setting up the login details (such as ID and token), do I register as if it's an IOS app? Or do I still register as if its web?? It asks me to download XCode SDK for FB, is that what I'm supposed to be doing? is the package mentioned above what I should be using, or are there more mainstream options available?
I was also facing problem with accounts-facebook package. It was using in-app cordova browser and failing at the time of oauth handshake.
I added cordova:com.phonegap.plugins.facebookconnect#0.11.0 to app and enabled it for single sign on from developer account on facebook.
If you face any problem then please look at my blog here. I have written a simple tutorial.
If there are still some people to fix this thing, this may help them.
I've just used the latest version on github.
removing the plugin and adding it again like this:
meteor add cordova:com.phonegap.plugins.facebookconnect#https://github.com/Wizcorp/phonegap-facebook-plugin/tarball/d8b0f6935a7c6e586188bf85f9da88a1c160790b
This above code with particle4dev:cordova-fb worked like a charm on android and it should work on ios devices also. It seems they fixed the issue in their updates.
accounts-facebook package works fine. I just created a new project and tried, you can refer to this screencast http://recordit.co/7JNpDSzJ9m
if you are using accounts-facebook, you need to register the app as web on fb
So I've been trying to use particle4dev:cordova-fb for awhile now. For those who are confused about how to implement it. First you add it as a package to your existing app. Then you add the facebookconnect cordova plugin. Then you add the android platform. Then try and run the android platform (meteor run android --settings settings.json). This should fail. Now go through the steps on implementing facebookconnect on Android. This should make sure it works on android now. However even after doing all of this and getting it to work, it still simply opens up the in app browser on android for some reason.