Я пытаюсь реализовать возобновляемые подписки в своем приложении cordova, и я использую плагин fovea cordova-plugin-purchase и следую их документации
В своей документации у них есть раздел для добавление подписок для iOS и Android отдельно, однако я вижу единственное отличие - предварительная настройка плагинов с точки зрения создания подписок в соответствующих магазинах. Фактический код один и тот же.
Я настроил «годовую» и «ежемесячную» подписку как в магазине приложений, так и в магазине Play, и моя реализация плагина соответствует их документации.
Когда я запускаю его на iOS Я получаю ожидаемые результаты, я могу зарегистрировать продукты и заказать заказ по ним и т. Д. c.
Однако, когда я запускаю тот же код на Android, я получаю ошибка о недоступности iOS storekit и некоторые другие iOS ошибки, которые заставляют меня поверить, что плагин все еще ищет в магазине приложений, хотя я на Android.
As Я говорю, что кодовая база из документации одинакова для обоих, и нет упоминания о настройке платформы или чего-либо еще, чтобы указать, какое хранилище посмотреть.
Кто-нибудь еще реализовал этот плагин для обоих и может сказать мне где я ошибаюсь.
ps Идентификаторы для моих продуктов подписки: ['year', 'помесячно'] как в магазине приложений, так и в магазине Play.
Любая помощь будет очень полезна eciated.
Вот моя реализация:
appStore.verbosity = appStore.DEBUG;
appStore.register(
[
{
id: 'monthly',
type: appStore.PAID_SUBSCRIPTION,
},
{
id: 'annual',
type: appStore.PAID_SUBSCRIPTION,
}
]
);
appStore.validator = "https://validator.fovea.cc/v1/validate?appName=com.betterappcompany.better&apiKey=***";
appStore.error((error) => {
console.log({error: `ERROR ${error.code}: ${error.message}`});
});
appStore.when('subscription').updated(() => {
const product1 = appStore.get('monthly') || {};
const product2 = appStore.get('annual') || {};
if (product1.owned || product2.owned) {
commit('updateStoreStatus', 'Subscribed');
console.log('Subscribed');
} else if (product1.state === 'approved' || product2.state === 'approved') {
commit('updateStoreStatus', 'Processing');
console.log('Processing');
} else {
commit('updateStoreStatus', "Don't know");
}
commit('updateProduct', {id: 'product1', product: product1});
commit('updateProduct', {id: 'product2', product: product2});
});
appStore.when('subscription')
.approved(p => p.verify())
.verified(p => p.finish())
.owned(p => console.log(`you now own ${p.alias}`));
appStore.refresh();