deepLink技术打开app内的某个页面

2023-11-01 13:40

本文主要是介绍deepLink技术打开app内的某个页面,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

现在很火的app上的deeplink技术,到底是什么?

来源:魔窗合作伙伴[ 互联网数据官],第一家聚焦于基于数据和大数据的互联网营销、运营、产品和管理的中立平台。

原创好文授权发布于魔窗,未经许可,谢绝转载。

作者:郭宇洋 为iCDO独家撰稿

本文版权为作者郭宇洋所有,未经作者许可,禁止转发。

主编前言:

Deeplink,简单讲,就是你在手机上点击一个链接之后,可以直接链接到app内部的某个页面,而不是app正常打开时显示的首页。不似web,一个链接就可以直接打开web的内页,app的内页打开,必须用到deeplink技术。什么是deeplink技术?如何实现的?郭宇洋的这篇文章有非常轻松易懂的说明,并且还提供了相当不错的参考资料。

目录

一、Deeplink

1、技术

2、标准&生态

二、Deeplink与在线展示广告(移动端)

一.Deeplink

1.技术

先点题,这里面核心的技术就是:URL SCHEMES。不论是IOS还是Android。

APP1与APP2之间,在技术上,如何完成横向调用,通过下面这个逻辑关系图进行说明:

假如要从APP-F调用APP-T

1)APP-T要进行自定义scheme的配置(iOS是info文件,Android是activity),并进行参数处理的coding。

2)APP-F进行调用,首先判断设备是否安装APP-T。

3)如果未安装,则跳转到APP-T的web版应用(假设他提供web版)或者是跳转到AppStore等应用市场进行下载。

4)如果已安装,则调用APP-T配置好的URL SCHEME,直接打开APP-T的相关界面。

【插播-简单介绍一下URL SCHEMES】

URL Schemes 有两个单词:

URL,我们都很清楚,http://www.apple.com 就是个 URL,也叫它链接或网址;Schemes,表示的是一个 URL 中的一个位置——最初始的位置,即 ://之前的那段字符。比如 http://www.apple.com 这个网址的 Schemes 是 http。

我们可以像定位一个网页一样,用一种特殊的 URL 来定位一个应用甚至应用里某个具体的功能。而定位这个应用的,就应该这个应用的 URL 的 Schemes 部分,也就是开头儿那部分。但是需要注意的是应用的URL Schemes 并不唯一,也就是说一个应用可以“起多个名“,不同应用的URL Schemes也可能因为名字一样发生冲突。

iOS系统级应用,有一些已经定义了URL Schemes,比如短信是 sms:、

通话是tel:、iBooks是ibooks:,在定义自己APP的URL Schemes的时候要避免跟系统应用名称一样。

与URL一样,URL Schemes也可以通过传参打开特定的APP界面。

URL:http://images.google.com/images?q=关键字

URL Schemes:weixin://dl/moments(打开微信朋友圈)

所以,这一段总结一下。

1) APP要想被其他APP直接打开,自身得支持,让自己具备被人打开的能力。(URL Schemes)

2) APP要想打开其他的APP,自身也得支持。(判断设备是否安装、各种跳转的处理)

1、 标准&生态

URL Schemes从技术虽然可以解决这个问题,但是,仍有诸多问题,以下列举几个

1) 跨平台,不同系统间的无缝链接

2) 数据传输标准

3) URL Schemes命名规范

4) 传参与解析标准

举几个例子,比如跨平台,假如手机里收到好友分享的一些URL Schemes链接,但是你们俩不是一个平台,那就会出现一些想不到的问题。如下图:短信形式发送的淘宝APP的链接,我是安装手机,我是打开还是打开还是打开呢。

再比如,URL Schemes的命名,现在世界范围内,千奇百怪。

· Coursera 的 URL 是:coursera-mobile:

· Duet 这款游戏的 URL 是:x-kumo-duet:

· Monument 这款游戏的 URL 是:fb690517270143345:

· Feedly 的 URL 是:fb129765800430121:

· 扇贝新闻的 URL 是:wx95962d02b9c3e2f7:

