fetchUpdate method
Implementation
@override
Future<UpdateResult?> fetchUpdate() async {
var res = await Dio()
.get('https://itunes.apple.com/lookup?id=$appId&country=$countryCode');
if (res.statusCode == 200) {
var decoded = IosLookupResponse.fromJson(json.decode(res.data));
if (decoded.count > 0 && decoded.results.isNotEmpty) {
var result = decoded.results[0];
return UpdateResult(
latestVersion: Version.parse(result["version"]),
downloadUrl: buildUpdateUrl(),
releaseNotes: result["releaseNotes"],
releaseDate: result["currentVersionReleaseDate"]);
} else {
throw Exception("Fail to fetch results for the app id.");
}
} else {
throw Exception(
"Fail to fetch lookup API. Status code: ${res.statusCode}.");
}
}