Installation Guide
This guide covers all installation methods and setup options for the Arcadia Game SDK.
Installation Methods
The SDK can be installed via NPM (recommended) or loaded via CDN. Choose the method that best fits your project.
NPM Installation
Install the Package
npm install @arcadiasol/sdk
Or with yarn:
yarn add @arcadiasol/sdk
Or with pnpm:
pnpm add @arcadiasol/sdk
Import in Your Code
ES Modules (Recommended)
import { ArcadiaSDK } from '@arcadiasol/sdk';
CommonJS
const { ArcadiaSDK } = require('@arcadiasol/sdk');
TypeScript Support
TypeScript definitions are included automatically. No additional installation needed.
import { ArcadiaSDK, SDKConfig, PaymentResult } from '@arcadiasol/sdk';
const config: SDKConfig = {
gameId: 'my-game',
};
const arcadia = new ArcadiaSDK(config);
CDN Installation
Development (Unminified)
<script src="https://cdn.jsdelivr.net/npm/@arcadiasol/sdk@latest/dist/umd/arcadia-game-sdk.js"></script>
Production (Minified)
<script src="https://cdn.jsdelivr.net/npm/@arcadiasol/sdk@1.0.0/dist/umd/arcadia-game-sdk.min.js"></script>
Using the SDK (CDN)
When using CDN, the SDK is available as a global variable:
<script>
// SDK is available as ArcadiaGameSDK or window.ArcadiaGameSDK
const arcadia = new ArcadiaGameSDK({
gameId: 'your-game-id',
});
// Or access via window
const arcadia = new window.ArcadiaGameSDK({
gameId: 'your-game-id',
});
</script>
Note: The UMD bundle may expose the SDK in different ways depending on your environment. Check what's available:
// Check available SDK exports
console.log(window.ArcadiaGameSDK);
// Common patterns:
const SDKClass = window.ArcadiaGameSDK?.default ||
window.ArcadiaGameSDK?.ArcadiaSDK ||
window.ArcadiaGameSDK;
Build Configuration
Webpack
No special configuration needed. The SDK is already bundled.
// webpack.config.js
module.exports = {
// ... your config
resolve: {
extensions: ['.ts', '.tsx', '.js', '.jsx'],
},
};
Vite
No special configuration needed.
// vite.config.js
export default {
// ... your config
};
Rollup
No special configuration needed.
// rollup.config.js
export default {
// ... your config
};
Parcel
No special configuration needed. Parcel handles everything automatically.
Package Entry Points
The SDK provides multiple entry points:
- ESM:
dist/esm/index.js- ES Module format - UMD:
dist/umd/arcadia-game-sdk.js- Universal Module Definition - Types:
dist/esm/index.d.ts- TypeScript definitions
Using Specific Entry Points
// ESM (if you need to import from specific path)
import { ArcadiaSDK } from '@arcadiasol/sdk/dist/esm/index.js';
Version Pinning
Latest Version
npm install @arcadiasol/sdk@latest
Specific Version
npm install @arcadiasol/sdk@1.0.0
Version Range
{
"dependencies": {
"@arcadiasol/sdk": "^1.1.0"
}
}
Browser Compatibility
The SDK works in all modern browsers:
- Chrome 90+
- Firefox 88+
- Safari 14+
- Edge 90+
Polyfills
The SDK requires:
- ES2020 support
- postMessage API
- Promise support
Most modern browsers include these by default. For older browsers, you may need polyfills:
npm install core-js
import 'core-js/stable';
import 'core-js/features/promise';
Bundle Size
- UMD (minified): ~15KB gzipped
- ESM: ~12KB gzipped
- Zero dependencies - No additional packages required
Verification
After installation, verify the SDK is working:
import { ArcadiaSDK } from '@arcadiasol/sdk';
// Check SDK is available
console.log(ArcadiaSDK); // Should log the class
// Create instance
const arcadia = new ArcadiaSDK({
gameId: 'your-game-id',
});
console.log('SDK initialized:', arcadia.isInitialized()); // false (not yet initialized)
Troubleshooting
Module Not Found
If you get "Module not found" errors:
- Verify the package is installed:
npm list @arcadiasol/sdk - Check your import path is correct
- Restart your development server
- Clear node_modules and reinstall:
rm -rf node_modules && npm install
TypeScript Errors
If TypeScript can't find types:
- Ensure
@arcadiasol/sdkis in yourpackage.json - Check
tsconfig.jsonincludesnode_modulesin type roots - Restart your TypeScript server
CDN Not Loading
If CDN script doesn't load:
- Check your internet connection
- Verify the URL is correct
- Check browser console for CORS errors
- Try a different CDN or use NPM instead
Build Errors
If you encounter build errors:
- Ensure your bundler supports ES2020
- Check for conflicting dependencies
- Verify your Node.js version (requires Node 20+)
Next Steps
Once installation is complete:
- See Getting Started for basic setup
- Review Wallet Integration for wallet features
- Check Payments for payment implementation