react-native-target-core-v1

0.1.0 • Public • Published

react-native-target-core

Installation

Assuming you already have a fully functioning game on your hands:

  1. Install the package and native libraries: expo install react-native-target-core-v1 expo-dev-client @react-native-async-storage/async-storage @sparkfabrik/react-native-idfa-aaid expo-cellular expo-constants expo-splash-screen onesignal-expo-plugin react-native-appsflyer react-native-onesignal react-native-webview
  2. Required app.json steps
  • To make all things work you should add two libraries in expo plugins array in app.json
{
  "expo": {
    ...other deps
    "plugins": [
      [
        "onesignal-expo-plugin",
        {
          "mode": "development"
        }
      ],
      [
        "react-native-appsflyer",
        {}
      ]
    ],
    ...other deps
  }
}
  1. Build a dev client
    • Add the following build profile in eas.json:
      "development": {
        "developmentClient": true,
        "distribution": "internal"
      },
    • Build your dev client: eas build --profile development --platform android
    • Once your custom client is ready, follow Expo instructions and install it on your devices. Use this client for future development because it has necessary native modules.
  2. Wrap your game in <Core> component
    • Provide core configuration properties
    • Don't forget to also add properties for react-native-game-loader

Usage

import Core from "react-native-target-core";

function App() {
    return (
        <Core
            keitaroUrl={'...'}
            keitaroCampaign={'...'}
            appId={...}
            oneSignalAppId={'...'}
            appsFlyerKey={'...'}
            api={{
                url: '...',
                reserveUrl: '...',
                token: '...',
                retryTimeout: ..., // optional, default - 2000
            }}
            loader={{
                ... // props for react-native-game-loader
            }}
        >
            {/* Game code goes here */}
            <YourGameJSX/>
        </Core>
    );
}

Properties

Prop Type Default Description
keitaroUrl string required Keitaro URL
keitaroCampaign string required Keitaro Campaign
appId number required App ID
oneSignalAppId string required OneSignal app ID
appsFlyerKey string required AppsFlyer key
api object required Object with API configuration
api.url string required API URL (without trailing slash)
api.reserveUrl string required API reserve URL (without trailing slash)
api.token string required API token
api.retryTimeout number 2000 Number of ms for API timeouts and retries
loader object required Props for react-native-game-loader
children ReactNode The game you are developing

Readme

Keywords

none

Package Sidebar

Install

npm i react-native-target-core-v1

Weekly Downloads

1

Version

0.1.0

License

none

Unpacked Size

25.1 kB

Total Files

13

Last publish

Collaborators

  • georgehope