Como suportar vários dispositivos com compra sem renovação no aplicativo?
-
14-11-2019 - |
Pergunta
Estou construindo um aplicativo iOS que incluirá uma IAP com uma assinatura não renovadora. A Apple fornece esta pepita em seu Visão geral do IAP :
..Você é obrigado a fornecer assinaturas não renovadas para todos os dispositivos de propriedade do usuário. As assinaturas não renovadas não são sincronizadas automaticamente para todos os dispositivos por kit de lojas; Você deve implementar essa infraestrutura você mesmo. Por exemplo, a maioria das assinaturas é fornecida por um servidor externo; Seu servidor precisaria implementar um mecanismo para identificar usuários e associar compras de assinatura com o usuário que os adquiriu.
Eu gostaria de seguir esta regra: Eu quero que meus usuários possam aproveitar a assinatura que compram em um dispositivo em outros dispositivos também. Então, como posso identificar o mesmo usuário em seu iPhone e iPad? Eu entendo que você não pode usar o ID da Apple, e você não pode confiar em um método de registro.
Eu agora encontrei Esta questão ; A resposta dada não parece ser viável. Deve haver algo mais elegante que os outros fizeram.
Solução
Eu tenho uma sugestão dada a mim de gavin mckenzie , que soa como a melhor aposta que eu 've ouvido:
Após a compra da assinatura, faça um "código curto" disponível para o usuário.O código seria armazenado no servidor, ligado à conta do usuário.Quando eles atingem a restauração em outro dispositivo, solicite o código curto do dispositivo e conta originais, amarrando assim os dispositivos juntos.
Gavin sugeriu ainda o uso disso em um método "emparelhamento" semelhante ao Bluetooth: ao restaurar, inicie o emparelhamento no dispositivo A, que gera o código curto e o empurra para o servidor.O dispositivo B pode então usar esse código.Cinco minutos depois, ou quando a tela de pareamento é demitida, o código é excluído.
Não tenho certeza de como isso se levantaria se quiser restaurar no mesmo dispositivo, digamos, depois de excluir o telefone e restaurar.Mas isso parece um bom começo.
Outras dicas
Se você puder soltar o suporte para o iOS abaixo da versão 5.0, você poderá usar o iCloud para sincronizar um par de valores-chave em todos os dispositivos do usuário.
ver isto:
Aparentemente, você pode exigir um nome de usuário / senha antes da compra.É realmente a única maneira que faz sentido.Um código pode ser compartilhado por milhares de pessoas, o que é ruim.
Check out frac.as .Ele faz uma variante do emparelhamento do "código curto" sugerido acima, mas com algumas inteligências construídas para evitar abuso.É uma API SaaS, com um generoso nível livre.