DEEPLINKX / comparison

DeeplinkX vs whatsapp_unilink for Flutter WhatsApp links

Compare WhatsApp username chats, phone chats, text sharing, installation checks, native launches, and fallbacks in Flutter.

DeeplinkX 1.5.8 · Comparison reviewed 2026-10-21 · Source

Maintenance concern: whatsapp_unilink appears unmaintained on pub.dev. Its latest release, 2.1.0, was published on November 20, 2022 — over three years without a new published version as of October 21, 2026. The pub.dev release history establishes the publication gap; it does not establish that the repository is abandoned or that existing links have stopped working.

DeeplinkX is a Flutter plugin for typed external-app actions, with native launch handling, installation checks, and configurable fallbacks. whatsapp_unilink is a Dart package that builds WhatsApp HTTP links. Its Flutter examples use a separate launcher such as url_launcher to open those links. Both can help developers prepare a phone-number chat or share text; DeeplinkX also exposes a dedicated WhatsApp username chat action. Sources: whatsapp_unilink README and DeeplinkX WhatsApp guide.

WhatsApp feature comparison

CapabilityDeeplinkXwhatsapp_unilink 2.1.0
Phone-number chat with optional prefilled textWhatsApp.chat(phoneNumber:, message:)WhatsAppUnilink(phoneNumber:, text:) builds a link
Username chat with optional prefilled textWhatsApp.chatByUsername(username:, message:)No username parameter or dedicated action
Text sharing without a selected recipientWhatsApp.shareText(text:)Supply text and omit phoneNumber
Native launchinglaunchAction and launchApp manage native attemptsOpen the HTTP link separately; the OS/browser determines handling
Installation checkisAppInstalled(WhatsApp())Not provided
Store fallbackOptional fallbackToStore: trueImplement app/store routing separately
Web fallbackAction-specific HTTP fallbackProduces the HTTP link itself
Disable store and web fallbacksdisableFallback: true on launch methodsNo managed native/fallback sequence
Phone-number formattingSupply international digits including country code, without +Removes formatting and leading zeros; does not infer a country code
Plain Dart or server-side link generationFlutter pluginNo Flutter-specific dependency; provides asUri() and toString()
Other external apps and storesShared typed API across supported providersWhatsApp link builder

This table compares the published competitor API with the DeeplinkX implementation and launch routing.

Start a WhatsApp chat by username in Flutter

Install DeeplinkX with flutter pub add deeplink_x, then use its typed username action in an asynchronous Flutter handler:

import 'package:deeplink_x/deeplink_x.dart';

final launched = await DeeplinkX().launchAction(
  WhatsApp.chatByUsername(
    username: 'example_user', // Replace with the recipient's username, without @.
    message: 'Hello!',
    fallbackToStore: true,
  ),
);

Phone-number chats and text sharing

Use WhatsApp.chat(phoneNumber: '1234567890', message: 'Hello!') to target a phone number, or WhatsApp.shareText(text: 'Hello!') to share text without selecting a recipient in your application. Pass each action to DeeplinkX().launchAction(...).

For these WhatsApp actions, DeeplinkX first attempts the native link when its installation check permits. If that fails, enabling fallbackToStore permits a matching store attempt. If that does not succeed, the action's web fallback is attempted. Store fallback defaults to false; disableFallback: true suppresses both store and web fallbacks. Configure native visibility and schemes using the WhatsApp setup guide. Native WhatsApp targets are Android, iOS, macOS, and Windows; web fallback is a separate path. Username availability depends on WhatsApp and the recipient’s setup; WhatsApp may ask for a username key. Supply the bare username without @. The recipient completes the conversation in WhatsApp.

Which package should you choose?

Choose DeeplinkX when your Flutter workflow needs typed WhatsApp phone-number or username actions, native launch handling, installation checks, or configurable store and web fallbacks. Its shared API also suits applications that open other supported social apps, maps, and stores.

Choose whatsapp_unilink when your requirement is to generate a shareable WhatsApp HTTP link, especially in a plain Dart project or server. It also provides phone-number cleanup that DeeplinkX's phone chat action expects callers to handle. Account for the publication gap when reviewing your dependency choices; an older release alone does not prove incompatibility.

This page is written by the DeeplinkX maintainer. It compares documented functionality and source at the versions above. Start with the DeeplinkX package and review the committed README comparison.