uber - ¿Cómo migrar de una aplicación Android de pago a una aplicación pagada con facturación en la aplicación?
google play (5)
Corrígeme si entendí incorrectamente. Usted ha mencionado sobre la suscripción, lo que significa detalles del usuario + base de datos + información adicional?
Si su aplicación no tiene base de datos o algo para mantener los registros de usuario. Yo sugeriría lanzar una actualización de la aplicación de pago y habilitar Sharedpreference o un archivo ini común. use la aplicación gratuita para leer el mismo archivo sharedpreferenece o su propio archivo ini para leer la configuración.
Ir a la base de datos lo ayudará en el futuro para más actividades de relación con el cliente.
Actualmente tengo dos versiones de mi aplicación en Android market, una de pago y una gratuita. Pero quiero integrar la facturación en la aplicación en mi aplicación gratuita y cobrar a los clientes en una base de suscripción, por un precio más bajo que el precio actual de la aplicación de pago.
Pero, ¿cómo debo manejar esto para los clientes existentes? Parece injusto dejarlos pagar nuevamente por el uso de la funcionalidad de pago, mientras que fueron los primeros en adoptar mi aplicación. Lo ideal es que implemente algo que permita a los usuarios existentes acceder a la funcionalidad desbloqueada en mi aplicación gratuita.
¿Alguna idea de cómo lograr esto? Un esquema de un buen enfoque es suficiente, no me importa hacer una investigación sobre cómo implementar realmente ese enfoque.
El sitio web de Android Dev cubre esto bastante bien.
http://developer.android.com/guide/market/billing/index.html
Puede conservar tanto su versión de pago como su versión gratuita / IAB, pero basarlas en el mismo proyecto de biblioteca para que solo tenga un conjunto de archivos de origen para mantener. El proyecto de la biblioteca podría desbloquear todas las funciones disponibles actualmente para sus usuarios pagados para la versión pagada (activada, por ejemplo, probando el nombre del paquete de la aplicación), y desbloquear esas mismas características para la versión gratuita solo cuando el pago se realizó a través de IAB.
Esto también le permitiría cobrar a los usuarios de la versión de pago por funciones adicionales más allá de las que estaban presentes cuando pagaron por la aplicación, si tuviera que agregar algunas funciones realmente importantes en el futuro y quisiera cobrar una cantidad adicional por ellas.
También tendría la ventaja de que sus actuales usuarios pagos no tendrían que hacer nada en absoluto; A ellos les parecería que no se había producido ningún cambio. En particular, no tendrían que instalar su aplicación gratuita / IAB ni pasar por ningún procedimiento de autorización especial.
La desventaja sería que tendría que crear y cargar dos proyectos para cada lanzamiento. Esto podría, sin embargo, ser parcialmente automatizado.
Suelte una versión gratuita separada de su aplicación; Utilice la versión de pago como si fuera una clave de licencia para la versión gratuita.
PackageManager manager = getPackageManager();
if (manager.checkSignatures("old.package.name", "new.package.name")
== PackageManager.SIGNATURE_MATCH) {
//full version
}
- Incrementa la versión de tu base de datos (ej. 34 -> 35)
- En el método SqliteOpenHelper desbloquea tus funciones para usuarios anteriores
Ejemplo:
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){
if(oldVersion != 0 and oldVersion <= 34){
appConf.unlockAllFeatures()
}
}
- Si su aplicación aún no usa la base de datos, hágalo en onCreate, pero observe que se llama a onCreate en una primera llamada a la base de datos