2015-11-06 10 views
5

Eseguiamo un'app Web SAAS e lanceremo la nostra app nell'app store di Apple (fino ad ora avevamo un cellulare App Web).Come sincronizzare/verificare gli abbonamenti ricorrenti in-app con un server Web (abbonamento multipiattaforma)

Vogliamo offrire la possibilità di acquistare un abbonamento in app a causa della facilità d'uso per i nostri clienti. Nessun problema, sappiamo come farlo.

La domanda è se esiste un modo semplice per mantenere il db della nostra app Web aggiornato con lo stato attuale dell'abbonamento dell'utente, quindi se accedono alla nostra app Web, sappiamo se il loro abbonamento è valido.

Idealmente sarebbe bello se Apple offrisse un'opzione per il web hook in cui pubblicherebbe un aggiornamento a un URL sul nostro server. Da quello che ho letto questa non è un'opzione.

Possiamo sempre inviare i dati al nostro server dall'app per iPhone quando l'utente effettua l'accesso, ma se l'utente non effettua il login su iPhone per un po 'di tempo, lo stato dell'abbonamento registrato sul nostro server non sarà aggiornato .

Come vengono gestite le altre persone? Ci manca qualcosa?

Aggiornamento:

Il più vicino che ho trovato è questa discussione: https://forums.developer.apple.com/message/70707#70707

L'applicazione riceve una ricevuta la prima volta che acquista un abbonamento o di ripristina un abbonamento. L'app può inviare la ricevuta originale al server di di chiunque. Il server di chiunque può quindi utilizzare quella ricevuta originale per verificare la sottocrittura corrente ogni volta che lo desidera. Non è possibile farlo con un abbonamento non rinnovo ma con un abbonamento non rinnovabile l'utente deve acquistare l'estensione dal dispositivo iOS ogni volta periodo.

Seguito fino a questo: https://hetzel.net/2011-04-01/server-side-auto-renewable-subscription-receipt-verification/

E da Apple suona come che sicuramente non fanno alcuna disposizione sul loro fine per la sincronizzazione:

Considerazioni multipiattaforma

Gli identificatori di prodotto sono associati a una singola app. Le app che hanno una versione iOS e OS X hanno prodotti separati con identificatori di prodotto separati su ciascuna piattaforma. È possibile consentire agli utenti che dispongono di una sottoscrizione in un'app iOS di accedere al contenuto da un'app OS X (o viceversa), ma l'implementazione di tale funzionalità è responsabilità dell'utente . Avresti bisogno di un sistema per identificare gli utenti e per tenere traccia di quali contenuti hanno sottoscritto, simile a quello che implementeresti per un'app che utilizza abbonamenti non rinnovabili.

+1

Volevo solo chiederti come si finito per fare la convalida sul lato server. Immagino che tu memorizzi la ricevuta originale sul server e poi controlli periodicamente con Apple se è ancora valida? Quanto spesso lo fai? Ho pensato qualcosa di simile dopo una settimana (per rilevare se l'utente ha cancellato la sua iscrizione) e poi quando la fase di sottoscrizione corrente sta per scadere? – Georg

+1

Ciao, @Georg sfortunatamente non ho trovato una buona soluzione e le mie richieste ad assistenza Apple non hanno avuto risposta. – salonMonsters

risposta

Problemi correlati