getPaywallInfo method

  1. @override
Future<PaywallInfo?> getPaywallInfo(
  1. String trigger
)
override

Implementation

@override
Future<PaywallInfo?> getPaywallInfo(String trigger) async {
  try {
    final result = await methodChannel.invokeMethod<Map<dynamic, dynamic>>(
        'getPaywallInfo', trigger);

    if (result == null) {
      log('[Helium] getPaywallInfo unexpected error.');
      return null;
    }
    if (result['errorMsg'] != null) {
      log('[Helium] ${result['errorMsg']}');
      return null;
    }

    return PaywallInfo(
      paywallTemplateName: result['templateName'] ?? 'unknown template',
      shouldShow: result['shouldShow'] ?? true,
    );
  } catch (e) {
    log('[Helium] getPaywallInfo failed: $e');
    return null;
  }
}