adjust-icon

スマートバナーSDKの動的ディープリンク

ディープリンクは、ユーザーをアプリ内の特定のイベントやページに誘導するリンクです。ユーザーがスマートバナーで確認したページに直接ルーティングされるようにすることで、シームレスなエクスペリエンスを提供できます。スマートバナーSDKは、プレーン文字列のディープリンクと、プレースホルダーを含むディープリンクテンプレートをサポートしています。プレースホルダーは、提供されたディープリンクコンテキストまたはWebページURLのGETパラメーターを使用して、SDKによって入力されます。

スマートバナーSDKで動的ディープリンクを設定するには、2つの方法があります。

これらの関数を使用して、動的ディープリンクを設定し、動的コンテキストを設定することができます。

setAndroidDeepLinkPathおよびsetIosDeepLinkPathセッター関数を使用して、ターゲットのモバイルプラットフォームにディープリンクパスを設定する必要があります。これらの関数は、絶対パスまたはテンプレートパスのいずれかの文字列値を受け取ります。

ディープリンクパスを設定するには、各プラットフォームのイベントまたは画面への関連パスを指定してAdjustSmartBanner.setIosDeepLinkPathAdjustSmartBanner.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_idpromoの値をページ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" });