Wir haben eine mobile App, die sowohl im Google Play Store als auch im Apple AppStore verfügbar ist. Wir möchten ein Empfehlungsprogramm implementieren, damit mehr Benutzer unsere App installieren und verwenden können.
Hier ist die User Story:
- Jeder neue Benutzer (z. B. John) erhält einen eindeutigen Empfehlungslink, über den er / sie an FB / TW / Email oder SMS weitergeben kann.
- Wenn John Friend auf den Link klickt, wird er zur jeweiligen AppStore-Basis auf seinem Gerät weitergeleitet.
- In dem Moment, in dem Johns Freund die App installiert und die App öffnet, sollte unser Server benachrichtigt werden, und wir werden wissen, dass die Überweisung von John stammt. John wird entsprechend belohnt.
Wir haben eine Reihe von Tools zur Verfolgung der Installation mobiler Apps evaluiert. Die meisten Tools eignen sich am besten für Publisher / Mobile Advertisement.
Schätzen Sie alle Kommentare, Vorschläge
Prost James
Antworten:
Wir führen in unserer App ein ähnliches Empfehlungssystem durch, das dem Empfehlungsgeber (einer, der den Link zur App tatsächlich freigegeben hat) bei erfolgreicher Installation der App durch einen neuen Benutzer (einer, der den Link erhalten hat) eine bestimmte Anzahl von Prämienpunkten zur Verfügung stellt.
Ich werde versuchen, unsere Implementierung anhand Ihres Szenarios zu erklären: Entsprechend Ihrer User Story:
Jeder neue Benutzer (zB John) erhält einen eindeutigen Empfehlungslink, über den er ihn per FB / TW / E-Mail oder SMS an seine Freunde weitergeben kann.
Wenn Johns Freund auf den Link klickt, wird er zuerst zu einem Servlet weitergeleitet, das ihn schließlich auf der Grundlage seiner Plattform (Android / iPhone) zum jeweiligen AppStore weiterleitet, um die App herunterzuladen.
Beachten Sie, dass wir die IP-Adresse, den Benutzeragenten und das Gerätemodell des Benutzers ermitteln können, der mit einem Servlet auf den Link geklickt hat.
Wir wissen bereits, dass der Verweislink zu John gehört, und daher ordnet das Servlet die IP-Adresse, den Benutzeragenten und / oder das Gerätemodell von Johns Freund Johns Eintrag in der Datenbank zu.
Sobald Johns Freund die App installiert und die App öffnet, sendet die Anwendung die IP-Adresse, den Benutzeragenten und / oder das Gerätemodell an den Server.
Der Server überprüft den Eintrag mit allen Benutzern, um den Referrer zu finden. Wenn er ihn findet, in unserem Fall John, wird John entsprechend belohnt.
Das ist es. Wir haben dies im letzten Monat selbst implementiert und es hat unsere Downloads erhöht. Lassen Sie mich wissen, ob das hilfreich ist.
quelle
Wenn noch jemand nach einer Lösung für diese Frage sucht. Ich habe viele Blogs und Dokumente zum gleichen Problem gelesen und bin zu folgendem Schluss gekommen:
IP-Adresse + Benutzeragent + Gerätemodell reicht nicht aus, um ein Gerät eindeutig zu identifizieren. Ich denke, es ist besser, dynamische Links zu verwenden. Sie können dynamische Links erstellen, die eine eindeutige ID enthalten. Und diese Daten überleben die URL-Umleitung zum App Store und auch nach der Installation kann Ihre App die eindeutige ID von Dynamic Link erhalten. Die Firebase von Google kann zum Erstellen dynamischer Links verwendet werden: -
Wenn Sie eine gebrauchsfertige Lösung verwenden möchten, können Sie auf branch.io verweisen
quelle
Android
Unter Android können Sie einen Installations-Broadcast-Listener erstellen, in dem Sie den Referrer-Teil des Links zu SharedPreferences abrufen und speichern können
Für diese Prüfung
Android - Ist es möglich, Referrer programmgesteuert zu installieren
und
Referrer nach Installation der App aus Android Market abzurufen
und
https://developer.android.com/google/play/installreferrer/library.html
iOS
Derzeit (Januar 2016) ist es nicht möglich, den Verweiscode für die Installation in Ihrer App abzurufen, wie dies bei Android der Fall ist.
Optionen, die ich für ios hatte, waren:
quelle
Gradle-Datei
implementation 'com.android.installreferrer:installreferrer:1.0'
CODE IN AKTIVITÄT EINFÜGEN, WO ES REFFERAL CODE ERHALTEN MUSS
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. } });
SHARE LINK BEISPIEL
https://play.google.com/store/apps/details?id=com.yourpackage&referrer=9BE46300
quelle
Haftungsausschluss: Da ich mit der ursprünglich akzeptierten Antwort nicht zufrieden bin, biete ich eine alternative Lösung für diesen "beliebten" Thread an.
Unter Android ist dies überhaupt kein Problem. Mit Google können Sie auf den zur Installationszeit gesendeten Referrer-Parameter zugreifen, indem Sie einen Empfänger registrieren . Sie können auch dessen Referrer-API für die Installation nutzen .
Für iOS ist es etwas schwieriger, da es nicht offiziell unterstützt wird. Wie hier vorgeschlagen , können Sie Fingerabdrücke machen, dies ist jedoch umständlich und weist ein hohes Maß an Ungenauigkeit auf. Es gibt zwei weitere elegante Lösungen, auf die ich gestoßen bin:
example.com/invite/123
, zeigen Sie eine Webseite an, bevor Sie zum App Store weiterleiten.document.execCommand('copy')
nachdem Sie eine Zeichenfolge ausgewählt haben, die sich in einer versteckten Eingabe überfocus()
und befindetsetSelectionRange()
UIPasteboard.general.string
(schnell) ab und führen Sie einige Parsing- oder API-Aufrufe durchquelle
Dies kann mithilfe von Google Campaign Measurement erfolgen, wobei in utm_source für jeden Benutzer nur eine eindeutige Nummer / Zeichenfolge angegeben wird, die Sie erhalten, wenn der Freund des Benutzers die App installiert, da der Google Play Store sie nach der Installation sendet . Beziehen Sie sich auf diese Frage .
quelle
Eine Alternative besteht darin, Ihre aktuellen Benutzer einen eindeutigen Code erstellen zu lassen, z. B. David123 oder HenryABC. Sie teilen ihren Code (der leicht zu merken ist, da er persönlich ist). In Ihrer App stellen Sie ein Empfehlungsfeld bereit, in das ein neuer Benutzer den Code eingibt, um zusätzliche Funktionen freizuschalten. Auf diese Weise können Sie einen Fingerabdruck verfolgen und müssen sich keine Sorgen machen. Das große Problem bei einer Fingerabdruckmethode ist, dass iOS nicht eindeutig genug ist und Mobilfunknetze IP-Adressen gemeinsam nutzen. Jemand mit einem iPhone 6s in London auf EE hat wahrscheinlich den gleichen Fingerabdruck wie Hunderte anderer Leute.
quelle