2016-03-22 5 views
5

Ich benutze LibGDX und für die Android Version meines Spiels benutze ich die "Get Accounts" Berechtigung, um einen Benutzer anhand seiner Gmail Adresse zu identifizieren.Wie identifiziere ich einen Benutzer auf iOS?

Gibt es eine ähnliche Möglichkeit, einen Benutzer für iOS zu identifizieren?

Antwort

14

Gemäß der App Store Guidelines, sollten Sie keine persönlichen Daten des Benutzers erhalten, ohne die vorherige Erlaubnis des Benutzers zu erhalten. Die einzige Kennung Sie anonym verwenden können, ist identifierForVendor:

UIDevice.currentDevice().identifierForVendor?.UUIDString 

Diese Kennung für alle Ihre Anwendungen auf dem Gerät des Benutzers üblich ist. Wenn alle Apps vom Gerät gelöscht wurden, kann sich die Kennung ändern. More.

+0

Das klingt einfach großartig. Gibt es das auch in Java über RoboVM? Und kann ich auf ähnliche Weise wie Android nach einer Erlaubnis fragen? Das wäre großartig. – Z0q

+0

Dies ist eine öffentliche API, also denke ich, dass sie auch über RoboVM verfügbar ist. Und Sie brauchen keine Erlaubnis dafür, es ist offen, eine anonyme ID zu verwenden. (Wir verwenden diese ID, um die Sitzung in einem Back-End mit einem Benutzer zu verknüpfen, ohne eine Anmeldung über Facebook oder E-Mail anzufordern.) –

4

Laut Apple sollten Sie Ihre Benutzer nicht identifizieren, es sei denn, Sie haben einen guten Grund, dies zu tun. Wie @Marat sagte, was Sie suchen, ist die UUID, , aber denken Sie daran, dass sich dieser Wert ändern kann (zum Beispiel wenn der Benutzer Ihre App löscht und keine Ihrer anderen Apps hat).

Eine mögliche Lösung wäre, den UUID-Wert im Schlüsselbund zu behalten, und auf diese Weise wird immer der gleiche Wert verwendet.

Bearbeiten: Da Ihre App ein Spiel ist, können Sie Apple's GameCenter verwenden. Dies identifiziert die Benutzer für Sie.

6

Ihre beste Wette ist es, GameCenter auf iOS zu verwenden, um die Spieler zu identifizieren. This link bietet ein wenig mehr Informationen über die Handhabung von Benutzern mit GameCenter.

Verwandte Themen