@shopify/app-bridge
You can use Shopify App Bridge to embed apps and channels directly into the Shopify admin, Shopify Mobile, and Shopify POS. Shopify App Bridge helps to reduce your development time by accessing native Shopify features across different platforms, and makes sure that the user experience is consistent wherever merchants are using your app.
Shopify App Bridge is currently being released as an update to all current consumers of the Embedded App SDK. Since it’s backwards compatible, you don't need to update your existing apps for them to support Shopify App Bridge.
Installation
You can install Shopify App Bridge by using Yarn:
yarn add @shopify/app-bridge
Usage
Set up your app
Import the library from the @shopify/app-bridge
package and provide a configuration:
import createApp, {getShopOrigin} from '@shopify/app-bridge';
const app = createApp({
apiKey: 'API key from Shopify Partner Dashboard',
shopOrigin: getShopOrigin(),
});
Actions
Shopify App Bridge introduces the concept of actions. An action provides a way for applications and hosts to trigger events with a statically-typed payload.
To learn more about the supported actions, see the actions source folder.
App State
Once the app is set up, you can access additional details and the state of the app at
any time by making async call app.getState()
:
app.getState().then((state: any) => {
console.info('App State: %o', state)
});
You can also use a shorthand to retrieve nested properties by passing in a query
when calling getState(query)
, for example:
app.getState('pos.user').then((user: any) => {
console.log('POS User: %o', user);
});
Contributing
Useful scripts
yarn start
- Start a development server.yarn build
- Build the library, compiling the source TypeScript into JavaScript.yarn clean
- Remove any artifacts produced by the build
script.yarn lint
- Run the source linter.yarn check
- Run the TypeScript type checker.
Running the tests
yarn test
- Run the tests.yarn test:watch
- Run the tests in watch mode and auto-rerun on changes.yarn test:coverage
- Run the tests and generate a coverage report.
Prettier config
To enable automatic prettier formatting, copy or link the pre-commit script to
.git/hooks/pre-commit
and make sure that it's executable.
Conventional Commits
Please follow a standardized commit message format when contributing to this repo:
https://www.conventionalcommits.org/en/v1.0.0-beta.2/