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

v0 + calendrier

Boutons « Ajouter au calendrier » pour votre app v0

Une réservation absente du calendrier de l'utilisateur, c'est un rendez-vous manqué en puissance. Sur iOS, WebViewGold permet d'ajouter un événement à l'app Calendrier depuis un simple lien vers un fichier .ics : votre app v0 n'a besoin de rien d'autre que d'une URL qui renvoie l'événement. Sur Android, WebViewGold n'a pas d'API de calendrier dédiée ; voici ce qui fonctionne à la place.

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

Ce qui fonctionne sur chaque plateforme

iOS : un lien vers un fichier .ics

WebViewGold est prévu pour Calendrier (anciennement iCal) : un lien classique vers un fichier .ics permet à l'utilisateur d'ajouter l'entrée au calendrier de l'iPhone ou de l'iPad. Pas de schéma d'URL, pas de pont JavaScript, et l'app web ne lit jamais le calendrier de l'utilisateur ; elle se contente de proposer un événement.

Android : téléchargement ou Google Calendar

La documentation Android ne contient pas d'API de calendrier. Deux voies fonctionnent : ajouter .ics à downloadableExtension dans Config.java pour que le fichier soit téléchargé et puisse être ouvert avec une app de calendrier qui importe les fichiers .ics, et proposer un lien « Ajouter à Google Calendar » qui s'ouvre hors de l'app.

Un fichier d'événement par réservation

Votre serveur renvoie un petit fichier texte (un VCALENDAR avec un VEVENT) pour chaque réservation, cours ou rendez-vous. La même URL sert le site web, l'app iOS et le téléchargement sur Android.

Prompt pour v0

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

Prompt à coller dans v0
Ajoutez une fonction Ajouter au calendrier qui fonctionne dans le wrapper d'app WebViewGold. 1) Créez app/calendar/[token]/route.ts : retirez un éventuel .ics final du token, chargez la réservation par son ics_token aléatoire et renvoyez un VCALENDAR avec un VEVENT (UID booking-ID@ourdomain, DTSTAMP, DTSTART et DTEND en UTC terminés par Z, SUMMARY, LOCATION, DESCRIPTION avec l'URL de la réservation, un VALARM une heure avant) avec Content-Type text/calendar; charset=utf-8 et Cache-Control no-store. 2) Ajoutez une colonne ics_token. 3) Sur la page de réservation, affichez un simple lien vers /calendar/TOKEN.ics dans le même onglet. 4) Dans un Client Component, quand navigator.userAgent inclut WebViewGold-Android, affichez aussi Ajouter à Google Calendar avec un lien https://calendar.google.com/calendar/render?action=TEMPLATE. 5) Joignez le même .ics à l'e-mail de confirmation.

Avec une bonne version optimisée de votre application Web, vous pouvez avoir une superbe application mobile en quelques minutes. De plus, le service client est très agréable et très utile! Je ne peux que recommander WebViewGold :-)

Julian Koch · Co-fondateur de DuelDonkey · CodeCanyon

Ajouter un bouton « Ajouter au calendrier »

Environ une heure, dont l'essentiel pour l'endpoint .ics.

  1. Créez l'endpoint .ics

    Ajoutez une route comme /calendar/BOOKING_TOKEN.ics qui renvoie l'événement avec Content-Type: text/calendar; charset=utf-8. Gardez un chemin qui se termine par .ics, comme dans l'exemple WebViewGold, et utilisez un token impossible à deviner plutôt que de compter sur la session de connexion.

  2. Remplissez les champs qui comptent

    Un UID stable par réservation, DTSTAMP, DTSTART et DTEND en UTC (terminés par Z), SUMMARY, LOCATION et une DESCRIPTION avec un lien vers la réservation. Échappez les virgules et les points-virgules dans le texte.

  3. Ouvrez le lien dans le même onglet

    Un simple <a href="https://yourdomain.com/calendar/TOKEN.ics">. Ne l'ouvrez pas dans une nouvelle fenêtre ni avec target="_blank" : une WebView n'a nulle part où l'afficher.

  4. Gérez Android

    Ajoutez .ics à downloadableExtension dans Config.java pour la voie du téléchargement, et affichez un lien « Ajouter à Google Calendar » avec calendar.google.com dans BROWSER_BLACKLIST, pour qu'il s'ouvre dans le navigateur du système, où la plupart des utilisateurs sont connectés à Google, plutôt que dans la WebView.

  5. Testez sur de vrais appareils

    Ajoutez un événement sur un iPhone, puis vérifiez le fuseau horaire, la durée et le lien dans la description. Sur Android, essayez des téléphones de deux fabricants ; les apps de calendrier n'ouvrent pas toutes les fichiers .ics téléchargés de la même façon.

