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
9:41
vv0
Événements de calendrierDésormais dans votre poche
App Store · Google Play Approuvée
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.