2016-06-02 24 views
0

Ich habe die Player-ID von Game Center verwendet, um Benutzer zu identifizieren und seine Artikel auf meinem Server zu speichern. Ich habe eine Nachricht angezeigt, wenn der Benutzer sich nicht beim Game Center authentifiziert hat, um zu sagen, dass es ein Muss ist. Apple hat es abgelehnt und gesagt, Game Center muss optional sein. Wie identifiziere ich den Benutzer, um seine Einkäufe/Artikel zu speichern? Diese Einkäufe werden momentan als Verbrauchsmaterialien eingestellt, sodass ich sie nicht wirklich lokal lagern kann. HierWie identifiziere ich einen Spieler ohne die ID eines Game Centers?

ist ein Bild, wie ich es gemacht zur Zeit:

enter image description here

+0

Die Einkäufe/Gegenstände erst aktivieren, wenn der Nutzer sich im Game Center angemeldet hat und Sie diese authentifiziert haben? – Droppy

+0

@Droppy das ist genau das, was ich getan habe und es wurde abgelehnt. Aktualisiert mit einem Bild über –

+0

Und ist das Spiel trotzdem weitergegangen? Ich schlage vor, dass Sie dem Nutzer sagen, dass er seine Einkäufe erst sehen wird, wenn er sich bei Game Center anmeldet, aber das Spielen nicht stoppt. – Droppy

Antwort

0

Sie Spieldaten iCloud mit speichern. Dies könnte helfen:

https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/GameKit_Guide/SavedGames/SavedGames.html

Wenn Sie die Daten auf Ihrem eigenen Server speichern, müssen stattdessen könnte man nur in iCloud die Benutzer-ID speichert die Benutzer auf dem Server zu identifizieren. Die ID könnte von Ihrem Server oder von der App selbst mithilfe von NSUUID generiert werden.

+0

Danke. Was aber, wenn der Benutzer nicht mit iCloud verbunden ist? Sind Sie sicher, dass Apple es nicht ablehnen wird? –

+0

Sie können NSUbiquitousKeyValueStore zum Speichern der Daten oder Benutzer-ID verwenden. Es ist immer verfügbar, auch wenn der Benutzer kein iCloud-Konto hat (in diesem Fall ist NSUbiquitousKeyValueStore nur ein einfacher lokaler Speicher). – Felix