Assuming you already have a fully functioning game on your hands:
- Install the package and native libraries:
expo install react-native-target-core 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
- 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.
- Add the following build profile in
- Wrap your game in
<Core>
component- Provide core configuration properties
- Don't forget to also add properties for
react-native-game-loader
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>
);
}
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 |