【非推奨】クエリパラメータによるアプリ内WebViewとのユーザー連携
非推奨
このドキュメントには非推奨の内容が含まれています。
将来的に廃止予定の機能であり、予告なく提供を停止する可能性があります。
クエリパラメータを利用した紐付け
SDKではユーザースクリプトを実行できない環境向けに、URLクエリパラメータを付与することでユーザー連携できる機能を提供しています。
SDKが用意しているヘルパーメソッドにロードするページのURLを渡すことで、紐付け処理に必要となるクエリパラメータを付加することができます。
紐付け用のクエリパラメータが付加されたURLをWebViewでロードすることにより、紐付けが行われた状態でトラッキングが行われます。
if let baseUrl = URL(string: "https://example.com") {
// 連携用のパラメータを付与したURLを取得
let url = UserSync.appendingQueryParameter(baseUrl)
// 連携用パラメータが付与されたURLを利用して、ページのロード処理を行う
webView.loadRequest(URLRequest(url: url))
}
NSURL *baseURL = [NSURL URLWithString:@"https://example.com"];
// 連携用のパラメータを付与したURLを取得
NSURL *URL = [KRTUserSync appendingQueryParameterWithURL:baseURL];
// 連携用パラメータが付与されたURLを利用して、ページのロード処理を行う
NSURLRequest *request = [NSURLRequest requestWithURL:URL];
[webView loadRequest:request];
val baseUrl = "https://example.com"
// 連携用のパラメータを付与したURLを取得
val url = UserSync.appendUserSyncQueryParameter(baseUrl)
// 連携用パラメータが付与されたURLを利用して、ページのロード処理を行う
webView.loadUrl(url)
String baseUrl = "https://example.com";
// 連携用のパラメータを付与したURLを取得
String url = UserSync.appendUserSyncQueryParameter(url);
// 連携用パラメータが付与されたURLを利用して、ページのロード処理を行う
webView.loadUrl(url);
const baseUrl = 'https://example.com';
// 連携用のパラメータを付与したURLを取得
const url = await UserSync.appendingQueryParameter(baseUrl);
// 連携用パラメータが付与されたURLを利用して、ページのロード処理を行う
webViewController.loadUrl(url);
const baseUrl = 'https://example.com';
// 連携用のパラメータを付与したURLを取得
const url = UserSync.appendingQueryParameter(url);
// 連携用パラメータが付与されたURLを利用して、ページのロード処理を行う
<WebView source={{ uri: url }} />;
KarteUserSync.appendingQueryParameter('<ロード対象のWebページURL>').then(url => {
// クエリパラメータが付与されたurlでWebページをロードする処理を実装する
});
クエリパラメータの有効期限とリンクの扱いの注意点
クエリパラメータには1分の有効期限を設けており、有効期限が切れている場合は紐付けが行われません。
そのためページをロードする際は、URLに都度クエリパラメータを付与するようにしてください。又、有効期限内のクエリパラメータつきのリンクを Safari や PC の Chrome などで開くと
_source
が意図せずnative_app_webview
で計測されます。
そのため、アプリ外でリンクを利用する場合は連携パラメータがついていないことを確認してください。
参考: https://support.karte.io/post/5p11ldZv1FiG7KAGtuO8y1#2-0
CustomChromeTabs等でのユーザ連携について
CustomChromeTabs等の外部ブラウザの機能をアプリ内WebViewのように使うことができますが、その際にはKARTEのユーザーの紐付けを行うことを推奨しません。
紐づけてしまった場合、Cookieが共有されてしまうことによりChrome等のブラウザからのKARTEイベントがアプリユーザのものと区別ができなくなってしまうためです。外部ブラウザのユーザーとアプリのユーザーの紐付けはidentifyイベント等を用いて行ってください。
参考: https://support.karte.io/post/5p11ldZv1FiG7KAGtuO8y1#2-0
Updated 12 months ago