Search code examples
flutterdartflutter-packages

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


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.


Solution

  • 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.