如何在Android和iPhone的移动应用程序中实现推荐计划

Jam*_*hoo 60 iphone android install tracking ios

我们有一个可在Google Play商店和Apple AppStore中使用的移动应用,我们希望实施推荐计划,以吸引更多用户安装和使用我们的应用.

这是用户故事:

  • 每个新用户(例如约翰)都被赋予一个独特的推荐链接,他/她可以在这里分享到FB/TW /电子邮件或短信.
  • 当John的朋友点击该链接时,他们将被定向到他们设备上的相应AppStore基础.
  • 在John的朋友安装应用程序并打开应用程序的那一刻,我们的服务器应该得到通知,我们将知道推荐来自John,John会得到相应的奖励.

我们已经评估了许多移动应用安装跟踪工具,大多数工具都是发布商/移动广告中的最佳用途.

感谢任何评论和建议

干杯詹姆斯

Pur*_*war 77

我们在我们的应用程序中执行类似类型的推荐系统,在新用户(收到链接的用户)成功安装应用程序时,向推荐人(实际上共享应用程序链接的人)提供一定数量的奖励积分.

我将尝试使用您的场景解释我们的实现:所以根据您的用户故事:

  • 每个新用户(例如约翰)都会获得一个独特的推荐链接,他/她可以使用FB/TW /电子邮件或短信将其分享给他的朋友.

  • 当John的朋友点击链接时,他首先被重定向到Servlet,最终根据他的平台(Android/iPhone)将他重定向到相应的AppStore以下载应用程序.

  • 请注意,我们可以找到使用Servlet单击链接的用户的IP地址,用户代理和设备模型.

  • 我们已经知道推荐链接属于John,因此servlet将John的朋友的IP地址,用户代理和/或设备模型映射到John在数据库中的条目.

  • 在John的朋友安装应用程序并打开应用程序的那一刻,应用程序将IP地址,用户代理和/或设备模型发送到服务器.

  • 服务器检查针对所有用户的条目以找到引用者,如果它找到了他,在我们的案例中John,John会得到相应的奖励.

而已.我们在上个月实现了这一点,它确实提高了我们的下载量.如果这有用,请告诉我.

  • Branch - branch.io - 端到端地构建了这个解决方案并免费赠送.他们甚至建立了一个信用奖励系统,允许您根据推荐人采取的行动向推荐人和裁判员授予积分. (15认同)
  • 如果IP地址发生变化会怎样?例如,如果有人在3G上点击推荐链接,但是稍后在WiFi上首次运行应用程序? (11认同)
  • 您好Puru感谢您的回答,我对第3点感兴趣,您正在实施"设备指纹识别方法",但问题是IP地址+用户代理+设备模型是否足以识别唯一的设备? (2认同)

lxk*_*vlk 5

Android的

在Android上,您可以创建一个安装广播监听器,您可以在其中获取并保存链接的Referrer部分到SharedPreferences

__CODE__

对于此检查
Android - 是否可以以编程方式获取安装引荐来源

在从Android电子市场安装应用后获取引荐来源

iOS版

目前(2016年1月)无法在您的应用中获取安装引荐代码,例如android.

我对ios的选择是:

  1. 用户框架/第三方服务,如alau.me
  2. 与指纹相似的解决方法,类似于Puru Pawar所建议的
  3. 只需让用户在您的应用程序中输入推介代码即可


Cha*_*mar 5

如果有人还在寻找解决这个问题的方法。我读了很多关于同一问题的博客和文档,得出以下结论:

IP地址+用户代理+设备型号不足以唯一地标识设备。因此,我认为使用动态链接会更好。您可以创建包含唯一ID的动态链接。而且这些数据将在URL重定向到应用商店后仍然存在,甚至在安装后,您的应用也可以从动态链接获取唯一ID。Google的firebase可用于创建动态链接:-

https://firebase.google.com/docs/dynamic-links/

或者,如果您想使用现成的解决方案,则可以引用branch.io

  • Firebase 正在处理一些极端情况。您可以查看文档以获取更多详细信息 https://firebase.google.com/docs/dynamic-links/use-cases/rewarded-referral 并且 branch.io 对一定数量的用户免费,然后付费 (2认同)
  • 2023年:Google宣布Firebase动态链接服务即将关闭:https://firebase.google.com/support/dynamic-links-faq (2认同)

Ter*_*yur 5

摇篮文件

 implementation 'com.android.installreferrer:installreferrer:1.0'
Run Code Online (Sandbox Code Playgroud)

将代码放入需要接收推荐代码的活动中

 InstallReferrerClient mReferrerClient;

 mReferrerClient = InstallReferrerClient.newBuilder(this).build();

 mReferrerClient.startConnection(new InstallReferrerStateListener() {
 @Override
 public void onInstallReferrerSetupFinished(int responseCode) {
            switch (responseCode) {
                case InstallReferrerClient.InstallReferrerResponse.OK:
                    // Connection established
                    try {
                        ReferrerDetails response = 
 mReferrerClient.getInstallReferrer();
                        if (!response.getInstallReferrer().contains("utm_source"))
                            edtPRferelCode.setText("" + 
 response.getInstallReferrer());
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    mReferrerClient.endConnection();
                    break;
                case 
 InstallReferrerClient.InstallReferrerResponse.FEATURE_NOT_SUPPORTED:
                    // API not available on the current Play Store app
                    break;
                case 
 InstallReferrerClient.InstallReferrerResponse.SERVICE_UNAVAILABLE:
                    // Connection could not be established
                    break;
            }
        }

        @Override
        public void onInstallReferrerServiceDisconnected() {
            // Try to restart the connection on the next request to
            // Google Play by calling the startConnection() method.
        }
    });
Run Code Online (Sandbox Code Playgroud)

分享链接示例

https://play.google.com/store/apps/details?id=com.yourpackage&referrer=9BE46300


rel*_*els 5

免责声明:对最初接受的答案不满意,我正在为这个“流行”线程提供替代解决方案。

Android 上,这根本不是问题。Google 将允许您通过注册接收器来访问在安装时发送的引用参数,您还可以利用他们的安装引用 API

对于iOS,它有点棘手,因为它不受官方支持。正如这里提出的那样您可以进行指纹识别,但这很麻烦,并且具有高度的不准确度。我遇到了两个更优雅的解决方案:

  1. 此处详细说明的基于 Cookie 的跟踪
  2. URL 复制到剪贴板(Firebase 似乎同时使用剪​​贴板和 cookie 方法,但这是基于个人观察 - 没有官方来源)。
    • 当用户访问您的网页时(即:example.com/invite/123),在重定向到 App Store 之前显示一个网页。
    • 在该页面中,让用户按下一个按钮,这样您就可以document.execCommand('copy')在通过focus()setSelectionRange()
    • 安装后,当用户登陆应用程序时,您可以做两件事:
      1. 通过UIPasteboard.general.string(swift)捕获剪贴板/粘贴板内容并进行一些解析或 API 调用
      2. 在与初始链接(即:mydomain.com/retrieve)相同域上的页面上将用户重定向回(通过其默认浏览器以避免 Cookie 不存在),以便该页面将接收初始设置的 cookie(在步骤 1 中) .) 浏览器在访问时轻轻分享。然后,您可以将用户重定向回您的原始链接,因为现在已安装应用程序,通用链接现在将按预期工作。