У меня проблема с покупкой приложения, когда я покупаю премиум-доступ, я получаю одобрение, и перевод работает, но позже, когда я пытаюсь войти в премиум-раздел, приложение застревает, и иногда оно автоматически переходит в премиум-раздел, но я хочучто произойдет, когда я нажму на кнопку.Это мой код, действительно нужно немного помочь здесь ... спасибо.
setuppremium() {
this.iap2.verbosity = this.iap2.DEBUG;
this.iap2.register({
id: 'id1234',
type: this.iap2.PAID_SUBSCRIPTION
});
this.product = this.iap2.get('id1234');
this.registerHandlersForPurchase('id1234');
// restore purchase
this.iap2.refresh();
}
checkout() {
this.registerHandlersForPurchase('id1234');
try {
let product = this.iap2.get('id1234');
console.log('Product Info: ' + JSON.stringify(product));
this.iap2.order('id1234').then((p) => {
console.log('Purchase Succesful' + JSON.stringify(p));
}).catch((e) => {
console.log('Error Ordering From Store' + e);
});
} catch (err) {
console.log('Error Ordering ' + JSON.stringify(err));
}
}
registerHandlersForPurchase(productId) {
let self = this.iap2;
this.iap2.when(productId).updated(function (product) {
if (product.loaded && product.valid && product.state === self.APPROVED && product.transaction != null) {
product.finish();
}
});
this.iap2.when(productId).registered((product: IAPProduct) => {
});
this.iap2.when(productId).owned((product: IAPProduct) => {
this.router.navigate(['/premium']);
});
this.iap2.when(productId).approved((product: IAPProduct) => {
product.finish();
});
this.iap2.when(productId).refunded((product: IAPProduct) => {
});
this.iap2.when(productId).expired((product: IAPProduct) => {
// alert('expired');
});
this.iap2.when(productId).cancelled((product: IAPProduct) => {
this.showpremiumCancel();
});
}
В HTML-коде, когда я нажимаю на кнопку, я вызываю функцию checkout (), а в конструкторе (platform.ready) я вызываю setuppremium ().Я не понимаю, что не так с моим кодом, нужна помощь, спасибо!