@applicaster/zapp-react-dom-bridge

1.6.1-rc.0 • Public • Published

Zapp React Native Bridge

CircleCI npm version

logo

This package contains the interface for the Zapp App's native Module.

Available Modules

QuickBrick

sendQuickBrickEvent(eventName<String>, payload<Object?>)

Description

Sends an event from JS to the QuickBrick Communication Module.

Available events :

  • quickBrickReady: no payload required. This event tells the native side that the quick brick app is ready to be presented. This event must be fired, otherwise the React Native view will not appear in the app
Usage
import React from "react";
import { AppRegistry } from "react-native";
import { sendQuickBrickEvent } from "@applicaster/zapp-react-native-bridge/QuickBrick";

import { appLoader } from "...";

class App extends React.Component {
  componentDidMount() {
    appLoader().then(() => sendQuickBrickEvent("quickBrickReady"));
  }

  render() {
    return (
      <View>
        <Text>
          This app will show when the appLoader resolves, but not before
        </Text>
      </View>
    );
  }
}

getAppData(): Object

Description

This function will return the app data constants defined on the native side. Since this is exported as Native Module constants, their access is synchronous, and don't require to use a promise or async / await

Usage
import { getAppData } from "@applicaster/zapp-react-native-bridge/QuickBrick";

const appData = getAppData();
// appData = { bundleIdentifier: ..., accountId: ..., ...};

ZappPipes

bootstrapZappPipes(providers: Array<ProviderModules>): ZappPipesAdapter

Description

Bootstraps the ZappPipes adapter with the app's plugin, and returns an object which can used to perform zapp pipes requests

Usage
// this is an illustration of the required input - in the app, the list of providers should come from the app's plugin configuration
import applicasterProvider from "@applicaster/zapp-pipes-provider-applicaster";
import generalProvider from "@applicaster/zapp-pipes-provider-general";

const providers = [applicasterProvider, generalProvider];

const zappPipesAdapter = bootstrapZappPipes(providers);
zappPipesAdapter.get(
  "general://fetchData?type=ATOM_XML&url=...",
  ({ code, response, url }) => {
    // handle response
  }
);

Contributing

In order to add a module here, simply add a folder with your native module, and document here your module and its methods

To access your module, import it with the path to your module's folder

import { MyAwesomeModuleFunction } from "@applicaster/zapp-react-native-bridge/MyAwesomeModule";

Dependents (0)

Package Sidebar

Install

npm i @applicaster/zapp-react-dom-bridge

Weekly Downloads

1

Version

1.6.1-rc.0

License

MIT

Unpacked Size

22.3 kB

Total Files

14

Last publish

Collaborators

  • zapp-ci
  • meirmanr
  • applicaster-devs
  • applicaster-external-devs