11

Ho implementato l'abbonamento mensile nella mia applicazione per attivare l'utente sul nostro server web. Ho implementato con successo il codice di abbonamento nel mio progetto. Desidero disattivare l'utente se l'utente annulla l'iscrizione dal profilo App del Play Store di Google Play. Ho implementato i dettagli dell'abbonamento al prodotto se l'utente annulla il prodotto in abbonamento in base allo document-1 e allo document-2.Qual è la risposta del prodotto dell'abbonamento annullato dallo sviluppatore google api android

Qual è il problema?

Non riesco a testare l'acquisto del prodotto in abbonamento in base allo documentation. Quindi, darò la build firmata al cliente e controlleranno usando la carta di credito e l'acquisto del prodotto reale. Ma come posso testare qual è la risposta che il cliente otterrà mentre l'abbonamento è stato annullato dall'utente?

per il prodotto di annullamento: Ho messo il servizio per ottenere il token di accesso giornalmente e controllare validUntilTimestampMsec è maggiore di zero quindi controllare il flag di AutoRenewing è falso o no se entrambi sono vere quindi disattivare l'utente. ma non so che questa logica è giusta o sbagliata.

if (validUntilDateInMilli > 0) { 
    if ((System.currentTimeMillis() > validUntilDateInMilli) 
         && (!autoRenewingFlag)) { 
     // call web service to deactivate user 

     new AsyncTaskDeActivateBusinessOwner().execute(); 
    } 
} 

ho ottenuto solo questa risposta dal official document di api sviluppatore è stata di:

{ 
    "kind": "androidpublisher#subscriptionPurchase", 
    "initiationTimestampMsec": {long}, 
    "validUntilTimestampMsec": {long}, 
    "autoRenewing": {boolean} 
} 

Secondo quello che ho cercato su Google e StackOverflow, ma nessuna documentazione ho trovato quello è la risposta per la condizione di seguito:

what is the response 

1) if the user currently has the subscription and 
2) if user has cancelled subscription(in 15 days) or if subscription cycle is completed. 

prega tutti coloro che hanno testato l'abbonamento end-to-end di acquisto e sottoscrizione annullata validUntilDate dal GOOG le developer api.

Qualsiasi aiuto sarà molto apprezzato. Grazie in anticipo.

+1

Solo un'ipotesi - controlla l'API di acquisto che potrebbe essere utile http://developer.android.com/google/play/billing/gp-purchase-status-api.html – MKJParekh

+0

@MKJParekh Captain, grazie per la risposta. Ho attraversato questo link e ho ottenuto gli altri link che sono pubblicati sulla mia domanda. – Maulik

risposta

4

Google Play API get fornisce lo stesso Purchases result indipendentemente dallo stato di cancellazione dell'abbonamento. Quindi, al momento, non è possibile sapere se l'utente ha annullato l'abbonamento o meno.

È necessario verificare se l'abbonamento è valido o meno dopo la data di scadenza.

query per lo stato della sottoscrizione solo alla scadenza - Una volta che il server ha recuperato la data di scadenza di token di sottoscrizione, non dovrebbe interrogare Google Play server per lo stato di sottoscrizione di nuovo fino a quando la sottoscrizione sta raggiungendo o ha superato la data di scadenza .

http://developer.android.com/google/play/billing/gp-purchase-status-api.html

Confrontare il validUntilTimestampMsec (negli acquisti risultato) con il tempo corrente per vedere se l'abbonamento è terminato.

+0

Grazie per la risposta, devo interrompere la richiesta dello stato di acquisto dopo aver ricevuto la data di iscrizione fino alla data di scadenza (+1 per questo).ma qual è la risposta prima o dopo la data di scadenza in modo da poter gestire il flusso di app per la cancellazione dell'abbonamento. – Maulik

+0

come mi hai detto "controlla se i sottotitoli sono validi o meno dopo la data di scadenza", ma come posso verificarlo? se si utilizza la stessa query per API sviluppatore, quale sarà la risposta se l'abbonamento è valido o non valido? Non sono riuscito a trovare alcun documento in base alla risposta, come se i sottotitoli sono validi, quindi ottieni questa risposta o ciò che non è valido. – Maulik

+0

Se l'utente ha annullato la sottoscrizione, il valore "validUntilTimestampMsec" nel risultato degli acquisti dovrebbe essere un tempo nel passato se lo si controlla dopo la data di scadenza. –

Problemi correlati