4 Stimmen

Wie kann man am genauesten feststellen, ob der Besucher einer mobilen Webanwendung einzigartig ist?

Ich muss eine Webanwendung entwickeln, die die eindeutige Kennung (z. B. die Mac-Adresse) des Smartphones, das sie verwendet, kennen muss. Die meisten Methoden, die ich mir anschaue, sind Cookie/IP-basiert, aber das ist in meinem Fall nicht sinnvoll, da ich versuche, die Nutzung einer nativen Android-App mit der Nutzung der entsprechenden Webapp abzugleichen.

Ist dies also überhaupt möglich? Wenn ja, welche Technologie sollte ich für die Webapp-Entwicklung verwenden?

Danke!

1voto

ahodder Punkte 11208

Sie können ein UUID-Cookie beim Benutzer hinterlassen. Wenn der Nutzer die App aufruft, vergleichen Sie die UUID mit Ihrer Liste der früheren Besucher. Wenn Sie sie finden, sind sie nicht eindeutig.

Edit: Mit Cookie meine ich, dass man einfach eine UUID-String-Datei auf der SD-Karte des Benutzers hinterlegen oder sie in einer Einstellung der Anwendung speichern könnte.

0 Stimmen

Danke, aber die Sache ist... was passiert, wenn der Benutzer die Webapp (die Website) viele Male besucht, bevor er die native App herunterlädt? Wie kann ich wissen, dass es sich um denselben Benutzer handelt? Ich muss die UUID von der Website kennen und ich bin nicht sicher, ob dies möglich ist.

0 Stimmen

Kann man dafür nicht trotzdem einen normalen Cookie verwenden? Wenn sie den Browser benutzen, um Ihre Website anzusehen, können sie immer noch Cookies erhalten. Verwenden Sie dann den Cookie-Manager, um das benötigte Cookie zum Abrufen Ihrer Informationen zu finden.

0 Stimmen

Ich kann dafür ein normales Cookie verwenden, aber wenn Sie sich meine Frage ansehen, habe ich mich dagegen entschieden (oder besser: "Ich ziehe es vor, das nicht zu tun"), weil ich es nicht für zuverlässig genug halte. Der Benutzer kann die Cookies jederzeit löschen oder einen anderen Browser verwenden. Die Frage bleibt also die gleiche. Gibt es eine Möglichkeit, eine eindeutige Kennung für ein Smartphone zu erhalten, wenn es auf einer Webseite navigiert?

1voto

Vermutlich wird die Anwendung aus dem Android Market installiert, so dass Sie ein in der Download-URL übergebenes Website-Cookie nicht zuordnen können (oder, zweifellos, genau das tun).

Können Sie in diesem Fall das URL-Rewriting verwenden? Oder zumindest eine eindeutige ID in jeden Zugriff auf Ihre Website einfügen, die zweifellos einem Cookie entspricht. Wenn der Benutzer dann die Anwendung herunterlädt und sie zum ersten Mal ausführt, kann sie auf den Browserverlauf zugreifen und nach dieser eindeutigen ID suchen, sie speichern (falls sie existiert) und sie in nachfolgende Serveranfragen aufnehmen.

int occasions=0;
        String sessionId = null;
        while (cursor.moveToNext()) {
            String urlVisited=cursor.getString(cursor.getColumnIndex(BookmarkColumns.URL));
            Log.d("Match",urlVisited);
            if (urlVisited.contains("www.mysite.com") && urlVisited.contains("MYUNIQUEID")) {
            //There's a unique ID. Trim it out of the query string.                 
                    sessionId=urlVisited.substring(urlVisited.indexOf("MYUNIQUEID")+10);
                    if (sessionId.indexOf('&')>-1) {
                        sessionId=sessionId.substring(0,sessionId.indexOf('&'));
                    }
                    occasions++;
                }
            }
            Log.d("Match","occasions="+occasions);
            if (sessionId!=null) {
                getSharedPreferences("com.mysite", MODE_PRIVATE).edit().putString("SITEID", sessionId);
            }

Das scheint ein bisschen wie ein Hack zu sein - vielleicht weil es einer ist - aber es sollte funktionieren, und mir fällt kein anderer sicherer Weg ein, Browser- und benutzerdefinierte Client-Anfragen zu verknüpfen. Wenn der Benutzer seinen Verlauf oder seine Cookies löscht, bevor er die Anwendung herunterlädt und ausführt, wird das oben genannte natürlich nicht funktionieren.

Ich hoffe, das ist eine Hilfe.

0 Stimmen

Vielen Dank für den Code und die Mühe. Die Sache ist, wie ich in der Frage sagte, möchte ich die Verwendung eines Cookies überspringen, da ich nicht glaube, dass es zuverlässig ist. Aber es sieht so aus, als hätte ich keine andere Chance, da ich keinen richtigen Weg finden kann, um ein Smartphone ohne Fehlermarge zu identifizieren.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X