appleSetGoods method
Implementation
appleSetGoods(
String callback,
String uuid,
String type,
String userid,
List<dynamic> productIds,
) async {
await HJResource.loadSymbols();
Purchases.setLogLevel(LogLevel.debug);
PurchasesConfiguration configuration = PurchasesConfiguration(
MPubspecNews.catUrl,
);
configuration.appUserID = userid;
await Purchases.configure(configuration);
try {
Offerings offerings = await Purchases.getOfferings();
Map<String, dynamic> productsDict = {};
for (var offeringEntry in offerings.all.entries) {
Offering offering = offeringEntry.value;
for (Package package in offering.availablePackages) {
productsDict[package.storeProduct.identifier] = package.storeProduct;
}
}
List<Map<String, dynamic>> productsList = [];
for (var productId in productIds) {
if (productsDict.containsKey(productId)) {
var product = productsDict[productId]!;
String currencySymbol = HJResource.getSymbol(product.currencyCode);
productsList.add({
"${getRandomString()}pn": productsDict[productId].title,
"${getRandomString()}pd": productsDict[productId].description,
"${getRandomString()}pj": productsDict[productId].identifier,
"${getRandomString()}pp": productsDict[productId].priceString,
"${getRandomString()}cc": productsDict[productId].currencyCode,
"${getRandomString()}cm": currencySymbol,
"${getRandomString()}pa": productsDict[productId].price,
});
}
}
Map params = {
"${getRandomString()}gd": productsList,
"${getRandomString()}ud": uuid,
};
try {
webviewController?.runJavaScript(
"window.${getRandomCharacter()}('${callback}',${jsonEncode(params)})",
);
} catch (e) {}
} catch (e) {}
}