Getting started

You should read this entire page before you start coding for

Installing the script

Add the package to your project in one of two ways:

  • Add the package using npm:

    npm install
  • Add the following line to the HEAD-section of your HTML file:

    <script crossorigin src=""></script>

Note: In the above example you should of course replace 1.0.39 with the version of the package you want to use (the latest version should always be the preferred one).

If possible you should prefer the npm version as this version includes the documentation of all classes and methods. The documentation will be shown automatically in all modern editors.

Using the referenced API

The entire functionality is contained within a class called startiapp. When using an editor with auto-complete functionality, all available options will appear when typing a period (.) after startiapp, making the development process more efficient.


The app has a list of modules which serves different purposes. For example there are modules for handling push notifications and integrating with the calendar on the device.

Methods on the respective modules can be called directly on the modules using dot annotation.

The package includes methods for all modules, even if only a subset of those modules are available in the specific app being developed.


Here you’ll find a short example of how to get started using push notifications inside your website.


    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <script crossorigin src="">

    <div id="loadedInApp" style="color: green">
        Loaded in version <span id="appVersion"></span>
    <div id="notLoadedInApp" style="color: red">
        NOT loaded in

    <button onclick="location.reload()">Reload</button>

    <button onclick="initializePushNotifications()">
        Initialize push notifications

    <button onclick="getPushToken()">
        Get the token

    <button onclick="resetUrl()">
        Reset startup URL

    <script type="text/javascript">

        // Show a text depending on how the app was launched
        document.getElementById('loadedInApp').style.display =
            startiapp.isRunningInApp() ? 'block' : 'none';
        document.getElementById('notLoadedInApp').style.display =
            startiapp.isRunningInApp() ? 'none' : 'block';

        // We should always listen for a call to appIntegrationsAreReady.
        // When this function is called we know we are running inside the
        // app.
            async function () {
                // Tell the app we are ready to receive events

                // Get the app version
                document.getElementById('appVersion').innerText =
                    await startiapp.App.version();

        async function initializePushNotifications() {
            // A system pop-up will appear the first time this is
            // called on an iPhone
            alert('Permission granted: ' +
              await startiapp.PushNotification.requestAccess());

        async function getPushToken() {
            // Manually ask for the current token
            alert(await startiapp.PushNotification.getToken());

        function resetUrl() {
          // After calling this function, the app will start at the
          // initially configured URL once restarted