La preferenza IPv6 / IPv4 è determinata dall'iniziatore di una connessione, ovvero dal browser web. Le regole di selezione dell'indirizzo sono definite in RFC 6724 . Mentre questi possono essere sovrascritti, è solo l'utente a riconfigurare il proprio sistema operativo.
L'unico modo per forzare qualcuno a utilizzare IPv4 è di non offrire affatto IPv6. Ovviamente questa non è una soluzione pratica anche a medio termine ...
Quindi, torniamo al problema originale: la geolocalizzazione per IPv6 è "un po 'più spessa che con IPv4".
In parte questo dipende molto da dove ottieni i tuoi dati di geolocalizzazione. Maxmind, ad esempio, fornisce il mio indirizzo IPv6 solo come "Stati Uniti", senza città e con un interessante insieme di coordinate , mentre Google identifica almeno correttamente l'area metropolitana a cui si trovano ancora a circa 50 miglia di distanza. Sia Maxmind che Google consentono correzioni di segnalazione e almeno per Maxmind chiunque può farlo per qualsiasi indirizzo IP.
Non mi aspetto che questa situazione duri molto a lungo. Man mano che l'utilizzo di IPv6 continua ad espandersi, gli utenti di tali servizi di geolocalizzazione richiederanno una maggiore precisione per gli indirizzi IPv6 e dovranno consegnarlo alla fine, almeno per i clienti paganti, per timore che quei clienti vadano altrove.
Nel frattempo, dovresti essere sicuro che la tua applicazione abbia altri modi per localizzare gli utenti. Se hanno effettuato l'accesso, è possibile leggere il loro account esistente per indizi sulla loro posizione. Potresti chiedere all'utente di selezionare esplicitamente un Paese. E così via...
Un'altra cosa che puoi fare è fornire un sottodominio solo IPv4 e un sottodominio solo IPv6 del tuo sito web, ognuno dei quali tenta di caricare le tue pagine. È quindi possibile correlarli dal lato client e riportarli al server. Non a caso Maxmind lo sta già facendo sul proprio sito web.