Universal Links链接跳转APP

2019-12-20  本文已影响0人  倪大头

需要域名配置ssl证书,apache配置ssl证书,ssl证书我用的阿里云免费的

apache配置文件(vim /etc/httpd/conf/httpd.conf)

LoadModule ssl_module modules/mod_ssl.so
LoadModule rewrite_module modules/mod_rewrite.so

ssl配置文件(vim /etc/httpd/conf.d/ssl.conf)

Listen 443 https
ServerName www.你的域名.com:443
SSLCertificateFile /etc/httpd/cert/www.你的域名.com_public.crt
SSLCertificateKeyFile /etc/httpd/cert/www.你的域名.com.key
SSLCertificateChainFile /etc/httpd/cert/www.你的域名.com_chain.crt

SSLCertificateFile,SSLCertificateKeyFile,SSLCertificateChainFile是从阿里云下载的你的域名的ssl证书,下载是时候需要区分apache、nginx或其他类型,在apache安装目录下创建一个文件夹(我的是/etc/httpd/cert),把下载好的证书拷贝进来

在服务器网站根目录下(我的是/var/www/html/,这个路径在httpd.conf里可以改)创建一个没有后缀名的文件,文件名为apple-app-site-association,内容为json:

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "teamId.应用bundleId",
                "paths": [ "*" ]
            },
        ]
    }
}

重启apache:systemctl restart apache

XCode里也要配置下


image.png

applinks:加上你的域名

安装app到手机,把你的域名复制到手机备忘录里,点击备忘录就会跳转你的app了
在Appdelegate.m里加入回调处理事件:

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {
    if ([userActivity.activityType isEqualToString:NSUserActivityTypeBrowsingWeb]) {
        NSURL *webUrl = userActivity.webpageURL;
 
    }
    return YES;
}

PS:测试时把APP删除,再重新安装,这时APP会从服务器下载apple-app-site-association

上一篇 下一篇

猜你喜欢

热点阅读