Sto tentando di implementare gli abbonamenti di upgrade/downgrade nella mia app per Android. Credo di aver correttamente implementato tutto, ma non sembra funzionare correttamente durante i miei test.Android IAP getBuyIntentToReplaceSkus non annulla l'abbonamento precedente
La mia app ha tre opzioni: opzioni di abbonamento mensile, 3 mesi e 6 mesi. Quando mi iscrivo a qualsiasi opzione chiamo la seguente funzione dove 'sku' è lo sku per l'oggetto che si sta acquistando e 'oldSkus' è lo skus per gli altri elementi.
buyIntentBundle = mService.getBuyIntentToReplaceSkus(5,
mContext.getPackageName(), oldSkus, sku, itemType, extraData);
quando mi iscrivo a l'opzione 3-Month funziona benissimo e l'applicazione riceve correttamente un abbonamento di acquisto di 3 mesi dal Play Store. Se tento di effettuare l'aggiornamento alla abbonamento di 6 mesi il seguente flusso si verifica:
- dialogo 'Cambio Abbonamento' viene richiesto fornendo il mio 'piano attuale' e il 'Nuovo Piano' -> Fare clic su 'Continua'
- I dettagli del piano sono delineati. Fare clic su -> "Iscriviti" -> "Conferma"
- La transazione ha esito positivo e i dati di acquisto vengono restituiti all'app.
- ricevere e-mail di sottoscrizione affermando è stato aggiornato con i dettagli:
- piano precedente: 3 - Mesi: Annullato
- Nuovo piano: 6 - Mesi: Attivo immediatamente
- andare a giocare conto deposito e vista abbonamenti
- 3 Month Plan - sottoscritto con pulsante Annulla
- 6 mesi Plan - sottoscritto con Cance l tasto
- lancio app e osservatore getInventory risultati del piano
- 3 Month - utente è abbonato
- 6 mesi piano - l'utente è sottoscritto
Per quanto posso dire che il vecchio abbonamento non è stato correttamente cancellato dal Play Store. La mia speranza è che ciò avvenga solo perché sto utilizzando un account tester e il $/giorno che si verifica quando si verificano le sottoscrizioni sta causando alcuni problemi con il pro-rating.
AGGIORNAMENTO: Google ha risposto al mio biglietto e mi ha informato che hanno intensificato il problema. Aggiornerò di nuovo quando avrò un'altra risposta.
Lo sto testando anche ora. Sto vivendo un comportamento simile. – gswierczynski
Chiama allo sviluppatore di Google Play Api restituisce l'abbonamento che deve essere annullato restituisce ancora autoRenewing = true. Nota che: https://developer.android.com/google/play/billing/billing_subscriptions.html dichiara che l'abbonamento è stato annullato (e in base a https://developers.google.com/android-publisher/api-ref/acquisti/abbonamenti/annulla le iscrizioni cancellate (non revocate) sono valide fino alla fine della sottoscrizione, sebbene non abbia molto senso nello scenario di aggiornamento). Mi piacerebbe qualche input di Google su questo. – gswierczynski
Hai provato in produzione forse? – gswierczynski