最近做iOS项目的时候遇到一个需求,点击广告页,跳转到淘宝或天猫的商品详情页。

具体需要是这样:

1)安装了淘宝:跳转到淘宝详情页。

2)没装淘宝,装了天猫:跳转到天猫详情页

3)淘宝、天猫都没装:跳转到应用自己的页面,加载网页。

或者跳转到Safari浏览器

1)可以使用阿里百川的SDK完成。  文档地址:http://baichuan.taobao.com/doc2/detail.htm?spm=a3c0d.7629140.0.0.fXnfzs&treeId=51&articleId=102860&docType=1

2)拿到淘宝、天猫url scheme及相应的链接,自己完成跳转。代码如下:

  //loadURL 网店地址  loadURL 网店地址不加  http://  可以前后台商议 此为不加方法

    //NSURL *taobaoUrl = [NSURL URLWithString:[NSString stringWithFormat:@"taobao://item.taobao.com/item.htm?id=%@", book_id]];

    //NSURL *tmallUrl = [NSURL URLWithString:[[NSString stringWithFormat:@"tmall://tmallclient/?{\"action\":\"item:id=%@\"}", book_id] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

    NSURL *taobaoUrl = [NSURL URLWithString:[NSString stringWithFormat:@"taobao://@", loadURL]];

    NSURL *tmallUrl = [NSURL URLWithString:[[NSString stringWithFormat:@"tmall://%@",loadURL}",       book_id] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

    NSURL *defaultUrl = [NSURL URLWithString:[NSString stringWithFormat:@"http://%@", loadURL]];

    if ([[UIApplication sharedApplication] canOpenURL:taobaoUrl]) {

        //能打开淘宝就打开淘宝

        [[UIApplication sharedApplication] openURL:taobaoUrl];

    } else if ([[UIApplication sharedApplication] canOpenURL:tmallUrl]) {

        //能打开天猫就打开天猫

        [[UIApplication sharedApplication] openURL:tmallUrl];

    } else {

        //都打不开就加载自己的网页

       /*

        KGAdWebVC *adWebVC = [[KGAdWebVC alloc] init];

        adWebVC.url = splash_url;

        [self.navigationController pushViewController:adWebVC animated:YES];

        */

       //跳浏览器

       [[UIApplication sharedApplication] openURL:tmallUrl];

    }

当用户从外部浏览器(如:UC、Safari)点击有关app的按钮时,实现一下功能

1、用户未安装app,点击按钮跳转到app的下载页面

2、用户已安装app,点击按钮打开app并显示指定页面(如注册,登录等)

首先我们给app添加一个URL Types,用于给web打开的接口

 

然后我们在web的代码中添加一下脚本即可

添加完以后,测试结果如下:

1、如果用户未安装app,点击按钮跳转到app的下载页面

2、用户已安装app,点击按钮只能打开app

二、实现跳转到app指定页面

在web页面里设置参数,

如果要实现跳转到指定页面,就需要传 参数 表示跳转到哪个页面,只需要在上面的网址里:即 ifr.src = 'com.zttd.webApp//参数'

例如跳到登录页面:ifr.src = 'com.zttd.webApp//Login'

在APP里接收该参数,并解析进行跳转,需要在AppDelegate文件里实现以下两种方法,最好两种都写,否则可能接收不到数据,接收到该参数后,进行解析通过通知并跳转到指定页面

												

iOS - 小功能 跳转到淘宝或天猫的商品展示详情页的更多相关文章

  1. Android点击跳转到淘宝的某一商品详情页或者某一店铺页面

    最近项目的有个需求是点击购买资料按钮进入淘宝界面,简单分析一下,如果用户手机有淘宝就打开淘宝的页面,没有的话也可以选择使用webView进行展示,还是使用手机浏览器进行展示. 判断有无淘宝的代码就不贴 ...

  2. Android跳转淘宝、京东APP商品详情页

    import Android.content.Intent; import android.content.pm.PackageManager; import android.net.Uri; imp ...

  3. iOS app url scheme跳转到淘宝商品详情页 唤醒app

    最近涉及的一个业务,在app内的一个广告,点击打开webView,加载的是一个淘宝商品详情页,效果是打开该webView自动跳转至淘宝对应的页面,同时在自己的app仍然加载页面,点击评论等也同样能跳转 ...

  4. 淘宝、天猫又开源了一个动态化、高性能的UI框架

    前言 淘宝.天猫一直致力于解决 页面动态化的问题 在2017年的4月发布了v1.0解决方案:Tangram模型 及其对应的 Android库 vlayout,该解决方案在手机淘宝.天猫 Android ...

  5. 淘宝开放平台TOP SDK调用对接淘宝或天猫

    如果在淘宝/天猫上开了网店,用户自己也有一套自己的管理平台,这时可能会考虑和淘宝进行数据对接.这就需要考虑调用阿里提供的开发接口来推送和接收数据. 对接的方式有2种,一种是通过http接口,另外一种是 ...

  6. BBS项目分布搭建三(个人站点时间归档补充,实现侧边栏跳转、无线级分类、实现文章详情页展示功能)

    BBS项目分布搭建三(个人站点时间归档补充,) 1. 个人站点时间归档 """ settings.py设置最好更改以下: LANGUAGE_CODE = 'zh-hans ...

  7. iOS开发——UI进阶篇(十)导航控制器、微博详情页、控制器的View的生命周期

    一.导航控制器出栈 1.initWithRootViewController本质 UIViewController *vc = [[OneViewController alloc] init]; // ...

  8. ios小功能

    1.开 发过程中,我们通过http请求,后台返回json数据,而有时数据里某一字段的值为null-,然后我们把此值赋值给 NSArray,NSdictionary,或是NSString,然后我们会判断 ...

  9. ios学习笔记图片+图片解释(c语言 oc语言 ios控件 ios小项目 ios小功能 swift都有而且笔记完整喔)

    下面是目录其中ios文件夹包括了大部分ios控件的介绍和演示,swift的时完整版,可以学习完swift(这个看的是swift刚出来一周的视频截图,可能有点赶,但是完整),c语言和oc语言的也可以完整 ...

随机推荐

  1. 【Java 8】巧用Optional之优雅规避NPE问题

    避之不及的 NullPointerException NPE : NullPointerException 空指针异常是最常见的Java异常之一,抛出NPE错误不是用户操作的错误,而是开发人员的错误, ...

  2. Maven的具体使用和优点

    1.Apache软件基金会提供的项目自动化构建和项目管理软件. 基于项目对象模型(POM)概念,Maven利用一个中央信息片段能管理一个项目的构建.报告.文档等步骤. 官方网站:http://mave ...

  3. 【软工实践】Beta冲刺(5/5)

    链接部分 队名:女生都队 组长博客: 博客链接 作业博客:博客链接 小组内容 恩泽(组长) 过去两天完成了哪些任务 描述 将数据分析以可视化形式展示出来 新增数据分析展示等功能API 服务器后端部署, ...

  4. [转]eclipse中 properties文件编码问题

    原文地址:https://blog.csdn.net/uestcong/article/details/6635123 1. Eclipse修改设置项目中用到了配置文件,所以在Eclipse中新建.p ...

  5. ISO/IEC 9899:2011 前言

    前言 1.ISO(国际标准组织)与IEC(国际电工技术委员会)为全世界标准形成了专门的系统.作为ISO或IEC成员的国家机构,通过由各自组织所建立的技术委员会来加入国际标准的开发,以处理特定领域的技术 ...

  6. 从Linux服务器下载文件夹到本地

    从Linux服务器下载文件夹到本地 1.使用scp命令 scp /home/work/source.txt work@192.168.0.10:/home/work/ #把本地的source.txt文 ...

  7. Spring cloud微服务安全实战-7-9自定义日志采集的格式和内容

    怎么来控制输出的日志的格式.并且从日志里面提取出来我想要的一些信息. 整个的message是一个大的json格式字符串. 虽然是可以通过关键字搜索到.但是日志看起来并不舒服. 在我们的控制台,日志实际 ...

  8. [IR] Inverted Index & Boolean retrieval

    教材:<信息检索导论> 倒排索引 How to build Inverted Index? 1. Token sequence. 2. Sort by terms. 3. Dictiona ...

  9. 转 : 请问mysql如何确定一个库是主库还是从库。

    select user,host from mysql.user;SELECT Repl_slave_priv,Repl_client_priv,super_priv,host FROM mysql. ...

  10. 解决在manjaro下,vscode无法将chrome作为默认浏览器打开

    Same issue. The solution is simple. Find the name of the exec command, for google chrome in arch lin ...