Comprador de comprobación de compra de Android en la compra sin conexión
Tengo implementar en la compra de aplicaciones (administrado) en mi aplicación utilizando servicios de facturación cuando el usuario quiere comprar el artículo que hará la solicitud de compra que requiere de Internet, incluso si el usuario ya ha comprado el artículo. Así que para la conveniencia del usuario estoy haciendo que si el usuario ha comprado el elemento, a continuación, un valor se guardará en pref compartido. Y cuando cada vez que el usuario haga clic en ese elemento en particular, a continuación, se comprobará pref compartida. Valor que cualquier usuario ha comprado el artículo o no si no entonces va para la petición de compra otra cosa le muestra el artículo. Mi pregunta es que es seguro? O tengo que hacer otra cosa?
- No se pudo encontrar información sobre el proveedor de com.google.plus.platform
- Inicio de sesión de Google+ con Play Services 6.5.87 (GoogleApiClient) - Android
- Java.lang.NullPointerException com.google.android.gms.analytics.w $ b.run
- Android: falla en el estado de la cuenta de Google+
- ¿Cómo proporcionar una ubicación con una AdRequest ahora que AdMob se ha convertido en parte de los Servicios de Google Play?
- Mostrar PublisherAdView con RecyclerView
- Consola para desarrolladores de Google Play Store: no se puede administrar la lista de probadores para la prueba de beta cerrada
- API de Google Play Music para Android
- PRIORITY_LOW_POWER vs PRIORITY_BALANCED_POWER_ACCURACY para el servicio de Google Play v2
- GCM no recibe el mensaje de abajo Android 4
- Java.lang.ClassNotFoundException en dalvik.system.BaseDexClassLoader.findClass
- Saltar marcadores en Android Maps API v2
- ¿Por qué Google recomienda copiar bibliotecas en tu árbol?
Esto no es seguro. Me desanimaría de implementar tal cheque de esta manera. Usted debe preferir ir para el enfoque estándar y utilizar el método getPurchases () . Puede llamar a este método en cualquier momento (incluso sin conexión) y si un usuario tiene compras, se devolverán de ese método. Aquí hay un ejemplo de código:
IInAppBillingService service; // initialize it first Bundle response = service.getPurchases(3, "you app package", "inapp", null); int responseCode = response.getInt(KEY_RESPONSE_CODE); if (responseCode == RESPONSE_OK) { ArrayList<String> purchases = response.getStringArrayList(KEY_INAPP_PURCHASE_ITEM_LIST); ... }
De la maldición que necesita para verificar que las compras se firman con el certificado correcto y el estado de compra no se cancela. Pero esto es mucho más seguro que almacenar datos en propiedades compartidas. Otra ventaja de este enfoque es que después de que el usuario vuelva a instalar la aplicación, todas las compras también estarán disponibles automáticamente allí.
Ejemplo completo de esta técnica está dentro de la aplicación de prueba TrivialDrive y es un trabajo para mí, pero estoy pensando en el caso fuera de línea. La aplicación de Google Play almacena en caché las compras y da respuestas a las getPurchases (3, "pkg", "inapp", null) sin conexión, pero esto funciona infinitamente o hay algo como un tiempo de espera para esta caché …
- ¿Estilizar la barra de acción contextual?
- Viewpager en fragmento no se actualiza al navegar de nuevo a fragmento