Flutter/라이브러리

Flutter Upgrader package 사용해보기 - 2

smileDeveloper 2023. 2. 12. 13:45
반응형
SMALL

appcast.xml을 github를 올리셨으면 이제 코드를 수정하시면 됩니다!!.

 

https://pub.dev/packages/upgrader Upgrader Package를 추가해주세요!

 

upgrader | Flutter Package

Flutter package for prompting users to upgrade when there is a newer version of the app in the store.

pub.dev

 

그 다음에는 앱을 시작할 때 실행되는 첫번째 페이지에 UpgraderAlert로 감싸주시면 됩니다! 

UpgraderAlert에는 upgrader라는 인자가 필요하게 되는데요.

Scaffold(
          backgroundColor: Colors.white,
          body: UpgradeAlert(
            upgrader: controller.upgradeService.upgrader,
            child: SafeArea(
              child: Column(
                mainAxisAlignment: MainAxisAlignment.spaceBetween,
                children: ... ,
              ),
            ),
          ),
        )

이는 다음과 같이 설정해주시면 됩니다. 

final Appcast appcast = Appcast();
late final Upgrader upgrader;

upgrader = Upgrader(
      appcastConfig: AppcastConfiguration(
        supportedOS: ['android', 'ios'],
      ),
      shouldPopScope: () => true,
      debugLogging: !kReleaseMode, // REMOVE this for release builds
      showIgnore: false,
      messages: ...,
      dialogStyle: GetPlatform.isAndroid ? UpgradeDialogStyle.material : UpgradeDialogStyle.cupertino,
    );
    
await appcast.parseAppcastItemsFromUri('https://raw.githubusercontent.com/.../appcast.xml');
await upgrader.initialize();

github에 올린 appcast.xml 파일 url은 위와 같은 방식으로 찾을 수 있습니다.

 

이렇게 되게 되면 메세지가 package에 미리 설정되있는 값으로 나오게 되는데요. 

 

class ExampleUpgradeMessages extends UpgraderMessages {
  @override
  String get title => '업데이트 설치 가능';

  @override
  String get body => '새 버전이 출시되었습니다.';

  @override
  String get prompt => '버그 수정 및 보안 업데이트를 포함하므로 업데이트를 권장합니다.';

  @override
  String get releaseNotes => '릴리즈 노트';
}

다음과 같이 메세지를 수정할 수 있습니다!

 

다음 포스트에는 Upgrade package를 총정리해보고 appcast 설정 방법에 대해서 알아보겠습니다!

반응형
LIST