Identifiant utilisateur dans une Webview

 

Avant-propos

Dans le cas où votre application doit utiliser une WebView et que vous souhaitez identifier l’utilisateur, vous pouvez récupérer l’identifiant client pour ensuite le passer en paramètre de l’URL de votre WebView. Ainsi vous pourrez exploiter cet identifiant avec du code JavaScript par exemple.

Cette méthode étant asynchrone, il vous faut implémenter le callback quand la donnée est exploitable

package com.atinternet.atinternetdemo;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

import com.atinternet.tracker.ATInternet;
import com.atinternet.tracker.Tracker;
import com.atinternet.tracker.UserIdCallback;


public class MainActivity extends Activity {

    private Tracker tracker;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tracker = ATInternet.getInstance().getDefaultTracker();
    }

    @Override
    protected void onResume() {
        super.onResume();
        tracker.getUserId(new UserIdCallback() {
            @Override
            public void receiveUserId(String id) {
                Log.d(null, "Current idclient is : " + id);
                // Start your Web view here
            }
        });
    }
}

Depuis la version 2.3.0, il existe une nouvelle méthode équivalente permettant de le faire en synchrone (Attention : il est nécessaire d’envoyer un premier hit avant de l’utiliser. Dans le cas contraire, un warning est envoyé par le SDK)

@Override
protected void onResume() {
    super.onResume();
    tracker.getUserIdSync();
}

 

Dernière mise à jour : 05/04/2018