我是靠谱客的博主 谨慎金针菇,最近开发中收集的这篇文章主要介绍手机网页通过js打开app,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

因为公司市场需要,然后花了点时间研究下,本身是做的混合式APP嘛,有兴趣的大佬可以研究下

先说重点:

1. 第三方浏览器通过网页打开app的普遍方法是通过scheme命令直接打开。

2. 微信或QQ浏览器通过网页打开app最完善的方法是上传应用宝。

3. 微信或QQ浏览器通过网页打开app只有ios9以上可实现(Android和Ios 9以下除外)。

废话不说,上代码:

一。 第三方浏览器直接打开app。

此处推荐做法:在页面加载的时候尝试打开,加载完毕点击跳转到下载(推荐)。【注:此方式弊端为ios safari浏览器打开时,会提示无法打开

二。微信或QQ浏览器直接打开app。

注:此方法仅适用于苹果ios9以上系统。


准备以下stuff:
1. 独立域名。
2. SSL证书。
3. 被签名的json文件。
4. Xcode 7・iOS 9 SDK
5. Capabilities
6. AppDelegate的代理设置

步骤:


1. 在Capabilities的设置中,设置`Associated Domains’的Domains内容

例:https://www.facebook.com/ -> applinks:facebook.com

apple-app-site-association文件的配置

注:apple-app-site-association文件一定要放在服务器的根目录下。

复制代码

 1 {
 2   "applinks": {
 3     "apps": [],
 4     "details": {
 5       "TBEJCS6FFP.com.domain.App": {
 6         "paths":[ "*" ]
 7       }
 8     }
 9   }
10 }

paths中的内容为对应App启动的链接路径

全路径的时候使用“*”。

特定位置的时候需要指定具体内容,

1 ["/wwdc/news/", /videos/wwdc/2015/*]

 TBEJCS6FFP.com.domain.App这部分使用的是你的TeamID和Bundle Identifier

 

3. 对apple-app-site-association文件的签名

1 cat apple-app-site-association-unsigned.js | openssl smime -sign -inkey g01-server.key -signer g01-server.crt -certfile  g01-dvcacert.cer -noattr -nodetach -outform DER > apple-app-site-association

4. App对应的开发

在AppDelegate.m文件中添加以下代码

复制代码

 1 - (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler
 2 {
 3     NSLog(@"continueUserActiity enter");
 4     NSLog(@"tAction Type : %@", userActivity.activityType);
 5     NSLog(@"tURL         : %@", userActivity.webpageURL);
 6     NSLog(@"tuserinfo :%@",userActivity.userInfo);
 7      
 8     NSLog(@"continueUserActiity exit");
 9     restorationHandler(nil);
10      
11     NSHTTPCookieStorage *sharedHTTPCookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
12     NSArray *cookies = [sharedHTTPCookieStorage cookiesForURL:userActivity.webpageURL];
13  
14      NSLog(@"COOKIE{name: %@", cookies);
15     return true;
16 }

复制代码

如代码所示,我们可以获取到跳转链接的一些基本信息

URL内容,ActionType等都是可以获取并且在代码中进行修改的。

 

微信或QQ浏览器打开ios9以上app 结束。

 

三。微信或QQ浏览器通过应用宝直接打开app

 

此方法有待完善(事实是我也没有处理过)。

最后

以上就是谨慎金针菇为你收集整理的手机网页通过js打开app的全部内容,希望文章能够帮你解决手机网页通过js打开app所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部