Integration Guide

App Pass SDK

To integrate your extension with App Pass, please use our official SDK. The SDK provides all the necessary methods to check subscription status and verify user eligibility.

NPM Package

Full documentation and installation instructions are available on our NPM package page.

Example Implementation

Here is a complete, minimal example using Svelte showing how to check status and prompt users to activate App Pass:

<script lang="ts">
  import { onMount } from 'svelte';
  import { checkAppPass, activateAppPass, manageAppPass } from '@chrome-stats/app-pass-sdk';

  let status: 'loading' | 'active' | 'inactive' = 'loading';
  let isActivating = false;

  async function checkStatus() {
    status = 'loading';
    const response = await checkAppPass();
    // Any status other than 'ok' means the user does not have an active pass
    status = response.status === 'ok' ? 'active' : 'inactive';
  }

  async function handleActivate() {
    isActivating = true;
    try {
      await activateAppPass();
    } catch (err) {
      console.error('Failed to activate App Pass:', err);
    } finally {
      isActivating = false;
    }
  }

  onMount(checkStatus);
</script>

<div class="container">
  {#if status === 'loading'}
    <p>Checking App Pass status...</p>
  {:else if status === 'active'}
    <h3>⭐ App Pass is Active</h3>
    <p>Thank you for subscribing!</p>
    <button on:click={manageAppPass}>Manage Subscription</button>
  {:else}
    <h3>App Pass is not active</h3>
    <p>Unlock premium features by activating App Pass.</p>
    <button on:click={handleActivate} disabled={isActivating}>
      {isActivating ? 'Opening...' : 'Activate App Pass'}
    </button>
  {/if}
</div>