2016-06-02 2 views
0

J'utilisais l'identifiant de joueur de Game Center pour identifier l'utilisateur et stocker ses éléments sur mon serveur. J'ai fait apparaître un message, si l'utilisateur ne s'est pas authentifié avec Game Center en disant que c'est un must. Apple l'a rejeté et a déclaré que Game Center devait être optionnel. Sinon, comment identifier l'utilisateur pour stocker ses achats/articles? Ces achats sont définis comme consommables pour le moment, donc je ne peux pas vraiment les stocker localement.Comment identifier un joueur sans ID de Game Center?

Voici une image de la façon dont je l'ai fait actuellement:

enter image description here

+0

Ne pas activer les achats/articles tant que l'utilisateur n'est pas connecté à Game Center et que vous les avez authentifiés? – Droppy

+0

@Droppy c'est exactement ce que j'ai fait et il a été rejeté. Mis à jour avec une image au-dessus de –

+0

Et le jeu a-t-il continué malgré tout? Ce que je suggère, c'est que vous dites à l'utilisateur qu'il ne verra pas ses achats jusqu'à ce qu'il se connecte au Game Center, mais n'arrête pas le jeu. – Droppy

Répondre

0

Vous pouvez enregistrer les données de jeu en utilisant iCloud. Cela pourrait aider:

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

Si vous avez besoin de stocker les données sur votre propre serveur à la place, vous ne pouvez stocker l'ID utilisateur dans iCloud pour identifier l'utilisateur sur votre serveur. L'ID peut être généré par votre serveur ou par l'application elle-même en utilisant NSUUID.

+0

Merci. Mais que faire si l'utilisateur n'est pas connecté avec iCloud? Êtes-vous sûr qu'Apple ne le rejettera pas? –

+0

Vous pouvez utiliser NSUbiquitousKeyValueStore pour stocker les données ou l'ID utilisateur. Il est toujours disponible, même si l'utilisateur n'a pas de compte iCloud (dans ce cas, NSUbiquitousKeyValueStore est simplement un stockage local). – Felix