Me gustaría ** permitir que mis usuarios usen mi aplicación en varios dispositivos **. Los usuarios deben iniciar sesión en mi aplicación a través de firebase auth.

El problema es que los pagos se asignan a la cuenta que está firmada en el dispositivo (Google Play) , no a la cuenta que inició sesión en la aplicación. ** De firebase auth puedo obtener una dirección de correo electrónico del usuario de mi aplicación: esto podría usarse como un identificador único.

Problema visualizado:

Problem visualized

Noté que en el flujo de facturación hay .setAccountId ("alguna identificación") Creo que podría usar esto para completar un identificador único de un usuario. Pero, ¿cómo se puede utilizar para consultar compras?

BillingFlowParams.Builder builder = new BillingFlowParams.Builder()
                .setAccountId("some id")
                .setSku(PREMIUM_YEAR_SUBS).setType(BillingClient.SkuType.SUBS);

TLDR : todo lo que quiero hacer es recuperar las compras que están conectadas a mi cuenta de usuario APP , no a la cuenta del dispositivo (Google Play usuario actualmente conectado) .

2
svkaka 3 nov. 2017 a las 16:56

2 respuestas

La mejor respuesta

Para implementar la facturación mediante accountId, intente utilizar {{X1 }} método que proporciona una funcionalidad adicional en comparación con el método getBuyIntent().

Con este método, puede utilizar accountId con la siguiente descripción:

Cadena ofuscada opcional que está asociada de forma exclusiva con la cuenta del usuario en su aplicación. Si pasa este valor, Google Play puede usarlo para detectar actividad irregular, como muchos dispositivos que realizan compras en la misma cuenta en un período corto de tiempo.

Además, es posible que desee verificar también el flujo de compra típico con la API de facturación integrada en la aplicación que se describe aquí.

2
Teyam 4 nov. 2017 a las 11:52

Parece que no podemos obtener el accountId, el accountId que acaba de usar Google Play. Supongo que usas accountId en lugar de la carga útil, pero después de mi intento, creo que no tiene éxito. En la Biblioteca de facturación de Google, la carga útil de desarrollo se elimina para la misma experiencia entre la compra en la aplicación y la compra fuera de la aplicación. Aunque podemos agregar carga útil en el período de consumo o reconocimiento, pero es inútil. Y la carga útil debe establecerse en el período de compra, pero Google la elimina y no se volverá a agregar. Los problemas de carga útil.

0
SanderLee 16 jul. 2019 a las 02:29