2013-01-11 5 views
5

Sto creando un gioco basato su server su iOS che consente ai giocatori di creare un account di gioco per la riproduzione di più dispositivi. Il mio gioco include acquisti in-app (IAP) non consumabili che possono essere ripristinati o nuovamente scaricati dall'acquirente originale.exploit iOS: ripristino acquisti in-app a più account di gioco

Preferirei che i giocatori non possano ripristinare il proprio IAP su più account di gioco. E 'possibile questo dato le regole di Apple?

Prendendo Hero Academy per esempio, è possibile.

  • Player1 per comprare tutte le IAP sul suo account di gioco e iTunes conto
  • Player1 per accedere al di Player2 Hero Academy account di gioco
  • Player1 di ri-scaricare l'IAP non consumabile in conto gioco del Player2 , dando permessi player2 a tutto il PAI
  • Player2 per accedere al suo conto di gioco sul proprio dispositivo e ora hanno i permessi per tutto il PAI

risultato è: Player2 ha ottenuto tutti gli I AP gratis.

Potrei riuscire a leggere nel loro account iTunes e limitare iTunes a ripristinare gli acquisti su un singolo account di gioco. L'implementazione di questa soluzione sembra contraria alle linee guida di Apple per il ripristino degli IAP non consumabili.

Potrei considerare gli acquisti consumabili e applicabili solo a un singolo account, ma ciò sembra attenersi alle linee guida di Apple e sarebbe una progettazione scadente degli utenti finali.

+0

Hai trovato la soluzione? – GameDevGuru

+0

Ti suggerisco di contattare direttamente Apple. – Timtech

+1

Che dire del campo "applicationUsername" disponibile con IOS 7.0+? – Lexicon

risposta

0

Sospetto che la risposta risieda nell'usare qualcosa come NSUbiquitousKeyValueStore. Ciò richiede all'utente di utilizzare iCloud, ma penso che la maggior parte degli utenti lo faccia. Se ho capito bene, si tratta di un archivio di valori chiave basato su iCloud e pertanto sarebbe associato a un determinato AppleID.

Tenendo lì il proprio ID di Hero Academy, penso che lo si possa effettivamente sincronizzare con un determinato AppleID. Questo sarebbe che nel passaggio 2 del tuo exploit, Player2 avrebbe dovuto fornire sia il suo AppleID che la sua password a Player1. Molte persone non sono disposte a farlo. Alcuni sono, tuttavia, e per evitare ciò penso che dovresti programmare il tuo gioco in modo che controllasse le autorizzazioni contro il NSUbiquitousKeyValueStore. In altre parole, dovresti avere l'acquisto speciale associato attivamente con il tuo AppleID nel momento in cui lo hai usato.

Il tuo gioco non sarebbe mai realmente vedere l'AppleID reale, ma sarebbe in grado di distinguere un negozio iCloud da un altro dall'Accademia Eroe giocato ID che si era collocato all'interno di esso.

Sto provando a fare qualcosa di simile per ragioni simili in un'app che sto sviluppando ora. Non ho provato abbastanza per essere sicuro che l'approccio sopra funziona, ma finora sembra promettente.

1

Una soluzione semplice per questo sarebbe avere un IAP consumabile di valuta morbida che l'utente spende nel gioco per acquistare l'articolo non consumabile.

I.e. Compro un pacchetto IAP consumabile di 100 monete magiche per $ 5 per acquistare l'oggetto Magic Bean che costa 50 monete magiche.

+1

In effetti, ogni rispettabile fattoria di zombi o draghi viene gestita da un'economia basata sui "gamebucks". – Jef

Problemi correlati