Codes de parrainage et de réduction
Un tap copie le code, une courte confirmation « Copié » apparaît, et l'utilisateur le colle dans WhatsApp ou Messages. Plus rapide que de sélectionner le texte par un appui long.
Replit + presse-papiers
Les boutons Copier qui échouent sans prévenir et les champs de collage qui ne se remplissent jamais sont des agacements classiques des WebViews. Dans une app WebViewGold, votre app Replit lit le presse-papiers de l'appareil à la demande avec getclipboard:// (le contenu arrive dans la variable clipboarddata), et la copie utilise l'API Clipboard standard du web avec une solution de repli. Voici le schéma à suivre, ainsi que les règles de confidentialité que les deux plateformes imposent.
Dès $109 en paiement unique par plateforme, ou notre équipe s'occupe de tout dès $698.
Un tap copie le code, une courte confirmation « Copié » apparaît, et l'utilisateur le colle dans WhatsApp ou Messages. Plus rapide que de sélectionner le texte par un appui long.
Un bouton Coller à côté d'un champ de code d'invitation, de numéro de suivi ou de lien lit le presse-papiers avec getclipboard:// et remplit le champ. Idéal pour les parcours « enregistrer un lien » et « rejoindre une équipe ».
Adresses de portefeuille, références de réservation, clés d'API, mots de passe Wi-Fi : des valeurs que personne ne devrait retaper. Copiez-les avec un bouton et affichez la valeur à côté.
Les outils de chat, d'écriture et de prompts ont besoin d'un bouton Copier sur chaque réponse ; les utilisateurs collent le résultat dans un e-mail, des notes ou des réseaux sociaux.
Collez ceci dans Replit pour implémenter la partie app web. Vérifiez le résultat, publiez, puis testez dans l'app WebViewGold.
Ajoutez la prise en charge du copier-coller pour le wrapper d'app native WebViewGold. 1) Backend : ajoutez GET /api/me/referral, qui renvoie le code de parrainage de l'utilisateur connecté et une URL d'invitation construite à partir du secret APP_URL. 2) Front-end : créez src/lib/clipboard.ts avec copyText(text) (navigator.clipboard.writeText dans le gestionnaire de clic, textarea masqué et document.execCommand("copy") en solution de repli) et readNativeClipboard(), qui, uniquement quand navigator.userAgent contient WebViewGold, définit window.clipboarddata = undefined, navigue vers getclipboard:// et interroge window.clipboarddata toutes les 100 ms pendant 3 secondes au maximum. 3) Chargez les données de parrainage au montage de la page Inviter et affichez des boutons Copier pour le code et l'URL d'invitation, avec un court message « Copié ». 4) Ajoutez au champ du numéro de suivi un bouton Coller qui utilise readNativeClipboard() et supprime les espaces superflus. 5) Masquez Coller dans les navigateurs classiques et ne lisez jamais le presse-papiers au chargement.
WebViewGold nous a permis d'avoir le temps de mise sur le marché le plus court et le plus efficace jamais possible parmi toutes les autres plates-formes d'application que nous avons essayées au cours des 5 dernières années. Je ne sais pas pourquoi je ne vous ai pas découvert plus tôt, mais je suis vraiment, vraiment content de l'avoir fait. Nous approchons actuellement les 6000 téléchargements d'application sur l'App Store iOS et Google Play Store sans aucun problème!
Environ 30 minutes.
Appelez navigator.clipboard.writeText() directement dans le gestionnaire de clic, avant toute requête lente : les WebViews refusent les écritures dans le presse-papiers effectuées en dehors d'un geste de l'utilisateur. Gardez une solution de repli avec un textarea masqué et document.execCommand("copy").
Affichez un court toast. Android 13 et les versions ultérieures affichent leur propre confirmation de copie : gardez donc la vôtre discrète. Dans l'app, vous pouvez ajouter un retour haptique avec lighthaptic://, en ne faisant qu'un seul appel au pont à la fois.
Quand l'utilisateur touche Coller, videz window.clipboarddata, naviguez vers getclipboard:// (uniquement dans l'app, détectée grâce à votre user agent personnalisé), puis surveillez la variable pendant quelques secondes et remplissez le champ.
Supprimez les espaces superflus et vérifiez que la valeur a la forme attendue (un code d'invitation de 8 caractères, une URL sur un domaine autorisé) avant de l'utiliser. Ne soumettez jamais automatiquement le contenu du presse-papiers.
Ne lisez jamais le presse-papiers au chargement de la page, avec un minuteur ou en arrière-plan. iOS peut demander aux utilisateurs d'autoriser le collage et Android affiche une notification quand une app lit le presse-papiers : une lecture non sollicitée ressemble à de l'espionnage.
La copie fonctionne dans le navigateur et dans l'app ; le collage utilise le pont natif dans l'app. Reliez-les aux boutons de votre app Replit :
var IN_APP = navigator.userAgent.indexOf("WebViewGold") !== -1; // votre token de user agent personnalisé
// Copier : à appeler directement depuis le gestionnaire de clic
function copyText(text) {
if (navigator.clipboard && window.isSecureContext) {
return navigator.clipboard.writeText(text).catch(function () { legacyCopy(text); });
}
legacyCopy(text);
return Promise.resolve();
}
function legacyCopy(text) {
var ta = document.createElement("textarea");
ta.value = text;
ta.setAttribute("readonly", "");
ta.style.position = "fixed";
ta.style.opacity = "0";
document.body.appendChild(ta);
ta.select();
document.execCommand("copy");
document.body.removeChild(ta);
}
// Coller : lire le presse-papiers de l'appareil (dans l'app uniquement, après un tap)
function pasteInto(input) {
if (!IN_APP) { input.focus(); return; } // navigateur : appui long, puis Coller
window.clipboarddata = undefined;
window.location.href = "getclipboard://";
var started = Date.now();
(function check() {
if (typeof window.clipboarddata !== "undefined") {
input.value = String(window.clipboarddata || "").trim();
} else if (Date.now() - started < 3000) {
setTimeout(check, 100);
}
})();
}navigator.clipboard.writeText ne fonctionne que sur des pages https et pendant un geste de l'utilisateur. Un appel placé après une requête attendue avec await ou lancé depuis un minuteur est refusé, et certaines WebViews bloquent complètement l'API. Copiez directement dans le gestionnaire du tap et gardez la solution de repli avec le textarea.
Elle ne devrait pas, et les systèmes le rendent visible : iOS peut demander à l'utilisateur d'autoriser le collage, et Android affiche une notification quand une app lit le presse-papiers. Ne le lisez que lorsque l'utilisateur touche un bouton Coller.
Le contenu actuel du presse-papiers, injecté dans la variable JavaScript globale clipboarddata. La valeur arrive de façon asynchrone : attendez donc la variable après l'appel au lieu de la lire à la ligne suivante.
Oui. Les utilisateurs peuvent toujours faire un appui long sur un champ de texte et choisir Coller, sans aucun code. getclipboard:// ajoute le bouton Coller qui remplit le champ à leur place en un seul geste.
Même résultat, charge de travail différente de votre côté. Les trois formules incluent la garantie d'approbation et le support humain 24/7.
$109 par plateforme, paiement unique
La licence WebViewGold : un projet Xcode ou Android Studio prêt à l'emploi. Collez votre URL, définissez le nom et l'icône, activez les fonctionnalités, compilez et soumettez. Mises à jour gratuites à vie.
Voir les offres sur la page principale$349 par licence, extension en paiement unique
Ni Mac, ni Xcode, ni Android Studio : configurez dans le navigateur, nous compilons les deux apps dans le cloud et les transmettons à App Store Connect et à la Play Console.
Comment fonctionne le Cloud Builder Essayer la démo gratuite$698 par plateforme $798
Envoyez-nous votre URL et votre icône. Notre équipe configure, compile et livre votre app sous 72 heures, en marque blanche, projets sources inclus. Les deux plateformes pour $1,158.
Détails du Full Service Propulsé parPrix Soldes d'hiver valables jusqu'au 31 décembre 2026.
Garantie d'approbation App Store & Google Play – ou remboursement sous 14 jours
Vous préférez déléguer ? Full Service : nous configurons, compilons et livrons sous 72 heures, dès $698 par plateforme. Des questions ? Chattez avec nous 24/7.
Les remboursements sont accordés aux conditions indiquées dans notre FAQ : un refus non lié au contenu par Apple et/ou Google, demandé dans les 14 jours suivant l'achat.