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

oogrdqng  于 2022-11-03  发布在  Android
关注(0)|答案(7)|浏览(190)

我们有一个移动的应用程序,可在Google Play商店和苹果应用商店,我们想实施一个推荐计划,让更多的用户安装和使用我们的应用程序。
以下是用户案例:

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

我们评估了许多移动的应用程序安装跟踪工具,其中大多数工具最适合用于发布者/移动广告。
感谢您的任何意见和建议
干杯,詹姆斯

kyks70gy

kyks70gy1#

我们正在做一个类似类型的推荐系统,在我们的应用程序提供一定数量的奖励积分推荐人(一个谁实际上分享了应用程序的链接)成功安装的应用程序的新用户(一个谁收到的链接)。
我将尝试使用您的场景来解释我们的实现:根据您的用户案例:

  • 每个新用户(例如John)都有一个唯一的推荐链接,他/她可以使用FB/TW/电子邮件或短信将其分享给他的朋友。
  • 当John的朋友点击该链接时,他首先被重定向到Servlet,该Servlet最终将他重定向到基于他的平台(Android/iPhone)的相应AppStore以下载该应用。
  • 请注意,我们可以使用Servlet找出单击链接的用户的IP地址、用户代理和设备型号。
  • 我们已经知道该推荐链接属于John,因此servlet将John的朋友的IP地址、用户代理和/或设备型号Map到数据库中John的条目。
  • 当John的朋友安装应用程序并打开应用程序时,应用程序将IP地址、用户代理和/或设备型号发送到服务器。
  • 服务器检查所有用户的条目以找到引用者,如果找到他,在我们的例子中是John,John会得到相应的奖励。

就是这样。我们在上个月自己实现了这个,它确实增加了我们的下载量。让我知道这是否有帮助。

qacovj5a

qacovj5a2#

如果有人还在寻找这个问题的解决方案,我读了很多关于同样问题的博客和文件,并得出了以下结论:-
IP地址+用户代理+设备型号不足以唯一识别一个设备。所以,我认为使用动态链接会更好。你可以创建包含唯一ID的动态链接。这些数据将通过URL重定向到应用商店,甚至在安装后,你的应用程序也可以从动态链接中获得唯一ID。谷歌的firebase可以用于创建动态链接:-
https://firebase.google.com/docs/dynamic-links/
或者,如果您想使用即用型解决方案,则可以访问branch.io

ljsrvy3e

ljsrvy3e3#

安卓系统

在android上,您可以创建一个安装广播侦听器,在其中您可以获取并保存SharedPreferences链接的引用者部分
https://play.google.com/store/apps/details?id=com.example.app&referrer=example_referral_code_here
对于此检查
Android - Is it possible to get install referrer programmatically

Get referrer after installing app from Android Market

https://developer.android.com/google/play/installreferrer/library.html

iOS操作系统

目前(2016年1月)无法像Android那样在应用中获取安装引用代码。
我对ios的选择是:
1.用户框架/第三方服务,如alau.me
1.一种指纹识别的变通方法,类似于Puru Pawar的建议
1.只需让用户在应用程序中输入推荐代码即可

s8vozzvw

s8vozzvw4#

  • 免责声明:我对最初的答案并不满意,我提供了一个替代的解决方案,回到这个“流行”的主题。*

Android上,这根本不是问题。Google会让你访问registering a receiver在安装时发送的引用参数,你也可以利用他们的install referrer API
对于iOS来说,这有点麻烦,因为它没有得到官方的支持。正如提议的here,你可以做指纹识别,但这很麻烦,而且有很高的不准确性。我遇到了两个更优雅的解决方案:
1.基于Cookie的跟踪,详细说明here

  1. URL复制到剪贴板(Firebase似乎做剪贴板和cookie的方法,但这是基于个人观察-没有官方来源)。
  • 当用户访问您的网页时(即:example.com/invite/123),在重定向到App Store之前显示网页。
  • 在该页面中,让用户按下一个按钮,以便在通过focus()setSelectionRange()选择隐藏输入中的某个字符串后,可以使用document.execCommand('copy')将字符串复制到剪贴板/粘贴板

1.安装后,当用户登录应用程序时,您可以执行以下两项操作:
1.通过UIPasteboard.general.string(swift)捕获剪贴板/粘贴板内容,并执行一些解析或API调用
1.将用户重定向回(通过其默认浏览器,以避免Cookie不存在)初始链接中相同域的页面(即:mydomain.com/retrieve),这样页面将收到最初设置的cookie(在步骤1中),在访问时由浏览器温和地共享。然后,您可以将用户重定向回您的原始链接,因为应用程序现在已安装,通用链接现在将按预期工作。

roejwanj

roejwanj5#

Gradle文件

implementation 'com.android.installreferrer:installreferrer:1.0'

将代码放在需要接收引用代码的活动中

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.
        }
    });

共享链接示例
https://play.google.com/store/apps/details?id=com.yourpackage&referrer=9BE46300

ffvjumwh

ffvjumwh6#

另一种方法是让您的当前用户创建一个唯一的代码,例如,大卫123或亨利ABC。他们共享他们的代码(这很容易记住,因为它是个人的)。在你的应用程序中,你提供了一个推荐框,新用户可以输入代码来解锁其他功能。这样你就可以跟踪,而不必担心指纹。指纹识别法的一大问题是iOS不够唯一,移动的网络共享IP地址。因此,在伦敦使用iPhone 6s的人在EE上的指纹很可能与其他人的指纹相同。

mepcadol

mepcadol7#

这可以使用Google Campaign Measurement来完成,其中在utm_source中只为每个用户给予唯一的编号/字符串,当用户的朋友安装应用程序时,您将收到该编号.字符串,因为Google Play商店将在安装后使用broadcast

相关问题