applyForPlatform static method

void applyForPlatform({
  1. required SocialPlatform platform,
  2. required String title,
  3. required String description,
  4. required String imageUrl,
  5. String? url,
  6. String? siteName,
  7. String? imageAlt,
})

Apply social preview tags for a specific platform.

Implementation

static void applyForPlatform({
  required SocialPlatform platform,
  required String title,
  required String description,
  required String imageUrl,
  String? url,
  String? siteName,
  String? imageAlt,
}) {
  if (!Webify.isInitialized) return;

  switch (platform) {
    case SocialPlatform.facebook:
    case SocialPlatform.linkedin:
    case SocialPlatform.discord:
    case SocialPlatform.slack:
      // All use Open Graph
      _applyOpenGraph(
        title: title,
        description: description,
        imageUrl: imageUrl,
        url: url,
        siteName: siteName,
        imageAlt: imageAlt,
      );
      break;

    case SocialPlatform.twitter:
      _applyTwitter(
        title: title,
        description: description,
        imageUrl: imageUrl,
        imageAlt: imageAlt,
      );
      break;

    case SocialPlatform.whatsapp:
    case SocialPlatform.telegram:
      // WhatsApp and Telegram read OG tags
      _applyOpenGraph(
        title: title,
        description: description,
        imageUrl: imageUrl,
        url: url,
        imageAlt: imageAlt,
      );
      break;

    case SocialPlatform.pinterest:
      _applyOpenGraph(
        title: title,
        description: description,
        imageUrl: imageUrl,
        url: url,
        imageAlt: imageAlt,
      );
      // Pinterest also reads specific pin description
      Webify.instance.platform.setMetaTag(
        'pinterest:description',
        description,
      );
      break;
  }
}