shopify_app_bridge_flutter 0.1.0 copy "shopify_app_bridge_flutter: ^0.1.0" to clipboard
shopify_app_bridge_flutter: ^0.1.0 copied to clipboard

A Flutter Web package that wraps the Shopify App Bridge JS SDK, enabling Flutter apps to run inside Shopify Admin as embedded apps.

shopify_app_bridge_flutter #

A Flutter Web package that seamlessly wraps the Shopify App Bridge JS SDK. This enables your Flutter applications to run inside the Shopify Admin as embedded apps with access to native UI components and deep integration.

Shopify App Bridge Demo

Features #

  • 🔐 Native Authentication: Securely fetch Shopify session tokens (JWT) directly from the App Bridge.
  • 🍞 Toast Notifications: Display native Shopify notification toasts (success and error states).
  • 🧭 Seamless Navigation: Redirect to native Shopify Admin sections (Products, Orders, Customers, etc.) or external URLs without breaking the iframe.
  • 🏗️ Native UI Components:
    • Title Bar: Dynamically update the Shopify Admin header title.
    • Modals: Trigger native Shopify modal dialogs.
    • Loading State: Control the Shopify Admin global loading indicator.
  • 🚀 Hybrid Compatibility: Supports both the New App Bridge (v4+) and reliable fallback for Action-based APIs.

Installation #

Add the dependency to your pubspec.yaml:

dependencies:
  shopify_app_bridge_flutter: ^0.1.0

Setup (Flutter Web) #

To bridge Flutter with Shopify, you must include the App Bridge CDN and the interop helper in your web/index.html.

  1. Add the following scripts to the <head> of your web/index.html:
<!-- Shopify App Bridge CDN -->
<script src="https://cdn.shopify.com/shopifycloud/app-bridge.js"></script>

<!-- The Package Interop Helper (Copy this from the package's /web folder) -->
<script src="shopify_bridge_interop.js"></script>
  1. Note: Copy shopify_bridge_interop.js from the package's web/ directory into your project's web/ directory.

Usage #

Initialization #

Initialize the bridge in your main() function:

import 'package:shopify_app_bridge_flutter/shopify_app_bridge_flutter.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  
  await ShopifyAppBridge.init(
    apiKey: 'your_api_key_here',
    host: ShopifyHostHelper.hostFromUrl(), // Automatically detects host from URL
  );

  runApp(const MyApp());
}

Authentication / Session Tokens #

final token = await ShopifyAuth.getSessionToken();
print('Shopify JWT: $token');

Native Toasts #

ShopifyToast.success('Product updated!');
ShopifyToast.error('Failed to save changes.');

UI Components #

// Update Title Bar
ShopifyTitleBar.set('My Awesome App');

// Native Modal
ShopifyModal.show('Confirm', 'Are you sure you want to proceed?');

// Loading Indicator
ShopifyLoading.start();
await Future.delayed(Duration(seconds: 2));
ShopifyLoading.stop();
ShopifyRedirect.toProducts();
ShopifyRedirect.toOrders();
ShopifyRedirect.toAdminPath('/settings');

Additional Information #

Building Shopify apps with Flutter is powerful! This package handles the complex JS interop layer so you can focus on building your features.

1
likes
160
points
149
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

A Flutter Web package that wraps the Shopify App Bridge JS SDK, enabling Flutter apps to run inside Shopify Admin as embedded apps.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter

More

Packages that depend on shopify_app_bridge_flutter