2013-04-29 3 views
6

Sto sviluppando un'applicazione con funzionalità di sottoscrizione utilizzando Inapp Billing v3. C'è un meccanismo di accesso per accedere all'applicazione. Se un utente "X" si iscrive a una funzione e si disconnette. Se l'utente "Y" accede all'applicazione nello stesso dispositivo e se l'utente tenta di iscriversi, Google Play indica che il prodotto è già stato acquistato. Gli abbonamenti sono basati sull'account sincronizzati nel dispositivo e non basati sull'utente che ha effettuato l'accesso all'applicazione? Se sì, come è possibile implementare il mio scenario?App con più utenti in un singolo dispositivo - Inapp Fatturazione Abbonamento

+0

Hai trovato un modo per risolvere questo problema? Sto affrontando lo stesso problema con la mia app. – appLogic

risposta

3

L'abbonamento per la fatturazione in-app di Google Play è associato all'account Google Play. In questo modo, finché l'account Google non viene modificato, l'abbonamento è considerato valido per questo account e non è possibile acquistarlo ancora una volta.

Se si desidera sostituire il sistema di account Google con i propri account, è necessario "imbrogliare" Google Play. Quello che puoi fare è creare un pool di diversi abbonamenti di fatturazione in-app (come l'abbonamento n. 1, l'abbonamento n. 2, ecc.). Quando ti iscrivi, passi il tuo login come parametro aggiuntivo nel campo developerPayload.

Ora, quando si enumerano tutte le sottoscrizioni disponibili, si controlla se ce n'è una con l'account utente corrente nel campo developerPayload. In caso contrario, si considera che l'utente corrente non ha sottoscrizioni e consente di iscriversi utilizzando la prima sottoscrizione non ancora utilizzata dal pool di sottoscrizioni (abbonamento n. 1, abbonamento n. 2, ecc.) Che è stato generato. Assicurati che il numero di iscrizioni nel tuo pool sia maggiore del numero di utenti sullo stesso dispositivo che potresti avere.

Non è un modo semplice, ma piuttosto un trucco per trovare un workarroung per la situazione.

+1

in questo caso il denaro verrà detratto dal conto dell'utente principale e questo non è affatto accettato da nessuno degli utenti che per qualcun altro pagherà. Pensaci. – Ankit

1

Attualmente Google IAB supporta un solo account (account Gmail primario sul dispositivo) su un dispositivo. Ma dalla funzionalità multiutente di Android 4.2 è disponibile e Google sta lavorando per fornire lo stesso supporto per IAB.

+0

È ancora così quattro anni dopo, su Nougat? –

+1

non sono sicuro, ma ora nell'app di Play Store l'utente può cambiare l'account di Gmail e funziona (anche i suggerimenti vengono basati sulla cronologia degli account) in base a questo account utente. – Ankit