FastAppInfoDocument.fromJson constructor
FastAppInfoDocument.fromJson(
- Map<String, dynamic> json
)
Implementation
factory FastAppInfoDocument.fromJson(Map<String, dynamic> json) {
final productIdentifiers = json['productIdentifiers'] as List<dynamic>?;
final productIdentifiersSafe = <String>[];
if (productIdentifiers != null) {
for (final productIdentifier in productIdentifiers) {
if (productIdentifier is String) {
productIdentifiersSafe.add(productIdentifier);
}
}
}
final appDisclaimerLastModified =
json['appDisclaimerLastModified'] as String?;
final appPrivacyPolicyLastModified =
json['appPrivacyPolicyLastModified'] as String?;
final appTermsOfServiceLastModified =
json['appTermsOfServiceLastModified'] as String?;
return FastAppInfoDocument(
// Ignore supportedLocales
hasDisclaimer:
json['hasDisclaimer'] as bool? ?? kFastAppSettingsHasDisclaimer,
appName: json['appName'] as String? ?? kFastEmptyString,
askForReviewMinLaunches: json['askForReviewMinLaunches'] as int? ??
kFastAppSettingsAskForReviewMinLaunches,
askForReviewMinDays: json['askForReviewMinDays'] as int? ??
kFastAppSettingsAskForReviewMinDays,
remindForReviewMinLaunches: json['remindForReviewMinLaunches'] as int? ??
kFastAppSettingsRemindForReviewMinLaunches,
remindForReviewMinDays: json['remindForReviewMinDays'] as int? ??
kFastAppSettingsRemindForReviewMinDays,
appVersion: json['appVersion'] as String?,
appBuildNumber: json['appBuildNumber'] as String?,
appAuthor: json['appAuthor'] as String?,
appIdentifier: json['appIdentifier'] as String?,
appTermsOfServiceUrl: json['appTermsOfServiceUrl'] as String?,
appPrivacyPolicyUrl: json['appPrivacyPolicyUrl'] as String?,
appDisclaimerUrl: json['appDisclaimerUrl'] as String?,
supportEmail: json['supportEmail'] as String?,
bugReportEmail: json['bugReportEmail'] as String?,
facebookUrl: json['facebookUrl'] as String?,
homepageUrl: json['homepageUrl'] as String?,
instagramUrl: json['instagramUrl'] as String?,
shareAppUrl: json['shareAppUrl'] as String?,
databaseVersion: json['databaseVersion'] as int?,
googlePlayIdentifier: json['googlePlayIdentifier'] as String?,
appStoreIdentifier: json['appStoreIdentifier'] as String?,
productIdentifiers: productIdentifiersSafe,
premiumProductIdentifier: json['premiumProductIdentifier'] as String?,
promoUrl: json['promoUrl'] as String?,
appLaunchCounter: json['appLaunchCounter'] as int? ?? 0,
previousDatabaseVersion: json['previousDatabaseVersion'] as int?,
deviceLanguageCode: json['deviceLanguageCode'] as String?,
deviceCountryCode: json['deviceCountryCode'] as String?,
twitterUrl: json['twitterUrl'] as String?,
appDisclaimerLastModified: appDisclaimerLastModified != null
? DateTime.parse(appDisclaimerLastModified)
: null,
appPrivacyPolicyLastModified: appPrivacyPolicyLastModified != null
? DateTime.parse(appPrivacyPolicyLastModified)
: null,
appTermsOfServiceLastModified: appTermsOfServiceLastModified != null
? DateTime.parse(appTermsOfServiceLastModified)
: null,
);
}