Multi-devises, programme bêta, vente de lots et plus encore !
Publié: 2019-06-19Les notes de version incluent nos mises à jour périodiques qui mettent en évidence les récentes améliorations de produits que nous avons apportées, afin que vous puissiez facilement rester à jour sur les nouveautés. Voici ce que nous avons lancé entre décembre 2018 et juin 2019 (BEAUCOUP !).
Au cours des six derniers mois, nous avons publié BEAUCOUP de nouvelles fonctionnalités intéressantes. Voici quelques-uns des plus notables :
- Tarification et assistance multidevises
- Gestion du cycle de publication – Programme bêta
- Nouveau CLUF (contrat de licence utilisateur final)
- Connectez-vous en tant que client
- Optimisations de paiement
- Améliorations majeures concernant les bundles et les add-ons
Prise en charge des transactions multidevises (une grande !)
Nous sommes ravis de partager que Freemius prend désormais pleinement en charge la tarification et les transactions multidevises, en ajoutant récemment les €-Euros et £-Livres britanniques , en plus des $-US Dollars , que nous avons pris en charge dès le départ.
Vous vous demandez peut-être ce qu'il y a avec toute cette effervescence autour des devises multiples ? Je veux dire, Stripe et PayPal (les passerelles que nous utilisons sous le capot) prennent en charge les transactions multidevises prêtes à l'emploi, alors de quoi s'agit-il ?
En raison de diverses réglementations financières et intérêts des sociétés de passerelle de paiement, en tant que société américaine, même si nous acceptons des paiements non USD avec nos comptes PayPal/Stripe américains, nous n'avons aucun moyen de retirer les fonds dans leur devise d'origine. Les sociétés de passerelle de paiement convertissent d'abord l'argent en USD avec des frais de conversion sains de 2 à 4% FX (Foreign Exchange). Il était clair pour nous que déduire un % supplémentaire de notre communauté de vendeurs est un grand non-non, nous avons donc dû trouver un moyen de résoudre ce problème sans les frais supplémentaires. Après avoir fait quelques recherches et discuté avec Stripe et PayPal, nous avons fini par ouvrir des comptes européens, qui sont maintenant utilisés pour effectuer des transactions en EUR ( €-Euros ) et en GBP ( £-Brithish Pounds ).
Un avantage supplémentaire de cette décision est que les frais de Stripe pour les titulaires de compte européens pour les cartes européennes sont 50 % moins chers que les frais de compte américains de Stripe. Ainsi, les frais de passerelle pour une transaction en EUR avec une carte européenne ne sont plus que de 1,4 % + 0,25 €, au lieu de 2,9 % + 0,3 $ avec le compte américain.
Un autre avantage supplémentaire est que notre plate-forme prend désormais en charge une sélection de passerelle basée sur des règles, ce qui nous permet non seulement d'ajouter de nouvelles passerelles dans le système relativement facilement, mais également de définir des règles personnalisées pour déterminer quelle passerelle effectuera un paiement spécifique en fonction de critères tels que : géolocalisation, devise, type de carte de crédit, montant de la transaction, etc. Cette capacité nous donne BEAUCOUP de flexibilité pour aider notre communauté de développeurs à minimiser les coûts de transaction. Par exemple, si une passerelle de paiement est proposée à un prix compétitif pour les transactions par carte de débit VISA au Canada, en laissant de côté les aspects juridiques et logistiques, nous pouvons intégrer cette passerelle et l'utiliser de manière sélective uniquement pour les transactions impliquant des cartes de débit VISA canadiennes. Bien que Stripe soit une passerelle de paiement robuste et que l'utilisation de Stripe pour le traitement des cartes de crédit ait été la bonne décision pour nous au départ, nos nouvelles connaissances et notre compréhension approfondies des coûts sous-jacents du traitement des cartes de crédit nous permettent de dire factuellement que d'autres passerelles de paiement de premier plan proposer des prix beaucoup plus compétitifs, sans manquer de fonctionnalités ni de support.
La mise en œuvre de passerelles supplémentaires de cette manière dynamique ne se fera pas du jour au lendemain, car nous avons actuellement de nombreuses priorités plus élevées. Cependant, le fait est que même si notre modèle de tarification ne couvre pas les frais de passerelle et que, théoriquement, nous pourrions simplement transférer les frais à nos vendeurs sans les examiner plus en profondeur, nous nous soucions vraiment de nos partenaires de vente et nous améliorons constamment notre système. pour vous aider à maximiser votre résultat net. Donc, si vous choisissez de vendre avec Freemius, soyez assuré qu'à long terme, le coût des frais de passerelle diminuera considérablement et que vous n'aurez rien à faire pour y arriver.
Vous pouvez en savoir plus sur Freemius multi-devises, pour quelles entreprises de plugins et de thèmes nous le recommandons et comment l'activer ici.
Gestion du cycle de publication – Programme bêta
L'ensemble du cycle de publication dans le monde des plugins et des thèmes WordPress fait défaut par rapport aux flux de travail CI/CD robustes dans le "monde réel". Si vous avez un plugin/thème avec des dizaines de milliers d'installations actives, chaque version devient risquée. À tout le moins, cela peut affecter négativement l'agilité de votre entreprise et mettre en danger les sites Web de vos utilisateurs et clients. Il existe diverses pratiques pour atténuer ce risque, et l'une des plus populaires consiste à constituer un groupe de bêta-testeurs : des personnes qui aiment avoir un accès rapide à vos produits - et leur donner un tour avant tout le monde en échange de commentaires.
Alors… nous sommes heureux d'annoncer que vous pouvez désormais systématiquement intégrer des testeurs bêta avec Freemius et publier des versions bêta uniquement pour les utilisateurs qui ont opté pour le programme bêta !
Les utilisateurs peuvent s'inscrire au programme bêta directement à partir de leur page de compte en cochant simplement une case et en acceptant l'invite de clause de non-responsabilité :
Vous pouvez également ajouter un utilisateur au programme bêta directement à partir du profil de l'utilisateur dans le tableau de bord du développeur (n'oubliez pas de cliquer sur le bouton METTRE À JOUR pour enregistrer) :
Prêt à publier une version bêta ? Pas de problème! Téléchargez-le simplement dans la section DEPLOIEMENT et marquez-le comme une version bêta . Lorsque vous êtes prêt à rendre la version bêta publique pour tout le monde, passez simplement la version à Released - c'est aussi simple que cela !
Les versions bêta seront signalées dans WP Admin avec une étiquette bêta , indiquant clairement aux utilisateurs qu'ils utilisent actuellement une version bêta du produit :
Nous espérons qu'en vous donnant la possibilité de démarrer facilement des programmes bêta, cela créera un environnement de produit plus sûr pour l'ensemble de la communauté WordPress et, bien sûr, pour vos clients. Vous pouvez désormais tester les versions sur un petit sous-ensemble d'utilisateurs qui ont volontairement choisi de tester vos versions avant de les rendre publiques pour tous.
Avis : La version initiale de la fonctionnalité du programme bêta ne peut être activée que pour les utilisateurs qui exécutent une version payante de votre plugin/thème. De plus, il n'est pas encore pris en charge pour les modules complémentaires.
Caisse Freemius
Nouvelles options de l'API JavaScript de paiement
En plus du nouveau paramètre de currency
ajouté pour contrôler la devise avec laquelle le paiement sera ouvert, vous pouvez désormais pré-remplir une clé de licence avec le license_key
:
license_key: ‘<key>’,
Et si vous organisez une promotion périodique et que vous souhaitez appliquer automatiquement un coupon sans le révéler à vos utilisateurs, vous pouvez désormais inclure les éléments suivants dans la configuration de la caisse :
coupon: ‘<COUPON_CODE>’, hide_coupon: true,
Vous pouvez consulter la liste complète des options de paiement ici :
https://freemius.com/help/documentation/selling-with-freemius/freemius-checkout-buy-button/
Séance de paiement
Nous avons introduit une nouvelle « mémoire » de session de 60 minutes pour augmenter les taux de conversion et faciliter l'achat de plusieurs produits dans le même magasin. Fondamentalement, si un client achète un produit sur votre site et ouvre ensuite la caisse pour un autre produit dans les 60 minutes suivant l'achat précédent, le nom et l'e-mail de l'acheteur seront automatiquement pré-remplis lors de l'ouverture de la caisse. Cette session est automatiquement renouvelée à chaque achat, permettant à un client d'acheter plusieurs produits sans avoir à saisir ses coordonnées personnelles encore et encore.
Étant donné que Freemius n'a pas de concept de "panier", et nous ne pensons pas que nous devrions en raison du nombre extrêmement faible d'achats multi-produits dans l'espace plugin et thème, la fonction de mémoire de session de paiement est un bon compromis entre le " le meilleur des deux mondes".
Remise sur les renouvellements
Si un produit est associé à une remise de renouvellement annuel, le paiement indique désormais plus clairement que le paiement initial est supérieur aux renouvellements en cours :
Paiement PayPal
PayPal a introduit une option pour inclure dynamiquement une image d'en-tête dans la page de paiement. Nous avons décidé d'intégrer cette option, donc la caisse est marquée avec l'icône de votre produit :
Paiement pour les forfaits
Beaucoup de travail a été consacré à la caisse en ce qui concerne la vente de lots. La caisse affiche maintenant une riche liste de produits groupés, y compris le prix autonome sans remise de chaque produit, ainsi que le montant de la remise économisé en achetant un lot :
De nombreux calculs complexes se déroulent en coulisses pour calculer correctement toutes les remises et tous les prix en fonction de la configuration de vos plans. Toutes ces remises sont des boosters CRO - leur but est de montrer au client combien d'argent il économise.
Correction d'un bug
En raison de notre mise en œuvre de Stripe, un client qui s'est abonné avec une carte de crédit pour un essai d'un produit bénéficiant d'une remise de renouvellement s'est vu facturer la différence entre le montant du renouvellement et le montant du paiement initial lors de l'annulation de l'essai. Ce problème est résolu et plus aucun frais inattendu ne devrait se produire lors de l'annulation.
Tableau de bord utilisateur
Compatibilité du navigateur
Le tableau de bord utilisateur fonctionne désormais sur Internet Explorer 11 et supérieur.
Rubrique Sites Web
Un nouveau filtre a été ajouté à la section des sites Web pour que les utilisateurs filtrent plus facilement les sites Web où au moins un des produits de votre boutique a été activé, installé ou désactivé. La section des sites Web affiche désormais par défaut les sites Web sur lesquels le produit est installé.
Avant cela, nous montrions aux utilisateurs tous les sites Web sur lesquels un produit de votre boutique avait déjà été installé (s'ils avaient opté pour l'option), ce qui provoquait une certaine confusion lorsque, par exemple, un client avait précédemment désinstallé le produit du site Web ou peut-être même supprimé le site Web dans son ensemble.
Télécharger l'amélioration de la vente incitative
Une amélioration majeure a été introduite dans la boîte de dialogue de vente incitative de téléchargement. Lorsqu'un utilisateur tente de télécharger un produit dont la licence a expiré, il peut désormais choisir de renouveler la licence existante ou d'en acheter une nouvelle. De plus, si la licence de contexte a été achetée dans le cadre d'un bundle, une autre option s'affichera pour renouveler la licence du bundle :
Tableau de bord du développeur
En-têtes collants
Tous les tableaux ont désormais des en-têtes collants - une petite mais puissante amélioration de l'interface utilisateur/UX. Veuillez noter que si la plupart des navigateurs populaires prennent en charge cette règle CSS, IE et Opera Mini ne le font pas :
Produits groupés
La section PRODUITS du tableau de bord du développeur affiche désormais visuellement les types de produits et les icônes groupés, ce qui facilite beaucoup plus qu'auparavant l'identification d'un produit dans un bundle :
Envoi par e-mail de licences créées manuellement
Il existe plusieurs cas d'utilisation dans lesquels les développeurs peuvent avoir besoin de créer manuellement des licences ; Voici quelques-uns:
- Avis payants – les examinateurs doivent tester votre produit
- Cadeaux - les gagnants doivent accéder au produit
- Promotions YouTube - les affiliés doivent accéder aux fonctionnalités payantes du produit
Auparavant, vous pouviez facilement créer une licence pour ces cas d'utilisation, mais vous deviez ensuite envoyer manuellement la licence par e-mail à cette personne. Cela semble facile, non ? Mais comment envoyez-vous le lien de téléchargement par e-mail en toute sécurité ? Qu'en est-il des instructions d'installation ? Il existe de nombreuses façons de le gérer - elles nécessitent toutes un tas d'étapes - et un tel processus peut prendre 10 à 15 minutes - c'est beaucoup de temps perdu !
Sur la base de vos commentaires, nous avons introduit une nouvelle fonctionnalité dans la boîte de dialogue de création manuelle de licence vous permettant d'envoyer automatiquement par e-mail la clé de licence, le lien de téléchargement du produit et les instructions d'installation en cochant simplement une case :
Connectez-vous en tant que client (ou usurpation d'identité)
Dans le cadre de nos efforts pour vous fournir des outils pour mieux servir vos clients et réduire votre charge d'assistance, vous pouvez désormais vous connecter facilement à l'un des tableaux de bord utilisateur de vos clients pour voir exactement ce qu'ils voient lorsqu'ils sont connectés. Ouvrez simplement le profil utilisateur correspondant dans le tableau de bord du développeur et cliquez sur *CONNEXION EN TANT QU'UTILISATEUR* :
Cela ouvrira le tableau de bord de l'utilisateur et pré-remplira automatiquement tous les champs de saisie - il ne vous reste plus qu'à cliquer sur le bouton de connexion et vous êtes connecté !
Pour des raisons de sécurité, les membres de votre équipe ne pourront se connecter au compte de l'utilisateur que lorsqu'ils auront accès à tous les produits de la boutique. Par exemple, si vous êtes le vendeur de 3 plugins différents et que vous souhaitez que votre représentant du support ait des capacités d'usurpation d'identité, vous devrez ajouter le représentant du support en tant que membre de l'équipe pour les 3 produits.
Cette fonctionnalité géniale (et quelques autres) provient de la migration de Tickera vers Freemius (merci !).
Contactez-nous
Vous pouvez maintenant ajouter une feuille de style CSS personnalisée qui sera ajoutée au formulaire de contact du tableau de bord :
Coupons Nouvelle commande par défaut
L'ordre par défaut des coupons répertoriés dans le tableau de bord du développeur affiche désormais les coupons "les plus récents" en premier. Vous pouvez maintenant vous attendre à voir les coupons triés en fonction de ces critères :
- Coupons actifs - actifs apparaîtront avant inactifs
- Date de fin de la promotion - un coupon qui expire dans 7 jours apparaîtra avant un coupon qui expire dans 2 jours
- Date de début de la promotion - un coupon dont la validité a commencé il y a 3 jours apparaîtra avant un coupon dont la validité a commencé il y a 7 jours
Par exemple, s'il y a 2 coupons actifs valables jusqu'au 1er janvier 2020, le coupon qui expire le plus tard apparaîtra avant l'autre.
Corrections de bogues
- L'ajout d'un webhook pour les modules complémentaires est désormais corrigé.
- Le compteur "Mises à jour" du DASHBOARD indiquait le nombre de licences créées pendant la période sélectionnée, et après avoir reçu un rapport d'un de nos partenaires, nous avons réalisé que le compteur était déroutant car il incorporait également des licences créées manuellement. Nous avons mis à jour le compteur pour n'inclure que les mises à niveau associées aux achats et aux abonnements réels (les essais sont également comptés).
Gestion d'équipe et autorisations
Modification en bloc de l'adhésion à l'équipe
Si vous gérez plusieurs produits avec Freemius et que vous avez une équipe de personnes qui travaillent avec vous, vous avez probablement déjà remarqué que l'expérience d'ajout/suppression de membres de l'équipe est fastidieuse. Vous deviez répéter le même processus encore et encore pour chaque produit. Par exemple, si vous avez plus de 20 modules complémentaires, vous devrez ajouter chaque nouveau membre de l'équipe plus de 20 fois.
Pas plus!
À partir de maintenant, lorsque vous ajoutez/modifiez/supprimez un membre de l'équipe d'un produit avec des modules complémentaires, vous pouvez facilement appliquer exactement les mêmes autorisations pour tous ses modules complémentaires :
La même logique s'applique également aux bundles. Vous pouvez désormais gérer les autorisations d'équipe pour un bundle, ce qui appliquera les mêmes autorisations d'adhésion d'équipe à tous les produits groupés.
Mise à jour des autorisations d'équipe
Nous avons audité les autorisations des rôles et nous nous sommes assurés que les données sont correctement protégées et accessibles uniquement aux rôles concernés. Par exemple, les représentants Support
ne pourront plus accéder à la page de statistiques du produit ni à la clé secrète.
De plus, nous avons introduit un nouveau rôle Developer
qui, contrairement au rôle Support
, permet de déployer et de gérer les versions de produits :
Nouveau CLUF
Après des mois de travail continu avec notre cabinet juridique, nous avons publié un nouveau CLUF (contrat de licence utilisateur final) qui est ajusté dynamiquement en fonction de la configuration de votre produit. Le but du CLUF est de VOUS protéger, VOUS et nous, des actions en justice pouvant provenir des clients.
Pour rappel, si vous souhaitez consulter votre CLUF, vous pouvez y accéder via le lien suivant :
https://freemius.com/terms/<productID>/<productSlug>/
Nous avons également passé du temps à styliser le CLUF, en lui donnant un bel aspect d'accord légal, marqué avec l'icône de votre produit et une option facile pour l'imprimer :
Pour faciliter les choses, nous avons également inclus quelques "raccourcis", vous permettant d'accéder directement à des sections spécifiques du CLUF :
- Résumé des conditions d'abonnement :
https://freemius.com/terms/<productID>/<productSlug>/#subscriptions_summary
- Résumé de la politique de remboursement :
https://freemius.com/terms/<productID>/<productSlug>/#refund_policy_summary
- Politique de remboursement complet :
https://freemius.com/terms/<productID>/<productSlug>/#refund_policy
Par exemple, si un client vous contacte pour vous demander de rembourser un renouvellement, vous pouvez lui dire qu'il a accepté le CLUF lors de l'achat du produit et que les remboursements de renouvellement ne sont pas couverts, tout en vous connectant directement au résumé des conditions d'abonnement :
https://freemius.com/terms/<productID>/<productSlug>/#subscriptions_summary
Aide à l'intégration Scout
Un petit ajout pratique à notre application Help Scout est que vous pouvez désormais voir le pays d'origine du propriétaire du site, et pour votre commodité lors de la planification avec vos clients, le nom du pays est directement lié aux informations de fuseau horaire du client sur timeanddate.com.
Plateforme d'affiliation
Coupons d'affiliation
Nous pouvons désormais lier un coupon à un affilié pour attribuer toutes les ventes avec le coupon à un affilié particulier, que le lien d'affiliation soit cliqué ou non. Les affiliés avec un coupon lié recevront une référence chaque fois que le coupon est utilisé comme si le client avait utilisé une URL de référence valide.
Ceci est particulièrement utile si vous travaillez avec des spécialistes du marketing affilié qui se concentrent principalement sur les promotions vidéo. Étant donné que le CTR (taux de clics) des liens de note de bas de page YouTube est assez faible, offrir un coupon exclusif - même s'il s'agit d'une remise symbolique de 5 % - est un excellent moyen de surmonter cet obstacle tout en étant en mesure d'attribuer les ventes à l'affilié. .
Remarque : cette fonctionnalité n'est toujours pas disponible dans le tableau de bord du développeur . Vous devrez donc contacter notre support si vous souhaitez l'utiliser.
Balises UTM d'affiliation
Bien que nous proposions un suivi des liens d'affiliation dans le tableau de bord, de nombreuses personnes préfèrent gérer tout leur suivi avec GA (Google Analytics). En raison des restrictions de sécurité du navigateur et des attributs HTML tels que rel = "noreferrer", il existe de nombreux cas dans lesquels GA ne sera pas en mesure de déterminer la source de la référence, et ces clics seront simplement comptés comme du trafic direct. Désormais, tous les liens d'affiliation incluent automatiquement des balises UTM pour identifier facilement la source du trafic. Par exemple, supposons qu'un utilisateur clique sur un lien d'affiliation qui renvoie à my-awesome-product.com depuis awesome-affiliate.com. Le lien d'affiliation, qui ressemble à https://r.freemius.com/123/456/, redirigera vers :
https://my-awesome-product.com?utm_source=awesome-affiliate.com&utm_medium=website&utm_campaign=fs_aff
Voici la structure de l'URL :
https://my-awesome-product.com?utm_source={affiliate_main_domain}_{referrer_domain}&utm_medium={'direct'|'website'|'social'}&utm_campaign=fs_aff
Récupération d'abandon de panier
Étant donné que notre mécanisme de récupération d'abandon de panier fonctionne silencieusement en arrière-plan, nous avons découvert que certains d'entre vous ne savaient même pas qu'il était là.
Gestion des litiges
Bien que cela ait été mentionné dans les notes de publication précédentes, nous souhaitons vous rappeler que notre objectif final est d'intégrer les API de litige des passerelles de paiement et d'introduire un système complet de gestion des litiges semi-automatisé pour nos vendeurs, vous donnant la liberté et le contrôle nécessaires pour gérer les litiges. paiements de vos produits. Comme il s'agit d'un projet énorme, nous allons le mettre en œuvre progressivement, en commençant par les litiges PayPal. Depuis quelques mois, lorsqu'un paiement PayPal est contesté, nous stockons tous les détails du litige dans un tableau structuré sur notre backend et informons les développeurs du paiement contesté avec des conseils sur ce qui peut être fait. Si vous n'êtes pas d'accord avec la réclamation de l'acheteur, nous vous demandons de répondre à cet e-mail avec des informations supplémentaires, que nous utiliserons ultérieurement pour le processus de soumission des preuves :
Comme vous pouvez le voir ci-dessus, l'e-mail que nous envoyons aux vendeurs contient le contexte complet du cas, y compris tous les messages envoyés par l'acheteur, que le produit payé ait été téléchargé ou non, un résumé de la politique de remboursement du produit, la raison signalée pour le litige, la date d'échéance de la réponse, et bien plus encore. Notre objectif est de vous donner toutes les informations contextuelles et les liens dont vous avez besoin pour prendre une décision sans avoir à creuser et à collecter toutes ces données vous-même.
Restez à l'affût d'autres mises à jour sur la gestion des litiges dans les prochaines notes de version !
SDK WordPress v.2.3.0
Liasses
Si votre modèle commercial principal propose un plugin/thème de base gratuit, puis vend des bundles, nous avons des nouvelles passionnantes pour vous ! Vous pouvez maintenant afficher les prix du bundle dans l'administrateur WP au lieu d'afficher les prix du plugin/thème. Pour activer cette option, il vous suffit d'ajouter un 'bundle_id' => '<YOUR_BUNDLE_ID>',
à votre extrait d'intégration - c'est aussi simple que cela !
De plus, lors de l'activation d'un plugin ou d'un add-on payant, si l'utilisateur inscrit a obtenu une licence groupée qui inclut ce plugin/add-on payant, la licence sera désormais automatiquement activée lors de l'activation du produit. Dans un environnement de réseau multisite, la licence ne sera activée que si les activations de la licence ont suffisamment de licences non allouées pour activer la licence pour tous les sous-sites du réseau multisite.
Réseau multisite
Lorsque nous avons initialement amélioré le SDK pour inclure une intégration réseau multisite appropriée, en raison de la complexité du modèle de données de stockage, nous avons décidé d'ignorer le scénario d'une activation de plug-in passant du niveau réseau au niveau site, et vice versa. C'est-à-dire l'activation réseau d'un plugin, puis plus tard, la désactivation et l'activation du même plugin au niveau du site.
La nouvelle version du SDK est rétrocompatible et prend désormais entièrement en charge la gestion de ces cas d'utilisation. Cela peut sembler simple, mais il y a beaucoup de réflexion qui a dû entrer dans la logique derrière cela. Par exemple, si un plugin payant intégré au réseau est activé au niveau du site sur 3 sous-sites sur 10 dans un réseau multi-sites, et que le super-administrateur a activé une licence sur tous ces 3 sites, si le plugin sera déplacé vers le réseau activation, le super-administrateur est automatiquement redirigé vers l'écran d'activation de la licence, mais n'est tenu d'activer une licence que sur les 7 sites restants sur les 10 qui n'avaient jamais activé ce plugin auparavant.
Juste pour vous donner quelques chiffres, il y a environ 40 cas d'utilisation différents impliqués dans cette transition, et nous les avons tous traités ! (j'espère que nous n'en avons manqué aucun)
De plus, pour les plugins qui ont des paramètres de menu WP Admin différents au niveau du site par rapport au niveau du réseau, vous pouvez désormais spécifier les paramètres du menu au niveau du réseau en définissant la nouvelle 'menu_network' => array( … ),
dans l'intégration SDK fragment.
Installation automatique - Désactivé
Malheureusement, après des discussions en cours avec l'équipe de révision du plugin WordPress.org, nous avons dû désactiver la fonctionnalité d'installation automatique, que nous avons introduite en mars 2017 après que Jetpack a commencé à prendre en charge l'installation de thèmes non-wp.org. Je ne vais pas commencer #WPDrama car effectivement notre implémentation n'était pas exactement la même que celle de Jetpack. C'est juste dommage que la créativité et l'UX soient bloquées dans certains cas comme ceux-ci et sans raison valable.
Étant donné que nous sommes une entreprise axée sur les données, lorsque nous avons lancé la fonctionnalité d'installation automatique, nous voulions valider notre hypothèse selon laquelle l'expérience d'installation automatique est en fait meilleure pour les utilisateurs. Ainsi, chaque utilisateur qui a sélectionné l'option d'installation automatique lors du paiement a reçu un e-mail avec une simple enquête Google Form pour classer l'expérience d'installation de 1 à 5 et fournir des commentaires supplémentaires. Sur 686 réponses, 83 % l'ont classé comme excellent, 10,5 % l'ont classé comme excellent :
Nous voyons clairement la nécessité de simplifier l'ensemble de l'expérience de mise à niveau, et nous reviendrons pour aborder ce problème sous un angle différent à l'avenir, tout en veillant à respecter les directives de wp.org.
Lien vers le forum d'assistance
Si vous n'avez pas de version gratuite de votre produit sur WordPress.org (et donc pas de forum d'assistance gratuit) ou si vous souhaitez simplement lier l'élément de menu Forum d'assistance ajouté par le SDK à une autre page d'assistance, nous avons introduit un nouveau filtre pour remplacer l'URL. Vous pouvez l'implémenter comme suit :
<?php function set_my_custom_support_url( $wp_org_support_url ) { return ‘https://my-awesome-product.com/support/forum/’; } my_fs()->add_filters( 'support_forum_url', ‘set_my_custom_support_url’ ); ?>
Facturation du compte et factures
Dans le cadre de nos efforts continus pour faciliter l'accès des clients à leurs informations de facturation et à leurs factures, nous avons introduit un petit lien dans la partie supérieure de la page Compte :
Même si la facturation et les factures se trouvent dans la partie inférieure de la même page, certains acheteurs en manquaient toujours, nous avons donc ajouté ce simple lien d'ancrage.
Télécharger/installer des modules complémentaires à partir de WP Admin
En 2017, lorsque j'ai assisté à PressNomics 5, j'ai eu une conversation avec mon ami Matt Cromewall. Parmi les nombreuses choses dont nous avons discuté, Matt a mentionné Crate (qui n'a jamais été publié d'ailleurs) comme exemple d'un excellent UX pour gérer et installer des modules complémentaires directement dans l'administrateur WP, sans que les clients aient besoin de passer par le standard, fastidieux processus d'installation normalement proposé par les plugins et thèmes WP :
[Crate premier prototype de cratewp.com]
Cette fonctionnalité est sur notre liste depuis plus de 2 ans, et nous avons enfin réussi à la prioriser ! Ceci est particulièrement utile si vous vendez beaucoup de modules complémentaires. Désormais, vos clients peuvent facilement télécharger ou activer vos modules complémentaires directement depuis WP Admin.
Alors, comment ça marche?
Si le client possède une licence valide pour un module complémentaire et qu'il exécute la version gratuite wp.org de votre plugin/thème principal, il pourra désormais télécharger le module complémentaire directement depuis l'administrateur WP, en plus de afficher les détails de l'add-on :
L'installation du module complémentaire directement dans WP Admin à partir de produits conformes à wp.org n'est pas autorisée, par conséquent, l'option d'installation ne sera disponible que lorsque la version du plug-in/thème de base installée et activée est payée ou explicitement signalée comme non-WP.org conforme. Voici à quoi cela ressemblera dans ce cas:
Nous avons apporté une autre amélioration UX à la section des modules complémentaires WP Admin : les modules complémentaires installés sont désormais affichés avec une étiquette INSTALLÉ , ce qui permet aux administrateurs de savoir plus facilement si un module complémentaire est déjà installé sur le site Web ou non :
Compatibilité avec ManageWP, MainWP, InfiniteWP et Jetpack
Le SDK Freemius WordPress intègre un mécanisme qui identifie automatiquement le fichier principal d'un plugin ou d'un thème. Ce mécanisme repose sur debug_backtrace()
et suppose que le noyau WP est responsable de l'inclusion initiale de ce fichier principal. Après plusieurs problèmes liés à GitHub dans lesquels le SDK ne parvenait pas à obtenir correctement le titre et la version du produit, nous avons résolu le problème et constaté qu'il était lié au cas d'utilisation de plug-ins tiers responsables de l'inclusion/exécution et non le noyau WP. ManageWP, MainWP, InfiniteWP et Jetpack ont tous la capacité d'installer et d'activer à distance des plugins et des thèmes. L'inclusion de produits via ces services est traitée différemment et le code des produits gérés est directement inclus par les plugins « agents » des services correspondants.
Pour faire court, nous avons abordé ce cas d'utilisation et la logique identifie désormais correctement le fichier principal du produit également lorsque le produit est géré par l'un de ces plugins tiers (et non par le noyau WP).
Et après?
J'aime terminer les notes de version avec quelques aperçus de notre feuille de route à court terme. Alors que les priorités peuvent facilement changer et qu'une startup agile comme Freemius doit conserver cette flexibilité, voici quelques-unes des choses à venir que nous prévoyons de développer dans un avenir proche.
Gestion multi-magasins et au niveau du magasin
Notre tableau de bord de développeur a été initialement conçu pour gérer des produits uniques. En novembre 2018, nous avons introduit un concept de magasins avec la sortie du tableau de bord utilisateur . Chaque développeur s'est vu automatiquement attribuer sa propre boutique et chaque produit qu'il a créé y était lié.
Depuis cette version, nous avons identifié une demande croissante des partenaires vendant plusieurs produits pour avoir un tableau de bord au niveau du magasin pour suivre les performances de vente de l'ensemble du magasin, prendre en charge les liens d'affiliation au niveau du magasin, gérer l'équipe pour l'ensemble du magasin, et plus encore.
De plus, certains de nos partenaires ont plusieurs magasins et marques, et il n'y a actuellement aucune interface utilisateur pour gérer plusieurs magasins sous le même compte.
C'est quelque chose que nous aimerions vraiment aborder dans un avenir proche.
Nettoyage et échappement du SDK WordPress
L'une des fonctions principales du SDK WordPress est fs_request_get()
. Cette fonction d'assistance est utilisée pour accéder aux paramètres GET/POST reçus du côté client, avec une valeur par défaut facultative lorsque le paramètre est manquant. Le nettoyage réel de l'entrée est effectué dans le cadre de l'utilisation de la fonction.
Les équipes de révision du plugin et du thème WordPress.org continuent de signaler à tort cette fonction d'assistance SDK car elle n'intègre pas la désinfection des données. Il s'agit d'une combinaison d'outils de test automatisés qui sont limités pour "voir" toute la portée du code, ainsi que de faux positifs soulevés par les réviseurs qui parcourent le code à la recherche de problèmes. Je ne peux pas leur en vouloir - l'examen du code d'un produit entier peut prendre beaucoup de temps - ce n'est tout simplement pas faisable avec un processus d'examen par des bénévoles.
En résumé, nous n'aimons pas l'impression négative que les développeurs qui rejoignent Freemius peuvent avoir de l'expérience de rejet avec wp.org, que ce soit de notre faute ou non. Par conséquent, avec la structure actuelle du processus d'examen et les ressources humaines disponibles, nous allons résoudre le problème et nettoyer ces données d'entrée en ligne. Bien que cela augmentera la taille du code (nous devrons dupliquer du code redondant) et affectera un peu les performances, nous sommes convaincus que c'est la meilleure décision pour l'avenir car nous croyons fermement en l'écosystème wp.org et voulons assurer notre SDK respecte correctement les directives du référentiel.
Tarification remaniée dans le tableau de bord
Si vous vendez des produits freemium avec Freemius, vous devez être familiarisé avec la page de tarification du tableau de bord du SDK. La page a été initialement développée en 2015 à l'aide d'anciennes technologies frontales. Elle est également très structurée et repose sur plusieurs hypothèses qui nous ont aidés à accélérer le développement à l'époque. De toute évidence, la page a subi un développement important car nous avons ajouté de nombreuses fonctionnalités au fil des ans. En raison de la technologie obsolète qu'il utilise, la maintenance, la correction des bogues et le développement de nouvelles fonctionnalités sont devenus de plus en plus lents. De plus, après avoir vu tant de structures de prix, nous avons une bien meilleure compréhension des limites de cette page. Enfin, nous souhaitons vous donner une flexibilité totale pour modifier le modèle de page de tarification, ce qui est actuellement impossible car il s'exécute à distance de notre côté.
Le plan est de reconstruire la page de tarification à partir de zéro en utilisant React et d'expédier le code dans le cadre du SDK. En fait, nous avons déjà commencé à travailler dessus et espérons l'inclure dans la prochaine version majeure du SDK.
Localisation de la caisse
J'en parlais l'année dernière, bien que nous n'ayons toujours pas réussi à prioriser celui-ci. Fondamentalement, nous voulons rendre la caisse accessible aux acheteurs non anglophones en introduisant des fonctionnalités multilingues.
Rendez-vous au WCEU 2019 !
C'est tout pour cette mise à jour les amis Si vous assistez à WordCamp Europe cette semaine, ne soyez pas un étranger, venez nous dire bonjour ! Brandon et moi (Vova) serons là - n'hésitez pas à nous contacter sur Twitter et rattrapons-nous.