2016-07-13 4 views
8

ich folgenden Code verwenden zum Prüfen, ob der Benutzer der Website in App geöffnet oder nichtüberprüfen Benutzer die Website in App öffnen oder nicht

$ua = strtolower($_SERVER['HTTP_USER_AGENT']); 
    if(stripos($ua,'android') && stripos($ua,'mobile') !== false) { 
    if($_SERVER['HTTP_X_REQUESTED_WITH'] == "apppackagename") { 
    echo "Opening with App"; 
    } 
    } 

Aber das funktioniert nicht in einigen Geräten wie.

GT - S7582 Android Version 4.2.2

Gibt es eine Lösung für diese in Vorrichtungen der alten Version zu arbeiten?

Vielen Dank im Voraus!

+0

Was möchten Sie beheben? – greenapps

+0

@greenapps Bitte überprüfen Sie meine Bearbeitung – Sree

+0

Was Sie reparieren möchten, ist unklar. – greenapps

Antwort

4

legen Sie einfach im oberen https://github.com/serbanghita/Mobile-Detect/blob/master/Mobile_Detect.php Es ist ein leichtes Bibliothek und erfordert nur eine einzige Datei aufzunehmen.

zum Beispiel:

require_once('Mobile_Detect.php'); 
$device = new Mobile_Detect(); 

if ($device->isMobile()) { 
    if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && 
     $_SERVER['HTTP_X_REQUESTED_WITH'] == "apppackagename") { 
      echo "Opening with App"; 
     } 
} 

wenn Sie android erkennen wollen, dann können Sie Folgendes eingeben:

$device->isAndroidOS() 

Es ist der zuverlässigste Weg, ein mobiles Gerät (aber auch nicht kugelsicher) zu erfassen. Es gibt keine Möglichkeit für eine zuverlässige mobile Erkennung mit einem einfachen User Agent Check.

Wenn Sie in die Quelle https://raw.githubusercontent.com/serbanghita/Mobile-Detect/master/Mobile_Detect.php schauen, können Sie sehen, dass GT-S7582 unterstützt wird.

1

Ich würde empfehlen, eine Bibliothek zu verwenden, die eine stabile Reihe von Überprüfungen für die Erkennung von Mobilgeräten/Apps aufweist. Der Vorteil davon ist, dass Sie erwarten können, dass das Framework zukünftige Geräte unterstützt, indem Sie einfach Ihre Bibliothek aktualisieren, anstatt sie selbst neu zu codieren. Mobil-Detect zu sein, ist es Open Source und hat aktive Beiträge

Für PHP scheint: https://github.com/serbanghita/Mobile-Detect

+0

Danke für die Antwort :) Das ist hilfreich. Aber ich möchte keine Bibliothek benutzen – Sree

1

Wenn Sie ausblenden möchten, welchen Fehler Sie array_key_exists in Sie Code verwenden müssen:

$ua = strtolower($_SERVER['HTTP_USER_AGENT']); 
if(stripos($ua,'android') && stripos($ua,'mobile') !== false) { 
    if(array_key_exists('HTTP_X_REQUESTED_WITH', $_SERVER) { 
     if($_SERVER['HTTP_X_REQUESTED_WITH'] == "apppackagename") { 
      echo "Opening with App"; 
     } 
    } else { 
     echo "Sorry... I don't see a package!"; 
    } 
} 

Die Funktion array_key_existsPrüft, ob ein Schlüssel oder Index existiert in dem Array“.

Vielleicht in der Zukunft benötigen Sie eine andere Fehler verbergen, so können Sie verwenden @ zu mute Fehler. See here.

Verwandte Themen