FlutterNativeAd.fromMap constructor

FlutterNativeAd.fromMap(
  1. Map<String, dynamic> map
)

Creates a FlutterNativeAd instance from a map received from the native platform.

Implementation

factory FlutterNativeAd.fromMap(Map<String, dynamic> map) {
  // Parse images from comma-separated string
  final imagesRaw = map['images'] as String? ?? "";
  final imagesList = imagesRaw.isNotEmpty ? imagesRaw.split(',') : <String>[];

  // Add cover if not already in images
  final cover = map['cover'] as String?;
  if (cover != null && cover.isNotEmpty && !imagesList.contains(cover)) {
    imagesList.insert(0, cover);
  }

  return FlutterNativeAd(
    id: map['id'] as String,
    headline: map['headline'] as String?,
    body: map['body'] as String?,
    advertiser: map['advertiser'] as String?,
    icon: map['icon'] as String?,
    images: imagesList,
    cta: map['cta'] as String?,
    starRating: double.tryParse(map['starRating'] as String? ?? ""),
    store: map['store'] as String?,
    price: map['price'] as String?,
    adChoicesUrl: map['adChoicesUrl'] as String?,
    adChoicesText: map['adChoicesText'] as String?,
  );
}