2012-04-18 15 views
7

Desidero reindirizzare il mio sito web a un'app specifica in Google Play Market se è aperta su un dispositivo Android. Ho seguito le istruzioni su http://developer.android.com/guide/publishing/publishing.html:Apri la pagina dei dettagli di google play per un'app tramite reindirizzamento javascript dal browser Android

"Display the details screen for a specific application: http://play.google.com/store/apps/details?id=<package_name>". 

grandi opere con un link che l'utente sta attivamente cliccando su:

<a href="http://play.google.com/store/apps/details?id=<package_name>">Download app</a> 

Ma se io sto rilevando il dispositivo con javascript e cercando di reindirizzare il browser passa automaticamente http: // ... a https: // ... e l'utente viene reindirizzato al sito web di Google Play anziché all'app Google Play sul telefono.

if(navigator.userAgent.toLowerCase().indexOf("android") > -1) { 
    if(confirm("Download app?")) { 
     window.location.href= "http://play.google.com/store/apps/details?id=<package_name>"; 
    } 
} 

C'è un modo per cambiare questo comportamento, il mio dispositivo di test è un Samsung Galaxy con Android 2.3.3?

+1

Come sulla modifica del href del collegamento (' Rajesh

+0

Ho provato ad attivare un evento click sul link con jquery ma non ha funzionato. Come intendi "modificare l'href del link"? Il collegamento stesso funziona, è il reindirizzamento JavaScript che fa sì che il browser Android sostituisca http: // con https: // –

+0

Mi chiedo, stai usando il browser predefinito o google chrome beta? Ho aggiunto il tuo snippet javascript a una pagina di test: con il browser predefinito sul mio Galaxy Nexus 4.0.2 funziona come ti aspetteresti. Comunque usando google chrome non mi viene data l'opzione "Completa l'azione usando", mi porta semplicemente al sito web - continuando a guardarlo nello – TerryProbert

risposta

14

Questo sembra funzionare. Il reindirizzamento apre l'applicazione Google Play durante l'utilizzo del browser predefinito, ma si traduce il link per https: // play.google ... quando si utilizza Chrome

if(navigator.userAgent.toLowerCase().indexOf("android") > -1) { 
    if(confirm("Download app?")) { 
     window.location.href= "market://details?id=<packagename>"; 
    } 
} 
+0

funziona !! Grazie. –

1

Se la risposta accettata non funziona o non riesce ad aprire in Chrome con questo errore

ERROR: ERR_UNKNOWN_URL_SCHEME

Modificare il window.location.href a window.location come questo

if(navigator.userAgent.toLowerCase().indexOf("android") > -1) { 
if(confirm("Download app?")) { 
    window.location= "market://details?id=<packagename>"; 
} 
} 
2

Se si vuole reindirizzare -Google Play app prova a farlo dal server.

I tentativi del lato client non funzioneranno.

esempio PHP

header("Location: market://details?id=com.your.app"); 
Problemi correlati