#ios #ionic-framework #in-app-purchase #cordova-plugins
#iOS #ионный фреймворк #покупка в приложении #cordova-плагины
Вопрос:
Я следую руководству по реализации покупки в приложении в ионном приложении, и я получаю следующее предупреждение:
InAppPurchase[js]: загрузка ок: {допустимо: [] недопустимо: [«productname»,»productname»] } [store.js ] ОТЛАДКА: ios -> загруженные продукты [store.js ] ОТЛАДКА: состояние: comionicheathenwws -> недопустимое недопустимое имя продукта [store.js ] ПРЕДУПРЕЖДЕНИЕ: ios -> product productname НЕ являетсядействительный (productname)
import { Component, OnInit } from '@angular/core';
import { Platform } from '@ionic/angular';
import { InAppPurchase2, IAPProduct } from '@ionic-native/in-app-purchase-2/ngx';
const PRODUCT = 'productname';
const PRODUCT1 = 'productname';
@Component({
selector: 'app-upgrade',
templateUrl: './upgrade.page.html',
styleUrls: ['./upgrade.page.scss'],
})
export class UpgradePage implements OnInit {
products: IAPProduct[] = [];
constructor(public platform: Platform, private store: InAppPurchase2) { }
ngOnInit() {
this.store.verbosity = this.store.DEBUG;
this.registerProducts();
this.setupListeners();
this.products = this.store.products;
console.log('products', JSON.stringify(this.products));
}
registerProducts() {
this.store.register({
id: PRODUCT,
type: this.store.NON_RENEWING_SUBSCRIPTION
});
this.store.register({
id: PRODUCT1,
type: this.store.NON_RENEWING_SUBSCRIPTION
});
this.store.refresh();
}
setupListeners() {
// Register purchase
this.store.when('product')
.registered((product: IAPProduct) => {
if (product.id === PRODUCT) {
console.log('Register PRODUCT');
} else if (product.id === PRODUCT1) {
console.log('Register PRODUCT1');
}
});
// Approved purchase
this.store.when('product')
.approved((product: IAPProduct) => {
if (product.id === PRODUCT) {
console.log('approved PRODUCT');
} else if (product.id === PRODUCT1) {
console.log('approved PRODUCT1');
}
return product.verify();
}).verified((productVerified: IAPProduct) => {
productVerified.finish();
});
// finished purchase
this.store.when('product')
.finished((product: IAPProduct) => {
if (product.id === PRODUCT) {
console.log('finished PRODUCT');
} else if (product.id === PRODUCT1) {
console.log('finished PRODUCT1');
}
});
}
}
Я использую «cordova-plugin-purchase»: «^ 9.0.0», 10.0 не будет работать.
Я запускаю приложение из эмулятора ios, чтобы получить эту ошибку.
Комментарии:
1. вы когда-нибудь находили ответ на этот вопрос?
Ответ №1:
Ваш код выглядит нормально. Проверьте свой идентификатор boundle, чтобы убедиться, что он совпадает с идентификатором, который вы используете в своем appleconnect. Из-за этого я столкнулся с этой проблемой.