2013-06-03 8 views
12

Ho letto i vari thread sugli abbonamenti di rinnovo automatico degli acquisti in-app e penso di aver messo insieme la maggior parte delle informazioni di cui ho bisogno, ma c'è un pochi pezzi mancanti. Spero che qualcuno possa aiutarmi.acquisto in-app per le notifiche di abbonamenti auto-rinnovo

La situazione: Ho vari pacchetti di abbonamento a cui l'utente può iscriversi (ad es., Pacchetto A per £ 1 al mese, pacchetto B per £ 2 al mese, ecc.). Memorizzo le informazioni sulla sottoscrizione dell'utente nel mio database. Quando l'utente esegue il login, controllo quale pacchetto è acceso e se è scaduto o meno. Il mio sito Web, Android e iOS utilizzano tutti lo stesso database, quindi questo approccio sembra avere senso.

Iscrivere utenti tramite acquisti in-app sembra abbastanza semplice. Controllo il pagamento e una volta che il pagamento è stato cancellato, posso aggiornare il mio database.

Le mie domande:

1) La mia comprensione è che l'utente può utilizzare iTunes per gestire il loro abbonamento. Dite, entrano in iTunes e cancellano il loro abbonamento, come posso essere informato in modo da poter aggiornare il mio database? Ho bisogno di un demone che controlli le sottoscrizioni scadute per vedere se l'utente si è rinnovato?

2) Se l'utente desidera aggiornare l'abbonamento dal Pacchetto A al Pacchetto B, come posso gestire il prezzo? Diciamo il 1 ° gennaio, acquistano il pacchetto A, li addebito £ 1,00 e fissiamo la data di scadenza al 31 gennaio. Il 15 gennaio, vogliono effettuare l'upgrade al pacchetto B tramite acquisto in-app. Idealmente, li addebitare £ 2 per il pacchetto B meno £ 0,50 di credito che hanno per il pacchetto A e impostare la nuova data di scadenza a 14 febbraio. Tuttavia, Apple mi obbliga ad associare ciascun pacchetto a un prezzo di livello. Come posso gestire questo? Non voglio che l'utente attenda fino alla fine del mese per metterli su un pacchetto di livello superiore ... se sono aggiornati a metà mese, significa che vogliono che il nuovo pacchetto di contenuti B li invii immediatamente.

Qualsiasi aiuto apprezzato!

Grazie!

+0

Ciao Jason, hai trovato qualche soluzione? Sto cercando lo stesso. – Mangesh

risposta

1

a cura

Per la seconda domanda, sistema di abbonamento auto-rinnovabile di Apple non fa tecnicamente offrono piani aggiornabili tra i diversi prodotti.

Ogni abbonamento è un prodotto autonomo e spetta all'utente attivare/disattivare le iscrizioni manualmente utilizzando il Gestore sottoscrizioni in iTunes Store.

Tuttavia, se il pacchetto A e il pacchetto B offrono esattamente lo stesso contenuto di una durata diversa da quella indicata da ajay_nasa, è possibile creare un singolo prodotto con sottoscrizione automatica con opzioni di durata differenti.Se l'utente è il 1 mese di abbonamento e quindi l'utente tenta di cambiare a 2 mesi di sottoscrizione che verrà visualizzato il seguente messaggio di errore chiedendo loro andare al di App Store abbonamenti direttore

enter image description here

Quindi, in pratica l'unico posto l'utente può effettivamente cambiare la durata dell'abbonamento è nell'App Store. Che Apple decida di proporzionare l'importo rimasto sul vecchio abbonamento o semplicemente aggiungerlo a quello attuale è davvero all'altezza di Apple. È necessario assicurarsi che l'utente abbia accesso all'abbonamento fintanto che è attivo leggendo il Data di acquisto originale e Data di scadenza abbonamento da ciascuna voce di ricevuta e determinando le date di inizio e di fine dell'abbonamento.

+0

Questa è una pessima idea e incredibilmente inaffidabile. Non dovresti mai incorrere in una differenza di quota di iscrizione tra due abbonamenti perché un giorno potresti aumentare il tasso per uno e non volerlo per un altro e potrebbe portare a perdere denaro in determinati scenari. La soluzione migliore per la soluzione è richiedere all'utente di rimuovere la precedente sottoscrizione prima di eseguire l'aggiornamento. Puoi controllare il tuo DB se l'utente ha cancellato un abbonamento. Ancora una volta per questo scenario ci può essere un ritardo per l'utente, ma infinitamente migliore di questa soluzione. – Drmorgan

+0

sfortunatamente, il sistema di abbonamento auto-rinnovabile di Apple offre piani aggiornabili. Si prega di provare ad aggiungere la durata nell'abbonamento auto-rinnovabile esistente. È possibile verificare ulteriormente l'aggiornamento in itunes collegare l'account dell'utente che acquista l'abbonamento. –

3

1) Sì, si dovrà riverificare la ricevuta, controllare Receipt Validation Programming Guide in the documentation. Essi indicano alcune chiavi importanti:

  • status - 0 se la ricezione è valido, o un codice di errore
  • receipt - JSON risposta della ricevuta
  • latest_receipt (auto-rinnovabile una sola) - ricevimento codificato base 64 per la più recente rinnovo
  • latest_receipt_info - versione JSON di latest_receipt

Con queste informazioni, quando un acquisto è m Ade, invia la ricevuta al tuo back-end per la convalida, il backend manterrà la ricevuta nel DB e verificherà con stato = 0 che è una ricevuta valida. Da lì, ogni x giorni puoi convalidare quella ricevuta con un job chron, un demone, ecc. E riverificare. La risposta ogni volta avrà latest_receipt_info che ora è necessario salvare nel DB in modo da avere una ricevuta aggiornata per il prossimo controllo nei giorni x. In questo modo avrai sempre l'ultima ricevuta. Non esiste una notifica immediata per dire quando un utente cancella un abbonamento, ma con questo saprai ogni x giorni se ha ancora l'abbonamento.

2) I prezzi come questo purtroppo non possono essere gestiti. Non era previsto che un utente "aggiornasse" con gli abbonamenti: ogni iscrizione è l'accesso al suo contenuto esclusivo al momento della stesura di questo documento. Tuttavia, se un cliente ti invia un'email e si lamenta, puoi chiedere il nome utente e capire nel tuo DB se questo utente è effettivamente aggiornato a metà mese e rimborsarlo in modo appropriato. Molto vecchia scuola e non fattibile per una grande base di utenti, ma si spera che non ne avremo così tanti e che possano mantenerli felici.

1

enter image description here In realtà, il sistema di abbonamento auto-rinnovabile di Apple offre piani aggiornabili.

Per raggiungere questo obiettivo, è sufficiente aggiungere la durata nell'abbonamento Auto-rinnovabile esistente. Ogni abbonamento Auto-Renewable può essere una famiglia di abbonamenti, quindi ogni volta che lo sviluppatore vuole ottenere l'aggiornamento in abbonamento, deve aggiungere la durata in abbonamento esistente rinnovabile automaticamente con ID prodotto diverso.

Ogni volta che l'utente aggiorna il suo piano tra un mese e l'altro, il suo piano di aggiornamento funzionerà automaticamente dal mese prossimo.

0

abbiamo bisogno di controllare cancellazione-Data prevista ricevuta.