Aller au contenu
WebViewGold Du vibe coding à l'App Store
Français
Obtenir WebViewGold

Claude Code + extension de partage

Partager vers votre app Claude Code : liens, textes et photos depuis n'importe quelle autre app

Un outil de favoris, une boîte à recettes ou un moodboard ne sert vraiment que si l'enregistrement se fait en un tap. Avec WebViewGold, votre app Claude Code apparaît dans la feuille de partage d'iOS et d'Android, et tout ce que l'utilisateur partage (un lien, un extrait de texte, une photo) arrive dans votre app web sous la forme de la variable JavaScript sharedData. Votre code décide de la suite : préremplir un formulaire, l'enregistrer dans votre backend ou ouvrir un éditeur.

Dès $109 en paiement unique par plateforme, ou notre équipe s'occupe de tout dès $698.

  • Garantie d'approbation – ou remboursement sous 14 jours
  • Aucun codage requis
  • Paiement unique, mises à jour gratuites
  • Support humain 24/7
  • Conçu en Allemagne depuis 2014 · ISO 27001

Comment fonctionne la réception de partages

Extension de partage iOS

Les utilisateurs touchent Partager dans Safari, Photos ou une autre app et choisissent la vôtre. WebViewGold transmet le contenu à votre app web dans la variable JavaScript sharedData : textes et liens en texte brut, images sous forme de chaînes Base64.

Intent de partage Android

Décommentez les filtres d'intent préparés dans AndroidManifest.xml (ACTION_SEND pour text/plain et image/*, ACTION_SEND_MULTIPLE pour plusieurs images) et l'icône de l'app apparaît dans la boîte de dialogue de partage d'Android. Même variable, même traitement : sharedData.

Votre app web décide

Vérifiez sharedData au chargement de la page, distinguez liens, textes et images, et dirigez l'utilisateur vers un écran d'enregistrement prérempli. Rien n'est enregistré tant que votre propre code ne l'envoie pas à Vos propres routes API, des fonctions serverless ou Supabase : l'utilisateur garde la main.

Prompt pour Claude Code

Collez ceci dans Claude Code pour implémenter la partie app web. Vérifiez le résultat, publiez, puis testez dans l'app WebViewGold.

Prompt pour Claude Code
Prompt pour Claude Code : Lisez https://www.webviewgold.com/llms-full.txt (sections Share Extension (iOS) et ShareIntent API (Android)), puis ajoutez un parcours de cible de partage. 1) Créez un module qui, uniquement quand navigator.userAgent contient mon token WebViewGold personnalisé, lit la variable globale sharedData au chargement et après une seconde, la classe comme lien, image (Base64) ou texte, et ignore les valeurs déjà traitées dans cette session. 2) Redirigez les nouveaux contenus vers un écran /save avec un aperçu et Enregistrer / Annuler. 3) Enregistrez les liens avec une récupération du titre côté serveur et les images comme fichiers envoyés via notre backend existant ; exigez la connexion et reprenez ensuite. 4) Ajoutez une fixture réservée au développement (?fakeShare=link|image|text) qui définit sharedData, pour pouvoir tester le parcours dans un navigateur de bureau. 5) Écrivez des tests pour le classement et le dédoublonnage. 6) Si le projet Android WebViewGold se trouve dans ce dépôt, décommentez uniquement les filtres d'intent ACTION_SEND text/plain et image/* dans AndroidManifest.xml et montrez-moi le diff. 7) Documentez le contrat sharedData dans CLAUDE.md et listez ce qu'il me reste à activer dans Xcode pour l'extension de partage iOS.

Excellente façon de convertir son app web en app native ! Un délai très court, et un super moyen de mettre ses apps dans les stores sans devoir développer une app native complète !

Kevin Joling · FlightConnections & TrainConnections · Trustpilot

Ce que les gens partagent vers des apps comme la vôtre

Une cible de partage mérite sa place quand un seul tap enregistre ce que l'utilisateur devrait sinon copier, changer d'app et coller. Les usages typiques :

À lire plus tard et favoris

Partagez un article depuis Safari ou Chrome : l'app récupère le titre et l'image d'aperçu côté serveur, l'utilisateur ajoute un tag et touche Enregistrer.

