Tengo una aplicación que deseo que los usuarios puedan pagar una pequeña tarifa para eliminar anuncios. Me imagino que la mejor manera de hacer esto (la aplicación debe seguir siendo gratis) es a través de una compra en la aplicación. Sin embargo, me pregunto cuál es la mejor manera de eliminar los anuncios y cómo hacerlo una vez que el usuario haya comprado la actualización. Cualquier ayuda o consejo sería genial gracias.Cómo eliminar anuncios cuando el usuario compra en la aplicación
Respuesta
Un booleano en NSUserDefaults parece ser la apuesta correcta. Puede verificarlo en el lanzamiento para ver si los anuncios deberían mostrarse, hacer que la aplicación oculte o mostrar anuncios en consecuencia y establecerlo en el valor apropiado cuando el usuario paga para deshabilitarlo.
Editado para añadir:
acabamos de ver this on the dev forums. Si está especialmente preocupado por los usuarios de los dispositivos liberados que manipulan su booleano NSUserDefaults, también puede almacenar los datos utilizando keychain. No se puede interferir con Keychain de la misma manera que NSUserDefaults. Más detalles en ese enlace.
Generalmente no creo en gastar mucho esfuerzo en cosas antipiratería, pero esta es una manera fácil de cubrirse que no cuesta mucho más que usar NSUserDefaults.
Bueno, este problema no es iphone limitado. Debe aplicar uno de los muchos algoritmos de seguridad. (No sé cómo se realiza la compra, pero haré una sugerencia) Puede, por ejemplo, después de la compra, hacer que la aplicación envíe el IMEI al servidor de compras que generará un código que la aplicación guardará. Luego, toda la aplicación comprobará si habilita/deshabilita los anuncios. (intente hacer el código con algún algoritmo de hash o similar)
Recuerde que todos los sistemas se pueden descifrar, así que no intente algo demasiado complejo que le cause dolor de cabeza a su usuario real.
No puedo decir que estoy de acuerdo. De hecho, esto no solo es excesivo, es una mala idea. En primer lugar, no hay API para que una aplicación de iPhone obtenga el IMEI; todo lo que puede obtener es el UDID. En segundo lugar, el usuario puede muy bien reemplazar su teléfono en algún momento. La API StoreKit de iPhone SDK proporciona mecanismos para volver a autorizar la función desbloqueada en el hardware de reemplazo. Reinventar la rueda para una característica tan simple y desbloqueable no parece ser la decisión correcta. –
Otro enfoque sería registrar el recibo de SKPaymentTransaction recibido en la compra o restauración. En lanzamientos posteriores puede verificar ese recibo con la tienda de aplicaciones en segundo plano, vuelva a habilitar los anuncios para el siguiente lanzamiento si es necesario.
Verifying Store Receipts documentation
Mientras yo no creo que esto le protege de pegar en la recepción de un usuario válido de otra parte, es más difícil de eludir que alternar un valor lógico en las NSUserDefaults. Es improbable que alguien que llegue a este extremo pague por tu aplicación de todos modos.
Lo que debe preocuparse aquí (creo) es que el usuario puede no tener una conexión de red cada vez que reinicia la aplicación. Si no tienen señal de celular o acceso a WiFi, la verificación no sería posible y el usuario obtendría anuncios, incluso si paga para eliminarlos. Supongo que no estarían muy contentos con eso. Ten cuidado. – Axeva
En ese caso, recibirá un error de red en lugar de una respuesta de recibo. Tienes toda la razón; esto no debe interpretarse como una validación fallida. – mrwalker
Si no tienen ningún tipo de conexión de red, tampoco recibirán ningún anuncio. – Scooter
- 1. Eliminación de anuncios con la compra en la aplicación
- 2. Eliminación de una compra en una cuenta de usuario de prueba de compra en la aplicación
- 3. En la compra de la aplicación, podemos reembolsar la compra en la aplicación
- 4. Compra de producto físico desde la aplicación iPhone sin Apple en la compra de la aplicación
- 5. iOS - Compra en la aplicación y aplicaciónDidBecomeActive
- 6. En la compra de la aplicación
- 7. Compra InApp - Cómo detectar cuándo se muestra Alert 'Confirmar su compra en la aplicación'
- 8. ¿Puedo usar la compra integrada en la aplicación iOS para solicitar que el usuario pague?
- 9. AppStore Compra en la aplicación: ¿cómo obtener la moneda que pagará un usuario?
- 10. Aplicación desconocida al confirmar la compra en la aplicación
- 11. ¿Cómo probar la compra en la aplicación en Android?
- 12. Restauración de una compra en la aplicación con un usuario que nunca la pagó
- 13. SKPaymentTransactionStateRestored no se llama cuando se restablece la compra en la aplicación
- 14. iPhone + en la compra de la aplicación de prueba
- 15. Aplicación iOS Delphi XE2 con compra en la aplicación
- 16. ¿Admite PhoneGap la compra desde la aplicación?
- 17. Eliminar la aplicación de un usuario mediante el gráfico API
- 18. Código de promoción para artículos de compra en la aplicación
- 19. Anuncios en una página de la aplicación de Facebook (juego)
- 20. El usuario de Facebook desautoriza la aplicación
- 21. ¿Cómo detectar cuando el usuario inicia otra aplicación? (Android)
- 22. ¿Cómo cancelar mi propia prueba de compra en la aplicación de compra? (entonces puedo volver a probar)
- 23. ¿Cuándo se le cobra al usuario una compra en la aplicación?
- 24. Prueba de compra en la aplicación iOS con la versión ad-hoc de la aplicación
- 25. cómo implementar la compra en la aplicación en mi aplicación de Android?
- 26. ¿Cómo eliminar las cookies de un usuario usando Python en el motor de la aplicación?
- 27. Uso de anuncios en la aplicación para iPhone PhoneGap
- 28. ¿Cómo puedo eliminar la alarma cuando el usuario elimina el evento?
- 29. ¿Cómo eliminar el foco de EditText cuando el usuario finaliza la edición?
- 30. ¿Cómo funciona el "servidor de anuncios"?
si el usuario desinstala la aplicación y vuelve a instalarla, ¿qué ocurre? –
Utilizaría StoreKit para volver a autorizar cualquier compra en la aplicación. –