getValidPurchasedTransactions method
获取有当前有效购买交易信息
Implementation
@override
Future<List<Transaction>> getValidPurchasedTransactions() async {
safeLog('调用 getValidPurchasedTransactions');
try {
final result = await methodChannel.invokeMethod(
'getValidPurchasedTransactions',
);
safeLog(
'getValidPurchasedTransactions 返回: ${result is List ? result.length : 'null'} 个交易',
);
if (result is List) {
final transactions = result
.whereType<Map>()
.map((item) {
try {
final map = _deepConvertMap(item);
return Transaction.fromMap(map);
} catch (e) {
safeLog('⚠️ getValidPurchasedTransactions 解析单个交易失败: $e');
return null;
}
})
.whereType<Transaction>()
.toList();
safeLog(
'✅ getValidPurchasedTransactions 解析成功: ${transactions.length} 个交易',
);
return transactions;
}
return [];
} catch (e, stackTrace) {
safeLog(
'❌ getValidPurchasedTransactions 失败: $e',
error: e,
stackTrace: stackTrace,
);
rethrow;
}
}