Recettes, lieux, produits

Un lien de recette, un restaurant depuis une app de cartes, une page produit : enregistrés dans une collection, un plan de voyage ou une liste d'envies plutôt que dans un fichier de notes en désordre.

Des photos dans un flux de travail

La photo d'un reçu dans un suivi de dépenses, une capture d'écran dans un rapport de bug, la photo d'une pièce dans un moodboard ou un inventaire. L'image arrive en Base64, prête à être envoyée.

Offres d'emploi et prospects

Partagez une offre d'emploi ou un lien de profil vers un tracker ou un CRM et arrivez sur un formulaire « Nouvelle entrée » prérempli, avec l'URL déjà analysée.

Citations et extraits

Un texte surligné dans n'importe quelle app devient une note, une fiche de révision ou un prompt pour votre fonctionnalité d'IA, avec le lien source joint quand le texte partagé en contient un.

Ajouter une cible de partage à une app Claude Code

Environ une heure, surtout pour l'écran d'enregistrement de votre app web.

  1. Choisissez une seule action pour le partage

    Décidez de ce que fait un partage dans votre app Claude Code : enregistrer un lien, joindre une photo, commencer une note. Une action claire convertit mieux qu'un menu d'options.

  2. iOS : activez l'extension de partage

    Activez l'extension de partage dans le projet Xcode WebViewGold en suivant la marche à suivre (Documentation iOS), puis installez le build sur un vrai iPhone. La feuille de partage ne liste que les extensions des apps installées : le simulateur n'est donc pas un bon test.

  3. Android : décommentez les filtres d'intent

    Dans AndroidManifest.xml, ne gardez que les filtres que vous traitez vraiment : text/plain pour les liens et le texte, image/* pour une photo, SEND_MULTIPLE pour plusieurs (Documentation Android). Une cible de partage qui accepte des images mais les ignore fait mauvaise impression dès le départ.

  4. Lisez sharedData dans Claude Code

    Vérifiez typeof sharedData !== "undefined" au chargement, puis une nouvelle fois après un court délai. Les valeurs qui commencent par http sont des liens ; les longues chaînes Base64 sont des images (les données JPEG commencent par /9j/, les PNG par iVBORw0KGgo) ; tout le reste est du texte, qui contient parfois une URL.

  5. Conservez le brouillon pendant la connexion

    Si l'utilisateur n'est pas connecté, stockez l'élément partagé dans sessionStorage, faites-le passer par votre parcours de connexion et restaurez ensuite l'écran d'enregistrement. Ne perdez jamais un partage en silence.

  6. Enregistrez et confirmez

    Décodez les images en Blob, redimensionnez-les et envoyez-les, récupérez les titres des liens sur le serveur et enregistrez l'élément dans Vos propres routes API, des fonctions serverless ou Supabase, puis affichez un état de réussite clair (un appel successhaptic:// tombe juste ici).

Un gestionnaire sharedData pour votre app web

Indépendant de tout framework ; appelez checkSharedContent() une fois votre app montée. Remplacez YourAppToken par le user agent personnalisé défini dans Config.swift (useragent_iphone, useragent_ipad) et Config.java (USER_AGENT).

javascript
var inApp = navigator.userAgent.indexOf("YourAppToken") !== -1;

function classifyShared(raw) {
  var value = String(raw).trim();
  var b64 = value.replace(/^data:image\/[a-z+]+;base64,/i, "");
  if (/^https?:\/\//i.test(value)) return { kind: "link", url: value };
  if (b64.length > 1000 && /^[A-Za-z0-9+\/=\s]+$/.test(b64.slice(0, 4000))) {
    return { kind: "image", base64: b64, mime: b64.indexOf("iVBORw0KGgo") === 0 ? "image/png" : "image/jpeg" };
  }
  var link = value.match(/https?:\/\/\S+/);
  return { kind: "text", text: value, url: link ? link[0] : null };
}

function base64ToBlob(b64, mime) {
  var bin = atob(b64.replace(/\s/g, ""));
  var bytes = new Uint8Array(bin.length);
  for (var i = 0; i < bin.length; i++) bytes[i] = bin.charCodeAt(i);
  return new Blob([bytes], { type: mime });
}

function checkSharedContent() {
  if (!inApp || typeof sharedData === "undefined" || !sharedData) return false;
  var fingerprint = String(sharedData).length + ":" + String(sharedData).slice(0, 64);
  if (sessionStorage.getItem("lastShare") === fingerprint) return false;   // déjà traité
  sessionStorage.setItem("lastShare", fingerprint);
  sessionStorage.setItem("pendingShare", JSON.stringify(classifyShared(sharedData)));
  window.location.href = "/save";                                         // votre écran d'enregistrement prérempli
  return true;
}

window.addEventListener("load", function () {
  if (!checkSharedContent()) setTimeout(checkSharedContent, 1000);
});

Ce que regardent les examinateurs

Une cible de partage fait partie des intégrations natives qu'un onglet Safari ne peut pas offrir sur iOS, ce qui en fait un argument solide pour la guideline 4.2. Quelques règles l'accompagnent.

  • 4.2

    Fonctionnalités minimales

    Montrez le parcours de partage sur une capture d'écran et mentionnez-le dans les notes de validation, en anglais pour l'examinateur (« Share a link from Safari to save it »). Les examinateurs ne prennent en compte que les fonctionnalités qu'ils trouvent.

  • 4.4

    Extensions

    Les extensions doivent offrir une vraie fonctionnalité, être décrites fidèlement dans vos textes marketing et ne contenir ni marketing, ni publicité, ni achats intégrés. Gardez le parcours de partage sous la forme d'une simple action d'enregistrement.

  • 2.5.16

    En lien avec votre app

    Les extensions doivent se rapporter au contenu et aux fonctionnalités de l'app. Une app de recettes qui accepte des liens de recettes est cohérente ; une cible de partage qui ouvre simplement la page d'accueil ne l'est pas.

  • 5.1.1

    Les données que vous recevez

    Les photos et les liens partagés peuvent contenir des données personnelles. N'envoyez que ce que l'utilisateur a confirmé, décrivez-le dans votre politique de confidentialité et déclarez-le dans App Privacy (photos, contenu utilisateur) ainsi que dans le formulaire Sécurité des données de Google Play.

Questions fréquentes

L'app peut-elle recevoir des partages sur iOS et sur Android ?

Oui. iOS utilise une extension de partage et Android des intents de partage ; dans les deux cas, WebViewGold transmet le contenu à votre app web dans la même variable JavaScript, sharedData : un seul gestionnaire couvre donc les deux plateformes.

Quels types de contenu les utilisateurs peuvent-ils partager vers l'app ?

Du texte et des liens, ainsi que des images, qui arrivent sous forme de chaînes Base64. Android dispose aussi d'un filtre d'intent préparé pour plusieurs images à la fois. Les autres types de fichiers, comme les PDF, ne font pas partie de l'API documentée.

Une app web ou une PWA peut-elle le faire sans le wrapper natif ?

Sur Android, une PWA installée peut s'enregistrer comme cible de partage via la Web Share Target API dans les navigateurs basés sur Chromium. Sur iOS, Safari n'offre aucun équivalent pour les apps web : une extension de partage native est donc le moyen d'apparaître dans la feuille de partage de l'iPhone.

Que se passe-t-il si l'utilisateur n'est pas connecté au moment du partage ?

Gardez l'élément partagé dans sessionStorage, faites passer l'utilisateur par la connexion et ramenez-le à l'écran d'enregistrement avec le contenu toujours là. Perdre un partage après la connexion est le bug le plus fréquent de ce parcours.

Une extension de partage garantit-elle l'approbation au titre de la guideline 4.2 ?

Aucune fonctionnalité ne le fait à elle seule. C'est une capacité native forte et visible ; combinée aux notifications push, à la gestion hors ligne et à une mise en page digne d'une app, elle montre que votre app Claude Code est plus qu'un site web.

Trois façons de mettre votre app dans les stores

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.

Faites-le vous-même

$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

Full Service

$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é par WeSetupYourWebViewApp

Prix Soldes d'hiver valables jusqu'au 31 décembre 2026.

Prêt à publier votre app Claude Code ?

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.