Ионный конденсатор при покупке приложения требует открыть приложение для подтверждения подписки ⇐ Android
Ионный конденсатор при покупке приложения требует открыть приложение для подтверждения подписки
Я использовал https://github.com/j3k0/cordova-plugin-purchase со своим приложением ионного конденсатора. я пытаюсь реализовать подписку для Android. Кажется, все работает, и подписку можно оформить из приложения для Android. Однако, когда пользователь заходит в магазин Play -> Подписки, он видит сообщение о том, что ему следует открыть приложение и подтвердить, иначе подписка будет отменена через 3 дня.
как мне избежать этого требования? ниже мой код
конструктор (public dataSvc: DataService, общественный плт: Платформа) { if(this.plt !== не определено){ this.plt.ready().then(() => { константное хранилище: CdvPurchase.Store = новое окно.CdvPurchase.Store(); это.registerFunction() const activeSubscription = store.verifiedPurchases.find(purchase => { const product = store.get(purchase.id, Purchase.platform); console.log("Найдена покупка по адресу:", product) вернуть продукт?.type === CdvPurchase.ProductType.PAID_SUBSCRIPTION && product.owned; }); console.log("активная подписка####", JSON.stringify(activeSubscription)) }); } } регистрФункция () { const {store, ProductType, Platform, AppleAppStore} = CdvPurchase; store.verbosity = 4; //для отладки магазин.регистр([ { идентификатор: PRODUCT_PRO_KEY, тип: CdvPurchase.ProductType.PAID_SUBSCRIPTION, платформа: Platform.GOOGLE_PLAY, }, { идентификатор: 'тестовая подписка', тип: CdvPurchase.ProductType.PAID_SUBSCRIPTION, платформа: Платформа.ТЕСТ } ]); магазин.когда() .productUpdated((продукт) =>{ console.log("Продукт по-новому:", JSON.stringify(product)) if(product?.getOffer()?.canPurchase === true){ this.products.push({ «название»: product.title, «цена»: продукт.цена?.цена, «валюта»: product.pricing?.currency }) } }) .approved(транзакция => { console.log("txn одобрен.", JSON.stringify(транзакция)) транзакция.проверить() }) .verified((квитанция) => { console.log("транзакция подтверждена", квитанция) получение.окончание(); }) если (this.plt.is('ios')) { console.log('инициализировать яблоко'); store.initialize([{платформа: Platform.APPLE_APPSTORE }]); } else if (this.plt.is('android')) { console.log('инициализировать Google'); store.initialize([{платформа: Platform.GOOGLE_PLAY }]); } еще { console.log('не мобильный'); store.initialize([{платформа: Platform.TEST}]) } }//конец конструктора /** * Купить * @param идентификатор продукта */ покупка (productId: любой) { console.log("начало покупки продукта") const {магазин} = CdvPurchase; store.get(PRODUCT_PRO_KEY)?.getOffer()?.order(); }
Я использовал https://github.com/j3k0/cordova-plugin-purchase со своим приложением ионного конденсатора. я пытаюсь реализовать подписку для Android. Кажется, все работает, и подписку можно оформить из приложения для Android. Однако, когда пользователь заходит в магазин Play -> Подписки, он видит сообщение о том, что ему следует открыть приложение и подтвердить, иначе подписка будет отменена через 3 дня.
как мне избежать этого требования? ниже мой код
конструктор (public dataSvc: DataService, общественный плт: Платформа) { if(this.plt !== не определено){ this.plt.ready().then(() => { константное хранилище: CdvPurchase.Store = новое окно.CdvPurchase.Store(); это.registerFunction() const activeSubscription = store.verifiedPurchases.find(purchase => { const product = store.get(purchase.id, Purchase.platform); console.log("Найдена покупка по адресу:", product) вернуть продукт?.type === CdvPurchase.ProductType.PAID_SUBSCRIPTION && product.owned; }); console.log("активная подписка####", JSON.stringify(activeSubscription)) }); } } регистрФункция () { const {store, ProductType, Platform, AppleAppStore} = CdvPurchase; store.verbosity = 4; //для отладки магазин.регистр([ { идентификатор: PRODUCT_PRO_KEY, тип: CdvPurchase.ProductType.PAID_SUBSCRIPTION, платформа: Platform.GOOGLE_PLAY, }, { идентификатор: 'тестовая подписка', тип: CdvPurchase.ProductType.PAID_SUBSCRIPTION, платформа: Платформа.ТЕСТ } ]); магазин.когда() .productUpdated((продукт) =>{ console.log("Продукт по-новому:", JSON.stringify(product)) if(product?.getOffer()?.canPurchase === true){ this.products.push({ «название»: product.title, «цена»: продукт.цена?.цена, «валюта»: product.pricing?.currency }) } }) .approved(транзакция => { console.log("txn одобрен.", JSON.stringify(транзакция)) транзакция.проверить() }) .verified((квитанция) => { console.log("транзакция подтверждена", квитанция) получение.окончание(); }) если (this.plt.is('ios')) { console.log('инициализировать яблоко'); store.initialize([{платформа: Platform.APPLE_APPSTORE }]); } else if (this.plt.is('android')) { console.log('инициализировать Google'); store.initialize([{платформа: Platform.GOOGLE_PLAY }]); } еще { console.log('не мобильный'); store.initialize([{платформа: Platform.TEST}]) } }//конец конструктора /** * Купить * @param идентификатор продукта */ покупка (productId: любой) { console.log("начало покупки продукта") const {магазин} = CdvPurchase; store.get(PRODUCT_PRO_KEY)?.getOffer()?.order(); }
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Socket io отключается, когда приложение находится в фоновом режиме (ионный конденсатор ios)
Anonymous » » в форуме IOS - 0 Ответы
- 19 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Ионный конденсатор PendingIntent с неопределенной возможностью изменения
Anonymous » » в форуме Android - 0 Ответы
- 30 Просмотры
-
Последнее сообщение Anonymous
-