Platforms and setup
Native platforms: macos.
Public actions
MacAppStore.open
factory MacAppStore.open()
Launch with DeeplinkX.launchApp. Native platforms: macos. Action web fallback: available. Store-fallback flag: not supported.
This constructor takes no parameters.
MacAppStore.openAppPage
static MacAppStoreOpenAppPageAction openAppPage({ required final String appId, required final String appName, final String mediaType = '12', final String? country, final String? campaignToken, final String? providerToken, final String? affiliateToken, })
Launch with DeeplinkX.launchAction. Native platforms: macos. Action web fallback: available. Store-fallback flag: not supported.
| Parameter | Type | Required | Default |
|---|---|---|---|
appId | String | Yes | — |
appName | String | Yes | — |
mediaType | String | No | '12' |
country | String? | No | — |
campaignToken | String? | No | — |
providerToken | String? | No | — |
affiliateToken | String? | No | — |
MacAppStore.rateApp
static MacAppStoreRateAppAction rateApp({ required final String appId, required final String appName, final String mediaType = '12', final String? country, final String? campaignToken, final String? providerToken, final String? affiliateToken, })
Launch with DeeplinkX.launchAction. Native platforms: macos. Action web fallback: not available. Store-fallback flag: not supported.
| Parameter | Type | Required | Default |
|---|---|---|---|
appId | String | Yes | — |
appName | String | Yes | — |
mediaType | String | No | '12' |
country | String? | No | — |
campaignToken | String? | No | — |
providerToken | String? | No | — |
affiliateToken | String? | No | — |
Provider setup and examples
DeeplinkX provides support for opening the Mac App Store and specific app pages, including app details and reviews.
Available Actions
Launch Mac App Store
final deeplinkX = DeeplinkX();
// Simple launch
await deeplinkX.launchApp(MacAppStore.open());
// Launch with fallback disabled
await deeplinkX.launchApp(MacAppStore.open(), disableFallback: true);
Launch Mac App Store App Page Action
final deeplinkX = DeeplinkX();
// Simple action
await deeplinkX.launchAction(MacAppStore.openAppPage(
appId: '123456789',
appName: 'example-app',
));
// Action with fallback disabled
await deeplinkX.launchAction(
MacAppStore.openAppPage(
appId: '123456789',
appName: 'example-app',
),
disableFallback: true,
);
Launch App Review Page Action
final deeplinkX = DeeplinkX();
// Simple action
await deeplinkX.launchAction(MacAppStore.rateApp(
appId: '123456789', // Example app ID
appName: 'example-app',
country: 'us', // Optional: two-letter country code
));
// Action with fallback disabled
await deeplinkX.launchAction(
MacAppStore.rateApp(
appId: '123456789',
appName: 'example-app',
),
disableFallback: true,
);
Parameter Validations
App ID Validation
Mac App Store app IDs must follow these rules:
- Must contain only digits
- Length: 1-10 digits
- Cannot be empty
Example valid app IDs:
497799835(Xcode)409203825(Numbers)409201541(Pages)
Example invalid app IDs:
abc123(contains letters)12345678901(too long)123-456(contains special characters)
App Name Validation
App names must follow these rules:
- Must be a valid URL slug format
- Typically lowercase with hyphens instead of spaces
- Should match the app's name in the Mac App Store URL
Example valid app names:
xcodefinal-cut-prologic-pro
Optional Parameters
- country: Two-letter country code (e.g., 'us', 'uk', 'jp')
- mediaType: Specifies content type (default: '12' for macOS apps)
- campaignToken: Used for tracking marketing campaigns
- providerToken: Numeric identifier for your team/developer
- affiliateToken: Used for Apple's affiliate tracking
Platform-Specific Configuration
macOS
Add the following to your macos/Runner/Info.plist:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>macappstore</string>
</array>
URL Schemes
DeeplinkX uses the following URL schemes for Mac App Store:
Native App Deep Links
When on macOS, the following scheme is used:
macappstore://- Primary Mac App Store URL scheme
Web Fallback URLs
When on other platforms or when native schemes fail:
https://apps.apple.com/app/mac- Official Mac App Store web URL
Official Documentation
- Apple Developer Documentation - Universal Links
- Apple Developer Documentation - URL Schemes
- Apple Developer Documentation - App Store Connect
Fallback Support for Actions
| Action | Web Fallback |
|---|---|
| open | ✅ |
| openAppPage | ✅ |
| rateApp | ❌ |
Check If Mac App Store Is Installed
final deeplinkX = DeeplinkX();
final isInstalled = await deeplinkX.isAppInstalled(MacAppStore());