Migrations
Migration guide to 1.8.0-rc.2β
Removed clickOnButton event. Use w-link widget event
Migration guide to 1.6.0β
Previously, Video on Demand (VoD) was bundled with @inappstory/react-sdk. Now, itβs decoupled into a separate plugin (@inappstory/react-sdk/plugins/videoOnDemand) for better flexibility and bundle optimization.
Changes Overviewβ
| Before (Legacy) | After (Plugin) |
|---|---|
VoD automatically included in react-sdk | VoD must be explicitly imported and initialized |
| No control over bundle size | Reduced core bundle size (VoD loads only when needed) |
Step-by-Step Migrationβ
- Install Updated Dependencies
Ensure youβre using the latest versions:
npm install @inappstory/react-sdk@latest - Add the VoD Plugin
Import and initialize the plugin in your appβs entry file (e.g.,
App.tsx):
import { StoryManager } from "@inappstory/react-sdk";
import IasVideoOnDemandPlugin from "@inappstory/react-sdk/plugins/videoOnDemand";
// Initialize the plugin
StoryManager.use(IasVideoOnDemandPlugin);
- Verify Behavior
- β Progressive loading: Confirm videos start playing before full download completes
- π’ Slow network testing: Use Chrome DevTools throttling (e.g. "Slow 3G") to simulate weak connections
- β οΈ Error checking: Verify no console warnings about missing VoD dependencies appear
Migration guide react-sdk to 0.4.3β
The values left and right ββof properties closeButtonPosition, sliderAlign, textAlign are replaced with RTL compatible start and end respectively.
Migration guide from react-sdk 0.2.x to 0.3.xβ
react-sdk 0.3.x no longer uses <AppearanceManager> and <StoryManager> instances.
Instead, you just need to pass the config and the necessary options to <IASContainer> and <StoryList>
-
Upgrade to the latest reactr-sdk:
npm install "@inappstory/react-sdk@^0.3.0" -
Pass option objects directly to
<IASContainer>and<StoryList>instead of<AppearanceManager>methodsπ«
new AppearanceManager().setCommonOptions(commonOptions).setStoriesListOptions(storiesListOptions).setStoryReaderOptions(storyReaderOptions)β
<IASContainer config={...} commonOptions={commonOptions} storyReaderOptions={storyReaderOptions}><StoryList options={storiesListOptions}></IASContainer> -
Instead of creating an instance of the
<StoryManager>, you must export this instance directly from the package@inappstory/react-sdkπ«
const storymanager = new StoryManager();β
import { storyManager } from "@inappstory/react-sdk"; -
To pass the config, use the
<IASContainer>component instead of<StoryManager>β<IASContainer config={{ apiKey: "{projectToken}" }} />