Un par de cosillas....
1.-
QUITA TU CLAVE PRIVADA, POR EL AMOR DE DIOS
2.- Guardar el SKU de un item en MainActivity...
3.- Veo que seguiste cierto tutorial que cierta persona hizo en cierta web (
http://www.dexa-dev.com/android-in-a...-el-codigo-iv)
Ahí tienes explicado en detalle todo el proceso de compra, para que se pueda entender qué hace cada paso y cada llamada.
En el apartado
Iniciando la comunicación se nombra el uso del método
Código:
billingHelper.queryInventory(true, null).hasPurchase("SKU");
el cual devuelve un booleano según el usuario haya adquirido o no el producto:
- true si lo ha adquirido
- false si no lo ha adquirido
En caso de que no quieras hacer esa query cada vez que inicias la aplicación, puedes guardarlo de alguna forma "secreta", como por ejemplo guardando alguna cadena de texto propia de cada dispositivo, añadiéndole algun identificador propio y cifrandolo con alguna clave secreta.
Un ejemplo puede ser
IMEI+"PREMIUM"
Lo cifras con una clave secreta (ahi ya entra tu labor de esconder la clave en el código y crearte el cifrado/descifrado), y lo guardas en un archivo.
Al iniciar la app, lo lees, si existe lo descifras y comparas el resultado con el que deberia ser
Si son iguales, tiene la version premium, y si no, no
Echale imaginación
También recuerda que tienes que hacer la restauracion de compras, por si el usuario desinstala la aplicacion o cambia de dispositivo