WebExeBuilder Documentation

trialInfo

Category: Application Control

Namespace: web.app.trialInfo

Description

Get comprehensive trial and expiration information including trial status, days remaining, expiration date, and whether the trial has expired. This provides all trial-related details in a single call.

Syntax

const trialInfo = await web.app.trialInfo();

Parameters

None

Returns

Promise<Object> - Trial information object:

{
    isTrial: boolean,
    daysRemaining: number,
    expirationDate: string,
    trialExpired: boolean
}

Example

Simple example

const info = await web.app.trialInfo();
console.log('Trial Info:', info);

Practical example

const info = await web.app.trialInfo();

if (info.isTrial && info.daysRemaining <= 7) {
    alert(`Trial expires in ${info.daysRemaining} days. Please purchase a license.`);
}

Advanced example

async function showTrialBanner() {
    const info = await web.app.trialInfo();
    const banner = document.getElementById('trial-banner');
    
    if (!info.isTrial) {
        banner.style.display = 'none';
        return;
    }
    
    if (info.trialExpired) {
        banner.className = 'banner error';
        banner.innerHTML = `
            <strong>Trial Expired</strong>
            <p>Your trial has ended. Purchase a license to continue using this application.</p>
            <button onclick="purchaseLicense()">Buy Now</button>
        `;
    } else if (info.daysRemaining <= 3) {
        banner.className = 'banner warning';
        banner.innerHTML = `
            <strong>Trial Ending Soon</strong>
            <p>Only ${info.daysRemaining} days remaining. Expires on ${info.expirationDate}</p>
            <button onclick="purchaseLicense()">Buy Now</button>
        `;
    } else {
        banner.className = 'banner info';
        banner.innerHTML = `
            <strong>Trial Version</strong>
            <p>${info.daysRemaining} days remaining (expires ${info.expirationDate})</p>
        `;
    }
    
    banner.style.display = 'block';
}

Use Cases

  • Display trial expiration warnings
  • Show days remaining in UI
  • Implement trial expiration logic
  • Display purchase prompts
  • Track trial usage
  • Show trial status banner
  • Send expiration notifications
  • Restrict features after trial expires

Error Handling

This method does not throw errors. Returns default values for licensed versions.

const info = await web.app.trialInfo();

if (info.trialExpired) {
    alert('Trial has expired. Please purchase a license.');
    await web.app.close();
}

Performance Tips

  • Check at startup and periodically
  • Cache result and refresh daily
  • Use for trial notifications
  • Combine with UI to show status
  • web.app.licensed() - Check if licensed
  • web.app.licenseInfo() - Get license details
  • web.app.canRunApplication() - Check if can run

Notes

  • Returns trial information for unlicensed versions
  • Licensed versions return isTrial: false
  • Days remaining counts down to zero
  • Expiration date in readable format
  • Use to implement trial restrictions
  • Check regularly to enforce trial limits