@appboxo/react-native-sdk-test
TypeScript icon, indicating that this package has built-in type declarations

1.1.81 • Public • Published

Appboxo SDK for React Native

A react native wrapper over Appboxo SDK for IOS and Android.

Getting started:

yarn add @appboxo/react-native-sdk 

or

npm install @appboxo/react-native-sdk 

Next for IOS:

cd ios && pod install

Usage:

import React from 'react';
import appboxo from '@appboxo/react-native-sdk';
import { StyleSheet, View, Button } from 'react-native';

export default function App() {

  React.useEffect(() => {
    appboxo.setConfig('[client_id]', false);  //set your Appboxo client_id and specify multitask mode (by default is "true")
  }, [])

  const handleOpenMiniapp = () => {
    appboxo.openMiniapp('[miniapp_id]', '[auth_payload]', {'key': 'value'});  //launch miniapp by id with auth payload and with data as {[key: string]: any} | undefined that is sent to miniapp.
  }

  return (
    <View style={styles.container}>
      <Button
        color="#841584"
        title="Launch miniapp"
        onPress={handleOpenMiniapp}
        accessibilityLabel="Launch miniapp"
    />
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    alignItems: 'center',
    backgroundColor: '#fff',
    justifyContent: 'center',
  },
});

To listen miniapp lifecycle events:

Important

Miniapp lifecycle events available in 1.0.8+ versions

import React from 'react';
import appboxo from '@appboxo/react-native-sdk';
import { StyleSheet, View, Button } from 'react-native';

export default function App() {

  React.useEffect(() => {
    appboxo.setConfig('[client_id]', false);  //set your Appboxo client_id and specify multitask mode (by default is "true")
    
    const subscription = appboxo.lifecycleHooksListener({
      onLaunch: (appId: string) => console.log('onLaunch', appId),  // called when the miniapp will launch with openMiniapp(...)
      onResume: (appId: string) => console.log('onResume', appId),  // called when the miniapp will start interacting with the user
      onPause: (appId: string) => console.log('onPause', appId),    // called when clicked close button in miniapp or when destroyed miniapp activity
      onClose: (appId: string) => console.log('onClose', appId),    // called when the miniapp loses foreground state
      onError: (appId: string, error: string) => console.log('onError', appId, error),  // handle error
    });

    return () => subscription();
  }, [])

  const handleOpenMiniapp = () => {
    appboxo.openMiniapp('[miniapp_id]', '[auth_payload]');  //launch miniapp by id with auth payload.
  }

  return (
    <View style={styles.container}>
      <Button
        color="#841584"
        title="Launch miniapp"
        onPress={handleOpenMiniapp}
        accessibilityLabel="Launch miniapp"
    />
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    alignItems: 'center',
    backgroundColor: '#fff',
    justifyContent: 'center',
  },
});

Package Sidebar

Install

npm i @appboxo/react-native-sdk-test

Weekly Downloads

3

Version

1.1.81

License

Apache-2.0

Unpacked Size

125 kB

Total Files

28

Last publish

Collaborators

  • appboxo