So implementieren Sie ein Empfehlungsprogramm in mobilen Apps für Android und iPhone

70

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

James Khoo
quelle
Branch.io-Metriken können von Nutzen sein. Die Dokumentation ist schlecht, aber der Dienst ist ein anständiger Empfehlungscode-Dienst
portfoliobuilder
@portfoliobuilder Ich versuche es zu implementieren, aber ich kann es scheinbar nicht richtig machen. Haben Sie ein funktionierendes Beispiel? Oder können Sie sich vielleicht meine Frage ansehen? stackoverflow.com/questions/39181681/…
John Sardinha

Antworten:

88

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.

Purush Pawar
quelle
3
Hallo Puru, danke für Ihre Antwort. Ich bin an Punkt 3 interessiert. Sie implementieren in gewisser Weise eine "Gerätefingerabdruckmethode". Die Frage ist jedoch, ob die IP-Adresse + Benutzeragent + Gerätemodell ausreicht, um ein eindeutiges Gerät zu identifizieren.
James Khoo
12
Was passiert, wenn sich die IP-Adresse ändert? Wenn beispielsweise jemand auf 3G auf den Empfehlungslink geklickt hat, die App aber später zum ersten Mal über WLAN ausführt?
Jowie
15
Branch - branch.io - hat diese Lösung von Ende zu Ende erstellt und kostenlos weitergegeben. Sie haben sogar ein Kreditbelohnungssystem aufgebaut, mit dem Sie dem Überweiser und dem Schiedsrichter auf der Grundlage der vom Überweiser ergriffenen Maßnahmen Gutschriften gewähren können.
1
Informationen zur Genauigkeit von Fingerabdrücken und zu den Randfällen finden Sie hier dev.branch.io/recipes/matching_accuracy - Mit dieser Option können Sie das Fingerabdruckerlebnis an die Genauigkeit anpassen, die Sie benötigen (z. B. Ändern der Zeit vor Ablauf des Fingerabdrucks). @ JamesKhoo
Acingersoll
1
Haben wir eine andere Option, da diese Antwort im Jahr 2014 veröffentlicht wurde? Möglicherweise bietet Apple eine bessere Lösung für den App Store.
Sharad Paghadal
10

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: -

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

Wenn Sie eine gebrauchsfertige Lösung verwenden möchten, können Sie auf branch.io verweisen

Chandan Kumar
quelle
Hast du eine Probe? können Sie bitte teilen, wenn überhaupt.
Vishnu Prabhu
Wir haben branch.io für unsere Lösung verwendet. Das wird in der App-Seite erledigt. Laut Firebase-Dokumenten funktioniert dies nur mit Google Login.
Chandan Kumar
Können Sie bitte den Link teilen, der besagt, dass es nur mit Google Login funktioniert. Es wird mir helfen, meinen Manager zu überzeugen. Ist Branch.io auch kostenlos oder kostenpflichtig?
Vishnu Prabhu
2
Firebase arbeitet mit einigen Eckfällen. Weitere Informationen finden Sie in den Dokumenten. Firebase.google.com/docs/dynamic-links/use-cases/… Und branch.io ist bis zu einer bestimmten Anzahl von Benutzern kostenlos und wird dann bezahlt
Chandan Kumar
Es scheint, dass Firebase das einzige bekannte SDK mit solchen Fähigkeiten ist
Umar Farooque
6

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

https://play.google.com/store/apps/details?id=com.example.app&referrer=example_referral_code_here

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:

  1. Benutzer-Frameworks / Dienste von Drittanbietern wie alau.me
  2. eine Problemumgehung mit Fingerabdrücken, ähnlich wie Puru Pawar vorschlägt
  3. Lassen Sie den Benutzer einfach den Referenzcode in Ihre App eingeben
lxknvlk
quelle
4

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

Teraiya Mayur
quelle
1
Die einfachste Antwort, die ich unter allen gefunden habe. Einfach und ohne Probleme. Das hat mir einfach sehr geholfen. Vielen Dank.
Rumit Patel
Wie kann ich testen diese
Yogesh Paliyal
1

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:

  1. Cookie-basiertes Tracking, das hier ausführlich erläutert wird
  2. In die Zwischenablage kopierte URL (Firebase scheint sowohl die Zwischenablage als auch den Cookie-Ansatz zu verwenden, basiert jedoch auf persönlicher Beobachtung - keine offizielle Quelle).
    • Wenn der Benutzer Ihre Webseite besucht (dh :) example.com/invite/123, zeigen Sie eine Webseite an, bevor Sie zum App Store weiterleiten.
    • Lassen Sie den Benutzer auf dieser Seite eine Taste drücken, damit Sie eine Zeichenfolge in die Zwischenablage / Pasteboard kopieren können, document.execCommand('copy')nachdem Sie eine Zeichenfolge ausgewählt haben, die sich in einer versteckten Eingabe über focus()und befindetsetSelectionRange()
    • Wenn der Benutzer nach der Installation in der App landet, können Sie zwei Dinge tun:
      1. Fangen Sie Zwischenablage- / Pasteboard-Inhalte über UIPasteboard.general.string(schnell) ab und führen Sie einige Parsing- oder API-Aufrufe durch
      2. Leiten Sie den Benutzer (über seinen Standardbrowser, um zu vermeiden, dass keine Cookies vorhanden sind) auf eine Seite in derselben Domain wie im ursprünglichen Link (dh mydomain.com/retrieve) zurück, damit die Seite die ursprünglich gesetzten Cookies erhält (in Schritt 1) .) vom Browser beim Besuch sanft geteilt. Sie können den Benutzer dann zu Ihrem ursprünglichen Link zurückleiten, da die App jetzt installiert ist und Universal Linking nun wie vorgesehen funktioniert.
rels
quelle
0

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 .

rjsadda
quelle
0

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.

PlatformDating
quelle