Un fichier .ics minimal

C'est tout ce dont un calendrier a besoin. Selon la spécification iCalendar, les lignes se terminent par CRLF ; les bibliothèques s'en chargent pour vous. Partie serveur de votre stack : Route handlers et server actions Next.js, Postgres via Neon ou Supabase.

text
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//YourApp//Bookings//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
BEGIN:VEVENT
UID:[email protected]
DTSTAMP:20261101T120000Z
DTSTART:20261205T170000Z
DTEND:20261205T180000Z
SUMMARY:Cours de yoga
LOCATION:Studio 2\, 14 rue Principale
DESCRIPTION:Gérer votre réservation : https://yourdomain.com/bookings/123
BEGIN:VALARM
TRIGGER:-PT1H
ACTION:DISPLAY
DESCRIPTION:Cours de yoga dans une heure
END:VALARM
END:VEVENT
END:VCALENDAR

La logique du bouton

Le lien .ics partout, le lien Google Calendar en plus sur Android et sur ordinateur :

javascript
// User agents personnalisés : "... WebViewGold-iOS" (Config.swift), "... WebViewGold-Android" (Config.java)
var ua = navigator.userAgent;
var IS_ANDROID_APP = ua.indexOf("WebViewGold-Android") !== -1;
var IS_IOS_APP = ua.indexOf("WebViewGold-iOS") !== -1;

function icsUrl(b) { return "https://yourdomain.com/calendar/" + b.token + ".ics"; }

function googleCalendarUrl(b) {
  var f = function (d) { return d.toISOString().replace(/[-:]|\.\d{3}/g, ""); };
  return "https://calendar.google.com/calendar/render?action=TEMPLATE" +
    "&text=" + encodeURIComponent(b.title) +
    "&dates=" + f(b.start) + "/" + f(b.end) +
    "&details=" + encodeURIComponent(b.url) +
    "&location=" + encodeURIComponent(b.location);
}

// Rendu : toujours le lien .ics ; le lien Google sauf si IS_IOS_APP

Pièges

  • Fuseaux horaires : écrivez les heures en UTC avec un Z final, ou incluez un bloc VTIMEZONE correct. Les heures locales « flottantes » se décalent pour les voyageurs et pour les utilisateurs d'autres fuseaux.
  • Un nouvel UID à chaque téléchargement peut créer des doublons. Gardez un UID par réservation ; la façon dont un calendrier traite une réimportation varie selon l'app.
  • URL .ics protégées par une connexion : la requête qui récupère le fichier peut ne pas transporter la session web de l'utilisateur. Un token aléatoire par réservation est l'option fiable.
  • Les abonnements à un calendrier (flux webcal://) sont une autre fonctionnalité ; la documentation WebViewGold couvre les fichiers .ics individuels.
  • Un bouton de calendrier est une jolie touche native, pas une fonctionnalité qui fait passer une app à l'examen à elle seule. Combinez-le avec des rappels push et des deep links vers la réservation.

Questions fréquentes

WebViewGold a-t-il une API de calendrier pour Android ?

Pas d'API dédiée ; l'intégration du calendrier décrite dans la documentation concerne uniquement iOS. Sur Android, proposez le fichier .ics en téléchargement (ajoutez .ics à downloadableExtension dans Config.java) et un lien Ajouter à Google Calendar qui s'ouvre hors de l'app.

L'app peut-elle lire le calendrier de l'utilisateur pour vérifier ses disponibilités ?

Non. Le flux .ics se contente de proposer un événement que l'utilisateur ajoute. Les disponibilités relèvent de votre serveur, à partir de vos propres données de réservation.

Puis-je ajouter des événements récurrents ou des rappels ?

Oui, dans le fichier .ics : une ligne RRULE pour les cours qui se répètent et un bloc VALARM pour un rappel. L'affichage du rappel dépend de l'app de calendrier de l'utilisateur ; pour des rappels que vous maîtrisez, utilisez les notifications push.

Comment générer le fichier .ics pour mon app v0 ?

Une petite route serveur construit le texte. Pour un seul événement, aucune bibliothèque n'est nécessaire, mais ical-generator (Node) ou icalendar (Python) aide pour les événements récurrents et l'échappement. Demandez à v0 un endpoint qui renvoie du text/calendar pour un token de réservation.

Les liens de calendrier fonctionnent-ils aussi dans le navigateur ?

Oui. La même URL .ics télécharge ou ouvre l'événement dans les navigateurs de bureau et mobiles : un seul bouton sert le site web et les deux apps.

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 v0 ?

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.