iOS SDK - 支持推荐人短链接

创建推荐人短链接

生成可共享的推荐人短链接,以启用用户到用户的归因并跟踪来自自然量推荐的应用安装。

版本要求: 此功能需要 SDK 版本 11.0.8 或更高版本。短链接在创建后保持有效 30 天。

概述

什么是推荐人短链接

短链接将冗长且包含大量参数的 Singular Links 转换为紧凑、安全的 URL,便于通过 SMS、社交媒体或应用内邀请进行分享。

动态创建短链接,使用户可以与朋友分享,邀请他们下载和使用您的应用。每个短链接都会 跟踪推荐用户,使您能够衡量病毒式增长并将新安装归因于特定的推广者。


实施要求

必需组件

在创建推荐人短链接之前,请收集以下Meta素:

  • Singular Link: 将用户引导至应用下载的基础跟踪链接。有关设置说明,请参阅 Singular Links FAQ
  • 动态参数: 用于为链接添加上下文的可选自定义参数。在 Tracking Link Parameters 中查看可用选项
  • 推荐人信息: 分享链接的用户的姓名和 ID,以便将新安装归因回推荐人

SDK 方法

createReferrerShortLink

生成一个带有自定义参数和回调处理程序的推荐人短链接,用于成功和错误状态。

方法签名:

+ (void)createReferrerShortLink:(NSString *)baseLink
                   referrerName:(NSString *)referrerName
                     referrerId:(NSString *)referrerId
              passthroughParams:(NSDictionary *)passthroughParams
              completionHandler:(void(^)(NSString *, NSError *))completionHandler;

参数:

  • baseLink: 原始的 Singular 跟踪链接 URL
  • referrerName: 推荐用户的显示名称
  • referrerId: 推荐用户的唯一标识符
  • passthroughParams: 包含额外动态参数的 NSDictionary(可选)
  • completionHandler: 包含短链接字符串和错误参数的回调块

使用示例

使用自定义参数创建短链接,并在完成处理程序中实现共享逻辑。

Swift Objective-C
// Define your Singular tracking link as the base link
let referrerBaseLink = "https://yourdomain.sng.link/Csfge/aknl?_dl=myscheme%3A%2F%2Fmydeeplink/referrer&_smtype=3"

// Get referrer information from user input
let referrerID = referrerIDField.text ?? "unknown_user"
let referrerName = referrerNameField.text ?? "Anonymous"

// Add custom passthrough parameters
let passthroughParams: [String: Any] = [
    "channel": "sms",
    "campaign_id": "summer_promo_2025",
    "referral_type": "friend_invite"
]

// Generate the short referrer link
Singular.createReferrerShortLink(
    referrerBaseLink,
    referrerName: referrerName,
    referrerId: referrerID,
    passthroughParams: passthroughParams
) { shortLink, error in

    if let error = error {
        // Handle error - retry or show user feedback
        print("Error creating short link: \(error.localizedDescription)")

        // Show error message to user
        let alert = UIAlertController(
            title: "Error",
            message: "Failed to create share link. Please try again.",
            preferredStyle: .alert
        )
        alert.addAction(UIAlertAction(title: "OK", style: .default))
        self.present(alert, animated: true)
        return
    }

    if let shortLink = shortLink, !shortLink.isEmpty {
        // Share the short link via iOS Activity Controller
        let shareText = "Join me on this awesome app! \(shortLink)"
        let activityVC = UIActivityViewController(
            activityItems: [shareText],
            applicationActivities: nil
        )

        // For iPad: set popover presentation controller
        if let popover = activityVC.popoverPresentationController {
            popover.sourceView = self.view
            popover.sourceRect = CGRect(x: self.view.bounds.midX,
                                       y: self.view.bounds.midY,
                                       width: 0,
                                       height: 0)
            popover.permittedArrowDirections = []
        }

        self.present(activityVC, animated: true)
    }
}

实施最佳实践

错误处理

在完成处理程序中实施可靠的错误处理,以管理网络故障、无效参数或服务器问题。

  • 重试逻辑: 对瞬时网络错误实施指数退避
  • 用户反馈: 当链接创建失败时显示清晰的错误消息
  • 回退选项: 提供备用共享方法(例如,如果短链接创建失败,则共享完整的 Singular Link)
  • 验证: 在调用 createReferrerShortLink 之前验证参数,以便尽早发现问题

跟踪与分析

利用推荐人信息构建病毒循环并衡量自然量增长。

最佳实践: 使用与您的内部用户识别系统匹配的一致推荐人 ID。这使您能够:

  • 将新安装归因于特定的推荐用户
  • 奖励成功推荐的用户
  • 跟踪病毒系数和 K-factor 指标
  • 识别最有价值的品牌推广者

链接过期

在您的共享策略中计划 30 天的链接生命周期。

重要: 短链接在 30 天后过期。对于长期活动或持续的共享功能,请定期生成新的短链接,或使用完整的 Singular Link 作为回退。


常见用例

应用内推荐计划

使用个性化的推荐链接,使用户能够直接从您的应用邀请朋友。

  • 奖励系统: 跟踪推荐并奖励成功邀请朋友注册的用户
  • 社交分享: 与 iOS Activity Controller 集成,用于 Messages、Mail 和社交媒体
  • 个性化邀请: 在共享消息中包含推荐人姓名以实现个性化

用户生成内容

当用户生成希望与他人分享的内容时,创建可共享的链接。

  • 内容归因: 跟踪哪些内容带来最多的应用安装
  • 创作者认可: 将新用户归因于内容创作者,用于游戏化
  • 活动标记: 根据内容类型或类别添加动态参数

活动邀请

为活动邀请生成唯一链接,跟踪哪些参与者带来新用户。

  • 活动上下文: 在链接参数中包含活动 ID 和详细信息
  • 参与者跟踪: 衡量活动到活动的病毒式传播
  • 网络效应: 识别转化率最高的活动