ios app url scheme跳转到淘宝商品详情页 唤醒app
时间:2022-04-26
本文章向大家介绍ios app url scheme跳转到淘宝商品详情页 唤醒app,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
好的东西就应该大家一块分享。
今天项目中要求,类似于启动页是淘宝的广告,然后点击广告,跳转到淘宝的详情页。
实现这个要求我是各种百度,不过最后发现呢,大部分东西都是千篇一律。
第一种:只是提供了天猫的跳转,并没有提供淘宝的跳转。
第二种:就是使用阿里百川的sdk,这样的话对我我来说是觉得有点大材小用的毕竟只是一个广告页而已。
第三种:就是我通过不懈的努力,终于被我给发现了。
现在我就要记录下来。
- (void)showItemInTmall4iOS:(NSString *)itemId
{
NSURL *url;
if([itemId rangeOfString:@"detail.tmall."].location != NSNotFound) //判断Url是否是天猫商品的链接
{
NSRange range = [itemId rangeOfString:@"id="]; //在URL中找到商品的ID
if(range.location != NSNotFound)
{
NSString *productID = [itemId substringWithRange:NSMakeRange(range.location + 3, 11)];
NSString *appUrl = [NSString stringWithFormat:@"tmall://tmallclient/?{"action":"item:id=%@"}", productID];
url = [NSURL URLWithString:[appUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
if ([[UIApplication sharedApplication] canOpenURL:url])
{
// 如果已经安装天猫客户端,就使用客户端打开链接
[[UIApplication sharedApplication] openURL:url];
}
else
{
//客户手机上没有装天猫客户端,这时启动浏览器以网页的方式浏览该商品。
url = [NSURL URLWithString:[itemId stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
[[UIApplication sharedApplication] openURL:url];
}
}
}
}
- (void)showItemInTaobao4iOS:(NSString *)itemId
{
// 构建淘宝客户端协议的 URL
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"taobao://item.taobao.com/item.htm?id=%@", itemId]];
// 判断当前系统是否有安装淘宝客户端
if ([[UIApplication sharedApplication] canOpenURL:url]) {
// 如果已经安装淘宝客户端,就使用客户端打开链接
[[UIApplication sharedApplication] openURL:url];
} else {
// 否则使用 Mobile Safari 或者内嵌 WebView 来显示
url = [NSURL URLWithString:[NSString stringWithFormat:@"http://item.taobao.com/item.htm?id=%@", itemId]];
// [[UIApplication sharedApplication] openURL:url];
[self tongwanWeb:url];
}
}
这样就可以了,简单大方。
-------
有同学反映说,为什么按照你的代码写了,但是不好使呢?
eeee,这个问题
要成功的实现跳转,你需要做的工作 还有 就是需要在plist文件里边的url 里边分别添加上 淘宝 跟天猫的url
分别是 CFBundleURLTypes taobao - taobao tmall:// - tmall://
还有就是需要在下边的
LSApplicationQueriesSchemes
taobao
tmall
果然 用心爱过的人不会忘,用心做过的程序记记也能记起来。
-----------跳转京东客户端
-(void)tojd:(NSString *)itemId{
//这个是京东店铺的链接
// https://jinjinshang.jd.com
//这个是京东的商品链接
// https://item.jd.com/4922289.html
//
//
// 方法1
// URL详情页
NSString *qianUrl = @"openapp.jdmobile://virtual?params=%7B%22sourceValue%22:%220_productDetail_97%22,%22des%22:%22productDetail%22,%22skuId%22:%22";
NSString *skuid = @"4922289";
NSString *houUrl =@"%22,%22category%22:%22jump%22,%22sourceType%22:%22PCUBE_CHANNEL%22%7D";
NSString *urlString=[NSString stringWithFormat:@"%@%@%@",qianUrl,skuid,houUrl];
NSURL *url=[NSURL URLWithString:urlString];
[[UIApplication sharedApplication] openURL:url];
// 判断当前系统是否有安装淘宝客户端
if ([[UIApplication sharedApplication] canOpenURL:url]) {
// 如果已经安装淘宝客户端,就使用客户端打开链接
[[UIApplication sharedApplication] openURL:url];
} else {
// 否则使用 Mobile Safari 或者内嵌 WebView 来显示
NSString *url = [NSString stringWithFormat:@"http://item.taobao.com/item.htm?id=%@",itemId];
LSH5VC *vc = [[LSH5VC alloc]init];
vc.webUrl = url;
[self.navigationController pushViewController:vc animated:YES];
}
}
- POJ 1655 Balancing Act(树的重心)
- Python黑帽编程 4.1 Sniffer(嗅探器)之数据捕获(上)
- Django之ORM其他骚操作
- Centos 7下 FTP 服务器
- Django之views系统
- Brackets
- django之urls系统
- 最长公共子序列(稀疏序列)nlogn解法
- P1776 宝物筛选_NOI导刊2010提高(02)(背包的二进制优化)
- PYTHON黑帽编程 4.1 SNIFFER(嗅探器)之数据捕获(下)
- 3002 石子归并 3
- day2 oracle相关
- P2946 [USACO09MAR]牛飞盘队Cow Frisbee Team
- Django 中间件
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- Android实现3D层叠式卡片图片展示
- Android Studio屏幕方向以及UI界面状态的保存代码详解
- webshell,禁止你执行
- android实现下拉菜单三级联动
- Flutter 假异步的实现示例
- 详解Android4.4 RIL短信接收流程分析
- android 使用kotlin 实现点击更换全局语言(中日英切换)
- EasySec基于XP的渗透平台
- Android集成腾讯X5实现文档浏览功能
- 8个小时8个小时的上机课!!
- Android实现根据评分添加星级条
- Android悬浮窗的实现(易错点)
- phpcms上传导致getshell详解及案例
- android popupwindow用法详解
- SpringAOP + 注解实现日志管理