javascript - 如何检测用户是否拥有来自网站的移动应用程序并打开该应用程序

标签 javascript php android jquery ios

我的网站不是移动响应式的,但我有一个适用于 AndroidiOS 的移动应用程序。当人们使用这两个平台之一访问我的网站时,我想将他们引导至我的移动应用程序。

如果他们已经有我的移动应用程序,我希望它自动打开该应用程序,否则我希望将此人重定向到 Google Play 商店或 Apple AppStore 以下载移动应用程序。

我不知道该怎么做。请帮助我提供有关如何执行此操作的提示。

<?php
class UserInfo{

    private static function get_user_agent() {
        return  $_SERVER['HTTP_USER_AGENT'];
    }

    public static function get_os() {

        $user_agent = self::get_user_agent();
        $os_platform    =   "Unknown OS Platform";
        $os_array       =   array(
            '/windows nt 10/i'      =>  'Windows 10',
            '/windows nt 6.3/i'     =>  'Windows 8.1',
            '/windows nt 6.2/i'     =>  'Windows 8',
            '/windows nt 6.1/i'     =>  'Windows 7',
            '/windows nt 6.0/i'     =>  'Windows Vista',
            '/windows nt 5.2/i'     =>  'Windows Server 2003/XP x64',
            '/windows nt 5.1/i'     =>  'Windows XP',
            '/windows xp/i'         =>  'Windows XP',
            '/windows nt 5.0/i'     =>  'Windows 2000',
            '/windows me/i'         =>  'Windows ME',
            '/win98/i'              =>  'Windows 98',
            '/win95/i'              =>  'Windows 95',
            '/win16/i'              =>  'Windows 3.11',
            '/macintosh|mac os x/i' =>  'Mac OS X',
            '/mac_powerpc/i'        =>  'Mac OS 9',
            '/linux/i'              =>  'Linux',
            '/ubuntu/i'             =>  'Ubuntu',
            '/iphone/i'             =>  'iPhone',
            '/ipod/i'               =>  'iPod',
            '/ipad/i'               =>  'iPad',
            '/android/i'            =>  'Android',
            '/blackberry/i'         =>  'BlackBerry',
            '/webos/i'              =>  'Mobile'
        );

        foreach ($os_array as $regex => $value) {
            if (preg_match($regex, $user_agent)) {
                $os_platform    =   $value;
            }
        }   
        return $os_platform;
    }
?>

最佳答案

在 Android 上,您可以使用 app links为您的域。在 iOS 上,您有类似的技术,universal links .在您的移动应用程序中设置这些并将用户重定向到此类深层链接以在您的应用程序中打开内容。如果安装了该应用程序,它会捕获该重定向并可以继续与用户交互。如果没有,则打开链接上托管的网页。

关于javascript - 如何检测用户是否拥有来自网站的移动应用程序并打开该应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55313309/

相关文章:

java - 增量定时器

javascript - 如何捕获并恢复 javascript 中的全局错误?

javascript - 尝试使用 $(window).load 函数进行 .scrollLeft 但不起作用

java - Android - 忘记 keystore 密码。我可以解密 keystore 文件吗?

php - 不同的图像出现在不同的页面上(WordPress/PHP)

PHP 计算 MySQL 查询中 2 列的总和 WHERE id 匹配

android - 制作一个android map 菜单来改变 map 类型

javascript - Mongoose.model ('model_name' ) 当 mongoose 模型模式文件中需要函数时返回空对象

javascript - 对 Discord Bot 使用 ffmpeg 静态而不是二进制文件

php - 在 codeigniter 中检查电子邮件