深度链接能将用户导向应用中的特定事件或页面。此功能可确保用户被直接转到他们在智能横幅中看到的内容,打造流畅无缝的体验。智能横幅 SDK 支持纯字符串动态深度链接和包含占位符的深度链接模板。占位符由 SDK 使用深度链接上下文或网页 URL 的 GET 参数填充。
在智能横幅 SDK 中配置动态深度链接的方法有两种:
-
向
AdjustSmartBanner.init
函数发送参数。- 通过配置
context
对象提供上下文信息。
- 通过配置
-
调用
setAndroidDeepLinkPath
和setIosDeepLinkPath
setter。- 调用
setContext
setter 提供上下文 - 使用GET 参数提供上下文
- 调用
配置您的深度链接路径和上下文 setter
使用这些函数来配置您的动态深度链接并设置动态上下文。
设置深度链接路径
您必须使用setAndroidDeepLinkPath
和setIosDeepLinkPath
setter 函数为目标移动平台配置深度链接路径。这些函数接受一个字符串值,该值可以是绝对路径也可以是模板路径。
要设置深度链接路径,请使用各平台的事件或视图相关路径调用AdjustSmartBanner.setIosDeepLinkPath
和AdjustSmartBanner.setAndroidDeepLinkPath
函数。
深度链接路径可以包含任意数量的位于大括号内的参数。
智能横幅 SDK 会使用上下文中的值替换这些参数:
设置动态深度链接上下文
您可以用包含上下文值键值对的对象调用AdjustSmartBanner.setContext
函数来添加动态深度链接上下文。
智能横幅 SDK 会把所有能与上下文键匹配的占位符替换为对应的上下文值。
在此示例中,生成的 iOS动态深度链接路径为products/jeans/?product=cool-jeans&promo=spring_10
。
在此示例中,产生的安卓动态深度链接路径为products/jeans/?product=&promo=
。
在此示例中,对setContext
的第二次调用会覆盖第一次调用的上下文。得出的动态深度链接路径为products//?product_id=blue_jeans
,因为不匹配的{category}
参数已被空白字符串替换。
在本示例中,上下文已正确设置,生成的动态深度链接路径为products/shoes/?product=red-sneakers
。
使用 GET 参数作为上下文
如果深度链接路径中的任何参数在context
中缺失,SDK 就会尝试使用当前页面 URL 中的参数。
在以下示例中:
category
参数使用setContext
setter 方法中提供的值填充。- 当前页 URL 为
https://my-shop.com/spring-promo?product_id=cool-jeans&promo=spring_10
。
SDK 会从页面 URL 中读取product_id
和promo
的值。产生的动态深度链接路径为products/jeans/?product=cool-jeans&promo=spring_10
。
在以下示例中:
product_id
参数由setContext
setter 设置。- 当前页 URL 为
https://my-shop.com/spring-promo?product_id=cool-jeans&promo=spring_10
。
product_id
值由setContext
setter 设置,因此 URL 参数中的值会被覆盖。产生的动态深度链接路径为products/jeans/?product=floral-jeans&promo=spring_10
。