adjust-icon

스마트 배너 SDK 다이나믹 딥링크

딥링크는 사용자를 앱의 특정 이벤트 또는 페이지로 이동시켜 주는 링크로, 사용자가 스마트 배너 광고에서 본 내용에 바로 연결될 수 있도록 하여 매끄러운 경험을 제공합니다. 스마트 배너 SDK는 일반 문자열로 구성된 딥링크와 플레이스홀더가 포함된 딥링크 템플릿을 지원합니다. 플레이스홀더는 제공된 딥링크 컨텍스트(context)나 웹 페이지 URL의 GET 파라미터를 사용하여 채워집니다.

스마트 배너 SDK에서 다이나믹 딥링크를 구성하는 방법에는 두 가지가 있습니다.

아래를 참조하여 딥링크 및 다이나믹 컨텍스트를 설정하시기 바랍니다.

타겟 모바일 플랫폼에 대한 딥링크 path는 setAndroidDeepLinkPathsetIosDeepLinkPath setter 함수를 사용하여 구성해야 합니다. 이 함수는 절대적(absolute) path 또는 템플릿 path인 문자열 값을 받습니다.

딥링크 path 설정을 위해 AdjustSmartBanner.setIosDeepLinkPathAdjustSmartBanner.setAndroidDeepLinkPath 함수를 각 플랫폼의 이벤트 또는 스크린에 대한 path와 함께 호출합니다.

AdjustSmartBanner.setIosDeepLinkPath(
"products/jeans/?product=cool-jeans&promo=spring_10",
);

딥링크 경로는 중괄호로 묶은 파라미터를 원하는 수만큼 포함할 수 있습니다.

AdjustSmartBanner.setIosDeepLinkPath(
"products/{category}/?product={product_id}&promo={promo}",
);

스마트 배너 SDK는 이러한 파라미터를 제공된 컨텍스트의 값으로 대체합니다.

컨텍스트 값의 키-값 쌍을 포함한 객체와 함께 AdjustSmartBanner.setContext 함수를 호출하면 딥링크 컨텍스트를 추가할 수 있습니다.

AdjustSmartBanner.setContext({
category: "jeans",
product_id: "cool-jeans",
promo: "spring_10",
});

스마트 배너 SDK는 컨텍스트 키와 일치하는 모든 플레이스홀더를 이에 상응하는 컨텍스트 값으로 교체합니다.

본 예시에서 iOS에 대한 딥링크 path는 products/jeans/?product=cool-jeans&promo=spring_10 입니다.

AdjustSmartBanner.setIosDeepLinkPath(
"products/{category}/?product={product_id}&promo={promo}",
);
AdjustSmartBanner.setContext({
category: "jeans",
product_id: "cool-jeans",
promo: "spring_10",
});

본 예시에서 Android에 대한 딥링크 path는 products/jeans/?product=&promo= 입니다.

AdjustSmartBanner.setAndroidDeepLinkPath(
"products/{category}/?product={product_id}&promo={promo}",
);
AdjustSmartBanner.setContext({ category: "jeans" });

이 예시에서는 setContext에 대한 두 번째 호출은 첫 번째 호출의 컨텍스트를 덮어쓰게 됩니다. 일치하지 않는 {category} 파라미터는 빈 문자열로 대체되기 때문에 결과적으로 다이나믹 딥링크 path는 products//?product_id=blue_jeans이 됩니다.

AdjustSmartBanner.setIosDeepLinkPath(
"products/{category}/?product={product_id}",
);
AdjustSmartBanner.setContext({ category: "jeans" });
AdjustSmartBanner.setContext({ product_id: "blue_jeans" });

이 예시에서 컨텍스트는 올바르게 설정되었으며, 결과 딥링크 path는 products/shoes/?product=red-sneakers입니다.

AdjustSmartBanner.setIosDeepLinkPath(
"products/{category}/?product={product_id}",
);
AdjustSmartBanner.setContext({
category: "shoes",
product_id: "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_idpromo에 대한 값을 읽습니다. 그 결과 다이나믹 딥링크 path는 products/jeans/?product=cool-jeans&promo=spring_10입니다.

AdjustSmartBanner.setAndroidDeepLinkPath(
"products/{category}/?product={product_id}&promo={promo}",
);
AdjustSmartBanner.setContext({ category: "jeans" });

다음의 예시의 경우,

  • product_id 파라미터는 setContext setter에 의해 설정됩니다.
  • 현재 페이지 URL은 https://my-shop.com/spring-promo?product_id=cool-jeans&promo=spring_10입니다.

product_id 값은 setContext setter에 의해 설정되기 때문에 URL 파라미터 내의 값은 무시됩니다. 결과 딥링크 path는 products/jeans/?product=floral-jeans&promo=spring_10입니다.

AdjustSmartBanner.setAndroidDeepLinkPath(
"products/jeans/?product={product_id}&promo={promo}",
);
AdjustSmartBanner.setContext({ product_id: "floral-jeans" });