ディープリンクは、ユーザーをアプリ内の特定のイベントやページに誘導するリンクです。ユーザーがスマートバナーで確認したページに直接ルーティングされるようにすることで、シームレスなエクスペリエンスを提供できます。スマートバナーSDKは、プレーン文字列のディープリンクと、プレースホルダーを含むディープリンクテンプレートをサポートしています。プレースホルダーは、提供されたディープリンクコンテキストまたはWebページURLのGETパラメーターを使用して、SDKによって入力されます。
スマートバナーSDKで動的ディープリンクを設定するには、2つの方法があります。
-
AdjustSmartBanner.init関数にパラメーターをパスする。contextオブジェクトを設定してコンテキストを提供する。
-
setAndroidDeepLinkPathとsetIosDeepLinkPathのセッターを呼び出す。setContextセッターを呼び出してコンテキストを提供する。- GETパラメーターを使用してコンテキストを提供する。
ディープリンクパスとコンテキストセッターを設定する
これらの関数を使用して、動的ディープリンクを設定し、動的コンテキストを設定することができます。
ディープリンクパスを設定する
setAndroidDeepLinkPathおよびsetIosDeepLinkPathセッター関数を使用して、ターゲットのモバイルプラットフォームにディープリンクパスを設定する必要があります。これらの関数は、絶対パスまたはテンプレートパスのいずれかの文字列値を受け取ります。
ディープリンクパスを設定するには、各プラットフォームのイベントまたは画面への関連パスを指定してAdjustSmartBanner.setIosDeepLinkPathとAdjustSmartBanner.setAndroidDeepLinkPath関数を呼び出します。
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のダイナミックディープリンクパスは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のダイナミックディープリンクパスはproducts/jeans/?product=&promo=になります。
AdjustSmartBanner.setAndroidDeepLinkPath( "products/{category}/?product={product_id}&promo={promo}",);AdjustSmartBanner.setContext({ category: "jeans" });この例では、setContextが2回目に呼び出されたときに、最初の呼び出しのコンテキストが上書きされます。一致しない{category}パラメーターが空の文字列に置き換えられるため、生成される動的ディープリンクパスはproducts//?product_id=blue_jeansになります。
AdjustSmartBanner.setIosDeepLinkPath( "products/{category}/?product={product_id}",);AdjustSmartBanner.setContext({ category: "jeans" });AdjustSmartBanner.setContext({ product_id: "blue_jeans" });この例では、コンテキストが正しく設定されており、生成される動的ディープリンクパスは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セッターで提供された値を使用して入力されます。- 現在のページURLは
https://my-shop.com/spring-promo?product_id=cool-jeans&promo=spring_10となります。
SDKはproduct_idとpromoの値をページURLから読み取ります。生成される動的ディープリンクパスはproducts/jeans/?product=cool-jeans&promo=spring_10となります。
AdjustSmartBanner.setAndroidDeepLinkPath( "products/{category}/?product={product_id}&promo={promo}",);AdjustSmartBanner.setContext({ category: "jeans" });以下の例の場合:
product_idパラメーターは、setContextセッターによって設定されます。- 現在のページURLは
https://my-shop.com/spring-promo?product_id=cool-jeans&promo=spring_10となります。
product_idの値はsetContextセッターによって設定されるため、URLパラメーターの値は上書きされます。生成される動的ディープリンクパスはproducts/jeans/?product=floral-jeans&promo=spring_10となります。
AdjustSmartBanner.setAndroidDeepLinkPath( "products/jeans/?product={product_id}&promo={promo}",);AdjustSmartBanner.setContext({ product_id: "floral-jeans" });