短いリファラーリンクの作成
ユーザー間のアトリビューションを可能にし、オーガニックな紹介からのアプリのインストールを追跡する、共有可能な短いリファラーリンクを生成します。
バージョン要件:この機能を使用するには、SDKバージョン12.1.1以降が必要です。短いリンクは、作成後30日間有効です。
概要
ショートリファラーリンクとは
ショートリンクは、長い、パラメータいっぱいのシンギュラーリンクを、SMS、ソーシャルメディア、アプリ内招待で共有するのに便利な、コンパクトで安全なURLに変換します。
ショートリンクを動的に作成することで、ユーザーがお友達と共有し、アプリのダウンロードや使用を招待することができます。各ショートリンクは参照ユーザーを追跡するので、バイラルの成長を測定し、新規インストールを特定の支持者に帰属させることができます。
実装要件
必要なコンポーネント
ショートリファラーリンクを作成する前に、これらの要素を集めてください:
- 単一リンク:アプリのダウンロードにユーザーを誘導するベーストラッキングリンク。設定方法については、シンギュラーリンクのFAQを参照してください。
- 動的パラメータ:リンクにコンテキストを追加するオプションのカスタムパラメータ。トラッキングリンクパラメータで利用可能なオプションを見る
- リファラー情報:リンクを共有するユーザーの名前と ID を入力して、新規インストールのリファラーへの帰属を可能にします。
SDKメソッド
createReferrerShortLink
カスタムパラメータと成功およびエラー状態用のコールバックハンドラを使用して、短いリファラーリンクを生成します。
メソッドのシグネチャ
Singular.createReferrerShortLink(
String baseLink,
String referrerName,
String referrerId,
JSONObject parameters,
ShortLinkHandler handler
)
パラメータ:
- baseLink:元の Singular トラッキングリンクの URL。
- referrerName:参照元ユーザーの表示名
- referrerId:参照元ユーザーの一意な識別子
- parameters:追加の動的パラメータを含む JSONObject (オプション)
-
ハンドラ:
onSuccessとonErrorメソッドを持つコールバックインターフェイス
使用例
カスタムパラメータでショートリンクを作成し、成功コールバックで共有ロジックを実装します。
import org.json.JSONObject
import org.json.JSONException
// Create custom parameters for the link
val params = JSONObject()
try {
params.put("channel", "sms")
params.put("campaign_id", "summer_promo_2025")
params.put("referral_type", "friend_invite")
} catch (e: JSONException) {
Log.e("ShortLink", "Error creating parameters: ${e.message}")
}
// Generate the short referrer link
Singular.createReferrerShortLink(
"https://sample.sng.link/D52wc/cuvk?pcn=test", // Base Singular Link
"John Doe", // Referrer name
"user_12345", // Referrer ID
params, // Custom parameters
object : ShortLinkHandler {
override fun onSuccess(shortLinkURL: String) {
Log.d("ShortLink", "Generated: $shortLinkURL")
// Share the short link via Android Share Sheet
val shareIntent = Intent(Intent.ACTION_SEND).apply {
type = "text/plain"
putExtra(Intent.EXTRA_TEXT,
"Join me on this awesome app! $shortLinkURL")
}
startActivity(Intent.createChooser(shareIntent, "Share via"))
}
override fun onError(error: String) {
Log.e("ShortLink", "Error creating link: $error")
// Handle error - retry or show user feedback
Toast.makeText(
applicationContext,
"Failed to create share link. Please try again.",
Toast.LENGTH_SHORT
).show()
}
}
)
import org.json.JSONObject;
import org.json.JSONException;
// Create custom parameters for the link
JSONObject params = new JSONObject();
try {
params.put("channel", "sms");
params.put("campaign_id", "summer_promo_2025");
params.put("referral_type", "friend_invite");
} catch (JSONException e) {
Log.e("ShortLink", "Error creating parameters: " + e.getMessage());
}
// Generate the short referrer link
Singular.createReferrerShortLink(
"https://sample.sng.link/D52wc/cuvk?pcn=test", // Base Singular Link
"John Doe", // Referrer name
"user_12345", // Referrer ID
params, // Custom parameters
new ShortLinkHandler() {
@Override
public void onSuccess(final String shortLinkURL) {
Log.d("ShortLink", "Generated: " + shortLinkURL);
// Share the short link via Android Share Sheet
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TEXT,
"Join me on this awesome app! " + shortLinkURL);
startActivity(Intent.createChooser(shareIntent, "Share via"));
}
@Override
public void onError(final String error) {
Log.e("ShortLink", "Error creating link: " + error);
// Handle error - retry or show user feedback
Toast.makeText(
getApplicationContext(),
"Failed to create share link. Please try again.",
Toast.LENGTH_SHORT
).show();
}
}
);
実装のベストプラクティス
エラー処理
onError コールバックで堅牢なエラー処理を実装し、ネットワーク障害、無効なパラメータ、サーバーの問題を管理します。
- 再試行ロジック:一過性のネットワークエラーに対して指数関数的バックオフを実装する。
- ユーザー・フィードバック:リンク作成失敗時に明確なエラーメッセージを表示
- フォールバック・オプション:代替共有方法の提供(例:短いリンク作成に失敗した場合、完全なシンギュラーリンクを共有する
-
検証:問題を早期に発見するために、
createReferrerShortLinkを呼び出す前にパラメータを検証します。
トラッキングと分析
リファラー情報を活用して、バイラルループを構築し、オーガニックな成長を測定する。
ベストプラクティス社内のユーザー識別システムと一致する一貫したリファラーIDを使用する。これにより、次のことが可能になります:
- 新規インストールを特定の参照ユーザーに帰属させる。
- 紹介に成功したユーザーに報酬を与える
- バイラル係数とKファクターメトリクスの追跡
- 最も価値のあるブランド支持者を特定
リンクの有効期限
共有戦略において、30日間のリンクライフサイクルを計画する。
重要:ショートリンクは30日で失効します。長期的なキャンペーンや永続的な共有機能の場合は、定期的に新しいショートリンクを生成するか、予備として完全なシンギュラーリンクを使用してください。
一般的な使用例
アプリ内紹介プログラム
パーソナライズされた紹介リンクを使って、ユーザーがアプリから直接友達を招待できるようにします。
- 報酬システム:紹介者を追跡し、友達登録に成功したユーザーに報酬を与えます。
- ソーシャル共有:SMS、WhatsApp、Eメール、ソーシャルメディア用のAndroidシェアシートと統合します。
- パーソナライズされた招待:パーソナライズするために紹介者の名前を共有メッセージに含めることができます。
ユーザー生成コンテンツ
ユーザーが他のユーザーと共有したいコンテンツを作成した場合、共有可能なリンクを作成します。
- コンテンツのアトリビューション:どのコンテンツが最もアプリのインストールを促進したかを追跡
- クリエイターの認識:新規ユーザーをコンテンツ作成者に帰属させ、ゲーミフィケーションを実現します。
- キャンペーンタグ付け:コンテンツの種類やカテゴリーに基づいた動的なパラメータを追加
イベント招待
どの出席者が新規ユーザーを連れてきたかを追跡するイベント招待用のユニークなリンクを生成します。
- イベントコンテキスト:リンクパラメータにイベントIDと詳細を含める
- 参加者のトラッキング:イベントからイベントへのバイラル拡散を測定
- ネットワーク効果:コンバージョン率の高いイベントを特定