所以这一段小结一下。

Deeplink从宏观角度,需要有业界统一标准与规范,才有可能形成一定的气候。

目前一些巨头都推出自己的标准,在拓展自己的标准,有人用的标准才是真标准,这就带出了另一个概念——生态。

在统一的标准下,只有当APP接入到一定的量级,形成一个生态,我们畅想的那种APP间无缝衔接的场景才会真正实现。

【插播-巨头的标准】

Facebook:App Links

Twitter:Card

Google:INDEXING

除了巨头以外,还有一些公司也在做一些API、sdk:DEEPLINK.ME、BRANCH METRICS、URX、QUIXEY,还有国内的“应用链“公司。

Fb没有操作系统,是想借AppLinks截胡,据说已经有10亿的deeplink接入。

也有一个这样的行业联盟:http://mobiledeeplinking.org/

国内比如bat也在布局这方面的应用。

三个参考阅读:

1|http://mashable.com/2014/04/30/facebook-app-links/?utm_campaign=Mash-Prod-RSS-Feedburner-All-Partial&utm_cid=Mash-Prod-RSS-Feedburner-All-Partial&utm_medium=feed&utm_source=feedly&utm_reader=feedly#O5e1nlKn.iq4

2|http://marketingland.com/facebooks-applinks-hit-1-billion-deep-links-adds-back-button-previous-app-88751

3|http://36kr.com/p/212554.html

二、Deeplink与在线展示广告(移动端)

聚焦到deeplink技术在移动端展示广告上的应用,目前从爆出来的新闻看,品友互动已经在投了。

http://tech.china.com/data/11022462/20150818/20220217.html

应该来讲,deeplink技术比较适用于独立电商、金融理财APP,一方面这类APP的广告内容可以是平台的商品(产品),链接后直接进入相关商品(产品)的详情页,另一方面,这类APP在打开后是会产生后续的交易行为。

其他类型的APP,比如工具类(地图、天气等)、游戏类、读书类等相对来讲则不是特别的适用。

复习一下上文总结的几个情况:

1) APP要想被其他APP直接打开,自身得支持,让自己具备被人打开的能力。(URL Schemes)

2) APP要想打开其他的APP,自身也得支持。(判断设备是否安装、各种跳转的处理)

3) Deeplink从宏观角度,需要有业界统一标准与规范,才有可能形成一定的气候。

4) 在统一的标准下,只有当APP接入到一定的量级,形成一个生态,我们畅想的那种APP间无缝衔接的场景才会真正实现。

Deeplink在移动端展示广告上的应用势必也深深的受这个大环境的影响。然而事情还是得做,在这种大环境下,如何做广告,通过下图来说明。

说明,从下到上,分别是:

1) 有一个基础,广告主的APP需要支持,投放前谈好,各种跳转的处理。

2) 按平台进行定投,解决跨平台问题,避免流量和曝光的浪费。

3) 将广告主app的url scheme地址、未安装跳转地址传给adx(未安装跳转有三种情况,1是打开wap网页,这种不区分Android和iOS,统一是一个landing page的地址,2是Android的包名,用户跳转到Android推广的渠道应用市场。3是iOS推广,这里要用到appid)。

4) 点击广告后,媒体端就开始通过js来做判断,完成各种逻辑的处理,jssdk一般是adx给到媒体,如果不用jssdk,媒体直接加了adx的系统sdk,也可以完成跳转逻辑的处理。

如下图,品友互动和苏宁云商,直接到商品详情页,后续只有加入购物车与支付两个转化流程,大大缩减了转化路径。

目前在几个比较大的adx平台比如广点通、tanx等都已经逐渐有一些媒体流量开始支持投放,作为一个不错的卖点,各个adx还是有动力在推进这件事。

附录:一些常用APP的URL Schemes

知乎

回答 zhihu://answers/{id}用户页 zhihu://people/{id}

微信

