Developer
React Native App Integration
B
Written by Bird Pickup & Delivery
Updated October 20, 2026
Show the Bird Pickup & Delivery scheduler on your app’s cart screen, between the cart items and the checkout button. It uses your Bird settings and saves the customer’s choice to the cart your app checks out with.
Requirements
- Bird Pickup & Delivery on the Scale plan.
- Your app uses a Shopify Storefront API cart and checks out with its
checkoutUrl.
Install
npm install @birdchime/react-native react-native-webview
Usage
import { BirdWidget } from '@birdchime/react-native';
<ScrollView ref={scrollRef}>
<CartItems cart={cart} />
<BirdWidget
shop="your-store.myshopify.com"
cart={cart}
onChange={setState}
onError={() => setUnavailable(true)}
onInputFocus={(y) => scrollRef.current?.scrollTo({ y: widgetY + y - 80 })}
/>
<Button
title="Checkout"
disabled={!(unavailable || state?.canCheckout)}
onPress={() => openCheckout(cart.checkoutUrl)}
/>
</ScrollView>
Props
💡
| Prop | Required | Description |
|---|---|---|
shop |
Yes | Your *.myshopify.com domain. |
cart |
Yes | Your Storefront API cart, passed as-is. |
customer |
No |
{ id, tags } of the logged-in customer. |
locale |
No | Widget language, for example 'fr'. |
onChange |
No | Receives { canCheckout, syncing, selection }. |
onError |
No | Called if the widget can’t load. |
onInputFocus |
No | Receives the focused field’s position, so you can scroll it above the keyboard. |
Good to know
-
Checkout: enable your checkout button only when
canCheckoutistrue. IfonErrorfires, let checkout through. - Cart changes: pass the updated cart every time it changes. The widget saves the customer’s choice to the cart for you.
-
Cart attributes: if your app calls
cartAttributesUpdate, include the cart’s existing attributes, or the customer’s choice is erased. -
iOS: add
NSLocationWhenInUseUsageDescriptiontoInfo.plistfor nearest-store lookup.
Related Articles
Was this article helpful?
Thanks for your feedback!