API développeur — window.TTA
Votre site contrôle de vraies fonctions natives directement — le même code marche sur iOS et Android. Sans SDK, sans recompilation : appelez-les depuis votre site.
Détecter l’app
Votre site tourne dans un navigateur normal et dans l’app. Vérifiez window.TTA avant d’utiliser des fonctions natives pour que le web marche partout.
if (window.TTA) {
// inside the native app
} else {
// normal browser — your web fallback
}Méthodes
Les méthodes « opt-in » n’existent que si vous activez la fonction dans le builder — détectez toujours la disponibilité.
window.TTA.platform'ios' or 'android' — tells your site it runs inside the native app.
if (window.TTA) {
console.log('Running natively on', window.TTA.platform);
}window.TTA.haptic()Native haptic / vibration feedback on a tap or action.
button.addEventListener('click', () => window.TTA?.haptic());window.TTA.share(url?)Open the native share sheet. Defaults to the current page URL.
window.TTA?.share('https://example.com/product/42');window.TTA.rate()Show the native App Store / Google Play review prompt.
window.TTA?.rate();window.TTA.openExternal(url)Open a link in the in-app browser instead of leaving your app.
window.TTA?.openExternal('https://help.example.com');await window.TTA.scan()opt-in · ScannerOpen the full-screen native QR / barcode scanner. Resolves to {text, format} or null if cancelled.
const result = await window.TTA.scan();
if (result) alert('Scanned: ' + result.text);window.TTA.logEvent(name, params?)opt-in · AnalyticsSend a custom analytics event (Insights). 'app_open' is tracked automatically.
window.TTA?.logEvent?.('add_to_cart', { id: 'sku_42', value: 9.99 });await window.TTA.getProducts()opt-in · In-app purchasesFetch your in-app products: [{ id, title, price, priceValue, currency }].
const products = await window.TTA.getProducts();
products.forEach(p => renderPrice(p.id, p.price));await window.TTA.purchase(productId)opt-in · In-app purchasesLaunch the native purchase flow. Resolves to { success, productId, transactionId } or { success:false, cancelled }.
const r = await window.TTA.purchase('com.app.pro.monthly');
if (r.success) unlockPro();await window.TTA.restorePurchases()opt-in · In-app purchasesReturn the product IDs the user already owns (restore entitlements).
const owned = await window.TTA.restorePurchases();
if (owned.includes('com.app.pro.monthly')) unlockPro();Fonctionne automatiquement
Avec la fonction activée, les API web standard marchent dans l’app : navigator.geolocation (Localisation), caméra getUserMedia pour les librairies QR web (Caméra), <input type=file> et téléchargements.