Skip to main content

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-sdkVoD must be explicitly imported and initialized
No control over bundle sizeReduced core bundle size (VoD loads only when needed)

Step-by-Step Migration​

  1. Install Updated Dependencies Ensure you’re using the latest versions: npm install @inappstory/react-sdk@latest
  2. 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);
  1. 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>

  1. Upgrade to the latest reactr-sdk:

    npm install "@inappstory/react-sdk@^0.3.0"
  2. 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>
  3. 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";
  4. To pass the config, use the <IASContainer> component instead of <StoryManager> βœ…

    <IASContainer config={{ apiKey: "{projectToken}" }} />