weixin://dl/scan 扫一扫weixin://dl/feedback 反馈weixin://dl/moments 朋友圈weixin://dl/settings 设置weixin://dl/notifications 消息通知设置weixin://dl/chat 聊天设置weixin://dl/general 通用设置weixin://dl/officialaccounts 公众号weixin://dl/games 游戏weixin://dl/help 帮助weixin://dl/feedback 反馈weixin://dl/profile 个人信息weixin://dl/features 功能插件

腾讯微博:TencentWeibo://

淘宝:taobao://

支付宝:alipay://

微博:sinaweibo://

weico微博:weico://

QQ浏览器:mqqbrowser://

uc浏览器:ucbrowser://

海豚浏览器:dolphin://

搜狗浏览器:SogouMSE://

百度地图:baidumap://

Chrome:googlechrome://

优酷:youku://

京东:openapp.jdmoble://

人人:renren://

美团:imeituan://

1号店:wccbyihaodian://

我查查:wcc://

有道词典:ddictproapp://

点评:dianping://

微盘:sinavdisk://

豆瓣fm:doubanradio://

网易公开课:ntesopen://

名片全能王:camcard://

淘宝宝贝搜索:taobao://http://s.taobao.com/?q=[prompt]

淘宝店铺搜索:taobao://http://shopsearch.t

作者简介:

郭宇洋,互联网广告产品经理,主要专注于移动端的变现与数字营销,iCDO原创作者。

这篇关于deepLink技术打开app内的某个页面的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/323379

相关文章

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Android App安装列表获取方法(实践方案)

《AndroidApp安装列表获取方法(实践方案)》文章介绍了Android11及以上版本获取应用列表的方案调整,包括权限配置、白名单配置和action配置三种方式,并提供了相应的Java和Kotl... 目录前言实现方案         方案概述一、 androidManifest 三种配置方式

Android WebView无法加载H5页面的常见问题和解决方法

《AndroidWebView无法加载H5页面的常见问题和解决方法》AndroidWebView是一种视图组件,使得Android应用能够显示网页内容,它基于Chromium,具备现代浏览器的许多功... 目录1. WebView 简介2. 常见问题3. 网络权限设置4. 启用 JavaScript5. D

Flutter监听当前页面可见与隐藏状态的代码详解

《Flutter监听当前页面可见与隐藏状态的代码详解》文章介绍了如何在Flutter中使用路由观察者来监听应用进入前台或后台状态以及页面的显示和隐藏,并通过代码示例讲解的非常详细,需要的朋友可以参考下... flutter 可以监听 app 进入前台还是后台状态,也可以监听当http://www.cppcn

MySQL表锁、页面锁和行锁的作用及其优缺点对比分析

《MySQL表锁、页面锁和行锁的作用及其优缺点对比分析》MySQL中的表锁、页面锁和行锁各有特点,适用于不同的场景,表锁锁定整个表,适用于批量操作和MyISAM存储引擎,页面锁锁定数据页,适用于旧版本... 目录1. 表锁(Table Lock)2. 页面锁(Page Lock)3. 行锁(Row Lock

禁止HTML页面滚动的操作方法

《禁止HTML页面滚动的操作方法》:本文主要介绍了三种禁止HTML页面滚动的方法:通过CSS的overflow属性、使用JavaScript的滚动事件监听器以及使用CSS的position:fixed属性,每种方法都有其适用场景和优缺点,详细内容请阅读本文,希望能对你有所帮助... 在前端开发中,禁止htm

解决jupyterLab打开后出现Config option `template_path`not recognized by `ExporterCollapsibleHeadings`问题

《解决jupyterLab打开后出现Configoption`template_path`notrecognizedby`ExporterCollapsibleHeadings`问题》在Ju... 目录jupyterLab打开后出现“templandroidate_path”相关问题这是 tensorflo

macOS怎么轻松更换App图标? Mac电脑图标更换指南

《macOS怎么轻松更换App图标?Mac电脑图标更换指南》想要给你的Mac电脑按照自己的喜好来更换App图标?其实非常简单,只需要两步就能搞定,下面我来详细讲解一下... 虽然 MACOS 的个性化定制选项已经「缩水」,不如早期版本那么丰富,www.chinasem.cn但我们仍然可以按照自己的喜好来更换