{"id":15293084,"url":"https://github.com/vinodbaste/app_update","last_synced_at":"2026-02-06T15:08:02.246Z","repository":{"id":59523852,"uuid":"537713206","full_name":"vinodbaste/app_update","owner":"vinodbaste","description":"Allow users keep your app up to date on their devices, they can try new features, as well as benefit from performance improvements and bug fixes.","archived":false,"fork":false,"pushed_at":"2022-11-11T06:49:48.000Z","size":870,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-08T20:07:09.635Z","etag":null,"topics":["android","appstore","dart","flutter","inappupdate","ios","library","package","playstore","plugin","update"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vinodbaste.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-09-17T05:54:16.000Z","updated_at":"2023-04-05T08:29:40.000Z","dependencies_parsed_at":"2023-01-21T15:47:41.810Z","dependency_job_id":null,"html_url":"https://github.com/vinodbaste/app_update","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vinodbaste/app_update","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinodbaste%2Fapp_update","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinodbaste%2Fapp_update/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinodbaste%2Fapp_update/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinodbaste%2Fapp_update/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vinodbaste","download_url":"https://codeload.github.com/vinodbaste/app_update/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vinodbaste%2Fapp_update/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29165902,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-06T14:37:12.680Z","status":"ssl_error","status_checked_at":"2026-02-06T14:36:22.973Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","appstore","dart","flutter","inappupdate","ios","library","package","playstore","plugin","update"],"created_at":"2024-09-30T16:39:44.683Z","updated_at":"2026-02-06T15:08:02.229Z","avatar_url":"https://github.com/vinodbaste.png","language":"C++","funding_links":["https://www.buymeacoffee.com/bastevinod"],"categories":[],"sub_categories":[],"readme":"\n# App Update alert Plugin\n```keep your app users up to date on their devices```\n\n[![ios support version - 13+](https://img.shields.io/badge/ios_support_version-13%2B-2ea44f)](https://)\n[![android support version - 8+](https://img.shields.io/badge/android_support_version-8%2B-2ea44f)](https://)\n![tag - v1.5.0](https://img.shields.io/badge/tag-v1.5.0-516cc4?logo=3a76b8)\n[![License](https://img.shields.io/badge/License-Apache_2.0-blue)](#license)\n[![News - Android Weekly](https://img.shields.io/badge/News-Android_Weekly-d36f21)](https://androidweekly.net/issues/issue-326)\n[![Story - Medium](https://img.shields.io/badge/Story-Medium-2ea44f)](https://medium.com/codex/image-compresso-13dbfd0445a3)\n[![GitHub - VinodBaste](https://img.shields.io/badge/GitHub-VinodBaste-516cc4)](https://github.com/vinodbaste/app_update#readme)\n\nWith the help of a this Flutter plugin.\n* Check if a user has the most recent installation of your app.\n* Display a message to the user with a link to the relevant app store page.\n\nSee more at the [Dart Packages page.](https://pub.dev/packages/app_update_alert)\n\n\u003cimg src = \"https://github.com/vinodbaste/app_update/raw/main/screenshots/android.png\" width = 250 height = 500 /\u003e\n\n## Installation\nAdd `app_update_alert` as [a dependency in your `pubspec.yaml` file.](https://flutter.io/using-packages/)\n\n## With Flutter:\n```\nRun this command:\nflutter pub add app_update_alert\n```\nThis will add a line like below to your package's ```pubspec.yaml```\n\n```\ndependencies:\n  app_update_alert: ^1.5.5\n```\nrun an implicit ```flutter pub get```\n\n## Usage\nCreate an instance of `AppUpdate` in `main.dart` (or wherever your app is initialised).\n\n```Dart\n@override\n  void initState() {\n    super.initState();\n final appUpdate = AppUpdate(\n      iosPackageName: 'com.your.IOSpackage',\n      androidPackageName: 'com.your.Androidpackage', \n      iOSAppStoreCountry: 'in'\n  );\n}\n```\n\nYour Flutter package identification will be used by the plugin automatically to search the app store.\nYou can overwrite this identity if your app uses a different one on the Google Play Store or Apple App Store by giving values for `androidPackageName` and/or `iosPackageName.`\n\n*For iOS:* You must specify `iOSAppStoreCountry` to the two-letter country code of the Software Store you want to search if your app is only accessible outside the India. A list of ISO Country Codes can be found at http://en.wikipedia.org/wiki/ISO 3166-1 alpha-2.\n\n\n### Quickstart\nCalling `showUpdateAlert` with your app's `BuildContext` and other optional parameters which will check if the app can be updated, and will automatically display a platform-specific alert that the user can use to go to the app store.\n\n```Dart\n@override\n  void initState() {\n    super.initState();\n final appUpdate = AppUpdate(\n      iosPackageName: 'com.your.IOSpackage',\n      androidPackageName: 'com.your.Androidpackage', \n      iOSAppStoreCountry: 'in'\n  );\n  \n //showUpdateAlert\n appUpdate.showUpdateAlert(context: context);\n}\n```\n*Note:* The parameters such as `iosPackageName`,  `androidPackageName` are non-mandatory fields and can only be overwritten if the app package's differ from store versions.\n\n# showUpdateAlert dialog with optional parameters and dialog dismissal\nTo change the appearance and behavior of the update dialog, you can `showUpdateAlert`\noptionally provide `dialogTitle: String`, `dialogText: String`, `updateButtonText: String`, `allowDismissal: bool`,\n`dismissButtonText: String`, and `dismissAction: VoidCallback` parameters.\n```Dart\n    appUpdate.showUpdateAlert(context: context,\n                                dialogTitle: dialogTitle,\n                                dialogText: dialogText,\n                                updateButtonText: updateButtonText,\n                                allowDismissal: true,\n                                dismissButtonText: dismissButtonText,\n                                dismissAction: dismissAction\n                              );\n```\n\n# showUpdateAlert dialog without dialog dismissal\nTo change the appearance and behavior of the update dialog, you can `showUpdateAlert`\noptionally provide `dialogTitle: String`, `dialogText: String`, `updateButtonText: String`, `allowDismissal: bool`, parameters.\n```Dart\n    appUpdate.showUpdateAlert(context: context,\n                                dialogTitle: dialogTitle,\n                                dialogText: dialogText,\n                                updateButtonText: updateButtonText,\n                                allowDismissal: false,\n                              );\n```\n\n# showUpdateAlert dialog with optional VoidCallback\nWhen dialog dismissal is allowed and to perform/ execute any functions on `dismissButtonText` or on dialog dismiss use the `dismissAction`.\n```Dart\n    void callBackFunction() {\n      print('dismissAction called');\n    }   \n\n    appUpdate.showUpdateAlert(context: context,\n                                dialogTitle: dialogTitle,\n                                dialogText: dialogText,\n                                updateButtonText: updateButtonText,\n                                allowDismissal: true,\n                                dismissButtonText: dismissButtonText,\n                                dismissAction: callBackFunction()\n                              );\n```\n\n# Force update dialog\nCalling `forceAppVersion` with your app's greater version will check if the app can be updated, and will automatically display a platform-specific alert that the user can use to go to the app store.\n```Dart\n final appUpdate = AppUpdate(\n      iosPackageName: 'com.your.IOSpackage',\n      androidPackageName: 'com.your.Androidpackage', \n      iOSAppStoreCountry: 'in',\n      forceAppVersion: '1.0.1'\n  );\n```\n\n# Platform Support \n```\nANDROID - ✅ Yes\t                  \nIOS     - ✅ Yes                   \nLINUX   - ❌ No\t                  \nMACOS   - ❌ No\t                 \nWEB     - ❌ No\t                  \nWINDOWS - ❌ No\t                  \n```\n\n**If you find this library useful, please consider starring this repository from the top of this page.**\n[![](https://i.imgur.com/oSLuE0e.png)](#)\n\n# Support my work\n\u003ca href=\"https://www.buymeacoffee.com/bastevinod\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/default-orange.png\" alt=\"Buy Me A Coffee\" height=\"41\" width=\"174\"\u003e\u003c/a\u003e\n\n# License\n```\nCopyright [2022] [Vinod Baste]\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvinodbaste%2Fapp_update","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvinodbaste%2Fapp_update","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvinodbaste%2Fapp_update/lists"}