Reportar transacciones en Observer Mode en Flutter SDK
En el modo Observador, el SDK de Adapty no puede rastrear por sí solo las compras realizadas a través de tu sistema de compras existente. Debes informar las transacciones desde tu app store. Es fundamental configurar esto antes de publicar tu app para evitar errores en los análisis.
Usa reportTransaction para informar explícitamente cada transacción y que Adapty pueda reconocerla.
¡No omitas el reporte de transacciones!
Si no llamas a reportTransaction, Adapty no reconocerá la transacción, no aparecerá en los análisis y no se enviará a las integraciones.
Si usas paywalls de Adapty, incluye el variationId al reportar una transacción. Esto vincula la compra con el paywall que la originó, lo que garantiza un análisis preciso del paywall.
try {
// every time when calling transaction.finish()
await Adapty().reportTransaction(
"YOUR_TRANSACTION_ID",
variationId: "PAYWALL_VARIATION_ID", // optional
);
} on AdaptyError catch (adaptyError) {
// handle the error
} catch (e) {
// handle the error
}Parámetros:
| Parámetro | Presencia | Descripción |
|---|---|---|
| transactionId | requerido |
|
| variationId | opcional | Identificador de tipo string de la variante. Puedes obtenerlo usando la propiedad variationId del objeto AdaptyPaywall. |
En el modo Observer, el SDK de Adapty no puede rastrear por sí solo las compras realizadas a través de tu sistema de compras existente. Debes informar las transacciones desde tu store o restaurarlas. Es fundamental configurar esto antes de publicar tu app para evitar errores en los análisis.
Usa reportTransaction en ambas plataformas para informar explícitamente cada transacción, y usa restorePurchases en Android como paso adicional para asegurarte de que Adapty la reconozca.
¡No omitas el reporte de transacciones ni la restauración de compras! Si no llamas a estos métodos, Adapty no reconocerá la transacción, no aparecerá en los análisis y no se enviará a las integraciones.
Si usas paywalls de Adapty, incluye el variationId al reportar una transacción. Esto vincula la compra con el paywall que la originó y garantiza la precisión de los análisis del paywall.
// every time when calling transaction.finish()
if (Platform.isAndroid) {
try {
await Adapty().restorePurchases();
} on AdaptyError catch (adaptyError) {
// handle the error
} catch (e) {
}
}
try {
// every time when calling transaction.finish()
await Adapty().reportTransaction(
"YOUR_TRANSACTION_ID",
variationId: "PAYWALL_VARIATION_ID", // optional
);
} on AdaptyError catch (adaptyError) {
// handle the error
} catch (e) {
// handle the error
}Parámetros:
| Parámetro | Presencia | Descripción |
|---|---|---|
| transactionId | obligatorio |
|
| variationId | opcional | El identificador de tipo String de la variante. Puedes obtenerlo usando la propiedad variationId del objeto AdaptyPaywall. |
Notificación de transacciones
- Las versiones hasta 3.1.x escuchan automáticamente las transacciones en el App Store, por lo que no es necesario notificarlas manualmente.
- La versión 3.2 no es compatible con el modo Observer.
Notificación de transacciones
Usa restorePurchases para reportar una transacción a Adapty en el Modo Observador, tal como se explica en la página Restaurar compras en el código móvil.
¡No omitas el reporte de transacciones!
Si no llamas a restorePurchases, Adapty no reconocerá la transacción, no aparecerá en los análisis y no se enviará a las integraciones.
Asociación de paywalls a transacciones El SDK de Adapty no puede determinar el origen de las compras, ya que eres tú quien las procesa. Por ello, si planeas usar paywalls y/o pruebas A/B en modo Observer, necesitas asociar la transacción proveniente de tu store con el paywall correspondiente en el código de tu app. Es importante hacerlo correctamente antes de publicar la app; de lo contrario, causará errores en los análisis.
final transactionId = transaction.transactionIdentifier
final variationId = paywall.variationId
try {
await Adapty().setVariationId('transactionId', variationId);
} on AdaptyError catch (adaptyError) {
// handle the error
} catch (e) {
}