lavva.exalushome
Version:
Library implementing communication and abstraction layers for ExalusHome system
29 lines • 1.18 kB
JavaScript
import { Helpers } from "../Helpers";
export class AppRateService {
OpenRateDialogAsync() {
if (Helpers.IsIosNative()) {
try {
if (window.webkit.messageHandlers.rateApp != undefined) {
window.webkit.messageHandlers.rateApp.postMessage(true);
return Promise.resolve();
}
}
catch (err) {
return Promise.reject(new Error(`Rate dialog is not available on this platform. Error: ${err}`));
}
}
else if (this.IsAvailable()) {
return navigator.AndroidAppRate.OpenRateDialogAsync();
}
return Promise.reject(new Error("AppRateService is not available on this platform."));
}
IsAvailable() {
var _a, _b;
return navigator.AndroidAppRate !== undefined || ((_b = (_a = window.webkit) === null || _a === void 0 ? void 0 : _a.messageHandlers) === null || _b === void 0 ? void 0 : _b.rateApp) !== undefined;
}
GetServiceName() {
return AppRateService.ServiceName;
}
}
AppRateService.ServiceName = "AppRateService";
//# sourceMappingURL=AppRateService.js.map