Confusión de suscripción no renovable

Está bien documentado que depende del desarrollador permitir que el usuario use la suscripción no renovable en todos los dispositivos. Ya sea que se haga a través de un inicio de session / contraseña o un código (como se ha sugerido en SO), ¿por qué la pregunta es esta: qué impide que un solo usuario comparta estas cnetworkingenciales con todo el mundo? ¿O es esto junto con otros datos (como "restaurar transacción"?

¡Gracias!

Sam

Para responder a sus preguntas:

  1. ¿Qué impide que un solo usuario comparta estas cnetworkingenciales con todo el mundo?
  2. (En su comentario) ¿Cómo me aseguro de que es el mismo ser humano y no alguien a quien él compartió la contraseña que de otra manera no es específica de la aplicación?

Sugeriría echar un vistazo al tutorial de Ray Wenderlich, Compras en la aplicación: Tutorial de suscripción no renovable .

En este tutorial, dice:

También es necesario que la suscripción esté disponible para cualquier dispositivo que sea propiedad del usuario. En general, hay dos opciones factibles que puede usar para adaptarse a este requisito:

iCloud Como la count iCloud del usuario es exclusiva para ellos, pero compartida en sus dispositivos, esta es una opción simple y efectiva. Sin embargo, si su aplicación es multiplataforma o tiene una aplicación web complementaria, esta no será la mejor opción ya que iCloud está restringido a dispositivos iOS.

Backend como service o BaaS . Al requerir que un usuario cree una count para suscribirse, puede almacenar los datos necesarios, como la date de caducidad de la suscripción, en contra de su count en el server. Este método le permitirá compartir una suscripción en todas las plataforms, simplemente requiriendo que un usuario inicie session.

Creo que el enfoque de iCloud es lo que estás buscando. No es específico de la aplicación, y es improbable que el usuario comparta sus cnetworkingenciales de iCloud con mucha gente.