how to generat or create "appcastURL" for upgrader package in flutter?

1,124

Solution 1

Create a new file appcast.xml

Paste this in it

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle">
    <channel>
        <title>Help Code TJCODE- Appcast</title>
        <item>
            <title>Version 1.15.0</title>
            <description>desc</description>
            <pubDate>Tue, 08 Jun 2021 12:00:00 +0000</pubDate>
            <enclosure url="https://play.google.com/store/apps/details?id=com.example.app" sparkle:version="1.0.0" sparkle:os="android" />
        </item>
    </channel>
</rss>

Edit the details in this file to suite your own app config.

Host this file somewhere accessible. You can host it on Github.

Solution 2

I found another package called new_version its very simple and clear, no need to any extra steps or customizations.

Share:
1,124
Noor Allan
Author by

Noor Allan

Updated on December 07, 2022

Comments

  • Noor Allan
    Noor Allan over 1 year

    I want to show dialog for user when new version of app is available on play store or google play, to do that I used Upgrader package from flutter. This package use "AppCast" class. the code is :

    import 'package:flutter/material.dart';
    import 'package:upgrader/upgrader.dart';
    import 'package:store_redirect/store_redirect.dart';
    
      void main() => runApp(MyApp());
    
      class MyApp extends StatelessWidget {
      MyApp({
        Key key,
      }) : super(key: key);
    
      @override
      Widget build(BuildContext context) {
        // Only call clearSavedSettings() during testing to reset internal values.
        Upgrader().clearSavedSettings();
    
         // On Android, setup the Appcast.
        // On iOS, the default behavior will be to use the App Store version of
        // the app, so update the Bundle Identifier in example/ios/Runner with a
        // valid identifier already in the App Store.
        final appcastURL =
            'https://raw.githubusercontent.com/larryaasen/upgrader/master/test/testappcast.xml';
        final cfg = AppcastConfiguration(url: appcastURL, supportedOS: ['android']);
    
        return MaterialApp(
          title: 'Upgrader Example',
          home: Scaffold(
              appBar: AppBar(
                title: Text('Upgrader Example'),
              ),
              body: UpgradeAlert(
    
    
                appcastConfig: cfg,
                debugLogging: true,
                showIgnore : false,
                showLater : false,
                dialogStyle :UpgradeDialogStyle.cupertino,
                onUpdate :(){
              _ launchURL();
               return true;
               },
    
             child: Center(child: Text('Checking...')),
           )),
        );
      }
      _launchURL() async {
        StoreRedirect.redirect(
            androidAppId: "intersoft.pos.soft_ta",
            iOSAppId: "284882215");
      }
    }
    

    in the example appcastURL is 'https://raw.githubusercontent.com/larryaasen/upgrader/master/test/testappcast.xml' how can I get the correct .xml file for my application?

    I read documentation of appcast class but I do not understand what I should do.

    • Codedman
      Codedman almost 3 years
      Create xml file and paste this inside <?xml version="1.0" encoding="utf-8"?> <rss version="2.0" xmlns:sparkle="andymatuschak.org/xml-namespaces/sparkle"> <channel> <title>Help Code TJCODE- Appcast</title> <item> <title>Version 1.15.0</title> <description>desc</description> <pubDate>Tue, 08 Jun 2021 12:00:00 +0000</pubDate> <enclosure url="play.google.com/store/apps/details?id=com.example.app" sparkle:version="1.0.0" sparkle:os="android" /> </item> </channel> </rss>