Android SDK - リファラー短縮リンクのサポート

リファラー短縮リンクの作成

共有可能な短縮リファラーリンクを生成して、ユーザー間のアトリビューションを 有効にし、オーガニックリファラルからのアプリインストールを追跡します。

バージョン要件: この機能には SDKバージョン12.1.1以上が必要です。短縮リンクは作成後30日間 有効です。

概要

リファラー短縮リンクとは

短縮リンクは、長くパラメータが多いSingular Linkを、SMS、ソーシャルメディア、 またはアプリ内招待で共有するのに便利なコンパクトで安全なURLに変換します。

短縮リンクを動的に作成して、ユーザーが友人と共有してアプリのダウンロードと 使用に招待できるようにします。各短縮リンクはリファラーユーザーを追跡するため、 バイラル成長を測定し、新規インストールを特定の推奨者にアトリビューションする ことができます。


実装要件

必要な構成要素

リファラー短縮リンクを作成する前に、以下の要素を準備してください:

  • Singular Link: ユーザーをアプリダウンロードに誘導する ベーストラッキングリンクです。設定手順については Singular Links FAQ を参照してください
  • 動的パラメータ: リンクにコンテキストを追加するための オプションのカスタムパラメータです。利用可能なオプションは トラッキングリンクパラメータ で確認できます
  • リファラー情報: リンクを共有しているユーザーの名前と IDで、新規インストールをリファラーにアトリビューションできるようにします

SDKメソッド

createReferrerShortLink

カスタムパラメータと成功およびエラー状態のコールバックハンドラーを使用して、 リファラー短縮リンクを生成します。

メソッドシグネチャ:

Singular.createReferrerShortLink(
    String baseLink,
    String referrerName,
    String referrerId,
    JSONObject parameters,
    ShortLinkHandler handler
)

パラメータ:

  • baseLink: 元のSingularトラッキングリンクURL
  • referrerName: リファラーユーザーの表示名
  • referrerId: リファラーユーザーの一意の識別子
  • parameters: 追加の動的パラメータを含むJSONObject (オプション)
  • handler: 次のメソッドを持つコールバックインターフェース onSuccess および onError (必須)

ShortLinkHandlerは2つの抽象 メソッド(onSuccess(String link)onError(String error))を定義するため、 Kotlin SAMインターフェースではありません。常に両方のメソッドを定義した オブジェクト式(Kotlin)または匿名クラス(Java)として実装してください。 nullハンドラーまたは初期化されていないSDKは 呼び出しがサイレントにドロップされる原因となるため、このメソッドを呼び出す前に Singular.init()が実行されたことを 確認してください。

onErrorは、検証が失敗したとき (例: 無効なベースリンク)、ネットワークリクエストの前に同期的に発生する 可能性があります。呼び出しスレッドまたはバックグラウンドスレッドのいずれかで 実行できるように、コールバックに防御的なnullチェックを実装してください。


使用例

カスタムパラメータを使用して短縮リンクを作成し、成功コールバックで共有ロジックを 実装します。

Kotlin Java
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()
        }
    }
)

実装のベストプラクティス

エラー処理

ネットワーク障害、無効なパラメータ、またはサーバーの問題を管理するために、 onError コールバックで堅牢なエラー処理を実装します。

  • リトライロジック: 一時的なネットワークエラーに対して 指数バックオフを実装してください
  • ユーザーフィードバック: リンク作成が失敗したときに 明確なエラーメッセージを表示してください
  • フォールバックオプション: 代替の共有方法を提供してください (例: 短縮リンクの作成が失敗した場合は完全なSingular Linkを共有)
  • 検証: 問題を早期に検出するために createReferrerShortLink を呼び出す前にパラメータを検証してください

追跡と分析

リファラー情報を活用してバイラルループを構築し、オーガニック成長を測定します。

ベストプラクティス: 内部ユーザー識別システムと一致する 一貫したリファラーIDを使用してください。これにより、以下が可能になります:

  • 新規インストールを特定のリファラーユーザーにアトリビューション
  • 成功したリファラルに対してユーザーに報酬を提供
  • バイラル係数とK-factor指標を追跡
  • 最も価値のあるブランドアドボケイトを特定

リンクの有効期限

共有戦略において30日間のリンクライフサイクルを計画してください。

重要: 短縮リンクは30日後に有効期限が切れます。 長期キャンペーンや永続的な共有機能の場合は、定期的に新しい短縮リンクを 生成するか、完全なSingular Linkをフォールバックとして使用してください。


一般的なユースケース

アプリ内リファラルプログラム

パーソナライズされたリファラルリンクを使用して、ユーザーがアプリから直接友人を 招待できるようにします。

  • 報酬システム: リファラルを追跡し、成功した友人のサインアップに 対してユーザーに報酬を提供してください
  • ソーシャル共有: SMS、WhatsApp、メール、ソーシャルメディアに 対応するAndroid Share Sheetと統合してください
  • 個人的な招待: パーソナライゼーションのために共有メッセージに リファラーの名前を含めてください

ユーザー生成コンテンツ

ユーザーが他の人と共有したいコンテンツを生成したときに、共有可能なリンクを 作成します。

  • コンテンツアトリビューション: どのコンテンツが最も多くの アプリインストールを促進するかを追跡してください
  • クリエイター認識: ゲーミフィケーションのために新規ユーザーを コンテンツクリエイターにアトリビューションしてください
  • キャンペーンタグ付け: コンテンツタイプまたはカテゴリに基づいて 動的パラメータを追加してください

イベント招待

どの参加者が新規ユーザーをもたらすかを追跡するイベント招待のための ユニークなリンクを生成します。

  • イベントコンテキスト: リンクパラメータにイベントIDと詳細を 含めてください
  • 参加者追跡: イベントからイベントへのバイラル拡散を 測定してください
  • ネットワーク効果: 最も高いコンバージョン率を持つイベントを 特定してください