2017-02-18 2 views
0

J'ai une application sur le Mac App Store.Mac App Store, quel DRM existe et comment authentifier les achats?

Pour répondre aux exigences du magasin, j'ai dû supprimer mon propre code série au démarrage, puis utiliser le mécanisme d'achat de pommes.

Cela soulève quelques problèmes.

  1. Je n'ai aucun moyen de savoir si un utilisateur a payé ou non.

  2. Les données/MASReciept/receipt semblent garantir uniquement que l'achat original était authentique.

Alors qu'est-ce qui empêche quelqu'un de simplement copier le fichier .app sur un autre mac?

J'ai essayé ceci et cela a fonctionné.

Comme je suis dans un bac à sable et ne peux pas voir le mac réel, comment puis-je faire la différence entre le mac achat et le mac sur lequel l'application est utilisée?

Je suis vraiment heureux que l'utilisateur s'installe sur de nombreux macs qui utilisent le même compte itunes ou une partie du partage familial.

Répondre

1

Vous pouvez valider le reçu localement ou via l'App Store.

Voir la Receipt Validation Programming Guide

Ceci est fondamentalement juste un moyen de dissuasion, comme la plupart de toute autre protection; Une personne intelligente peut généralement pirater une application à volonté, et il n'y a pas beaucoup de choses que vous pouvez faire honnêtement. Je vous recommande de vous concentrer sur l'amélioration de votre application - si cela vaut la peine d'acheter, les gens sont généralement prêts à payer pour cela.

+0

Ai-je raison de penser que la validation de la réception ne valide que le reçu est authentique, puis-je confirmer que l'utilisateur est la même personne qui a acheté. Je ne semble pas comprendre comment je peux vérifier que l'utilisateur est connecté à un compte itunes qui se rapporte à l'achat. – Mar

+0

Il existe plusieurs façons de valider les réceptions, bien qu'il soit courant de vérifier le GUID par rapport au reçu. Lorsqu'un utilisateur achète quelque chose sur l'App Store, le reçu contient un GUID; Votre application peut alors vérifier le GUID de ce reçu pour essayer de s'assurer que la personne qui possède l'application est celle qui l'utilise. https://developer.apple.com/library/content/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateLocally.html#//apple_ref/doc/uid/TP40010573-CH1-SW14. Techniquement, quelqu'un ne peut pas simplement copier une application sur une autre machine avec un compte différent pour lequel elle n'a pas été achetée. –

+0

l'l, j'ai fait ce même acte aujourd'hui. J'ai téléchargé mon application via le mac app store, compressé le dossier .app, déplacé vers un autre mac et l'application a couru. Outre le reçu et la signature du code, mon package d'application distribué est le même que celui que j'ai envoyé à Apple. – Mar