[android] #2421 - Establishing an app install persistent "vendor id" persisted privately to app
This commit is contained in:
@@ -101,4 +101,7 @@ public class MapboxConstants {
|
||||
public static final String STATE_ATTRIBUTION_ENABLED = "atrrEnabled";
|
||||
|
||||
public static final String TAG = "MapboxMap";
|
||||
|
||||
public static final String MAPBOX_SHARED_PREFERENCES_FILE = "MapboxSharedPreferences";
|
||||
public static final String MAPBOX_SHARED_PREFERENCE_KEY_VENDORID = "mapboxVendorId";
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import android.app.ActivityManager;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
@@ -62,11 +63,27 @@ public class MapboxEventManager {
|
||||
|
||||
private DisplayMetrics displayMetrics = null;
|
||||
|
||||
private String mapboxVendorId = null;
|
||||
|
||||
private MapboxEventManager(@NonNull Context context) {
|
||||
super();
|
||||
this.accessToken = ApiAccess.getToken(context);
|
||||
this.context = context;
|
||||
|
||||
// Load / Create Vendor Id
|
||||
SharedPreferences prefs = context.getSharedPreferences(MapboxConstants.MAPBOX_SHARED_PREFERENCES_FILE, Context.MODE_PRIVATE);
|
||||
if (prefs.contains(MapboxConstants.MAPBOX_SHARED_PREFERENCE_KEY_VENDORID)) {
|
||||
mapboxVendorId = prefs.getString(MapboxConstants.MAPBOX_SHARED_PREFERENCE_KEY_VENDORID, "Default Value");
|
||||
Log.i(TAG, "Found Vendor Id = " + mapboxVendorId);
|
||||
} else {
|
||||
String vendorId = "Mapbox-" + UUID.randomUUID().toString();
|
||||
SharedPreferences.Editor editor = prefs.edit();
|
||||
editor.putString(MapboxConstants.MAPBOX_SHARED_PREFERENCE_KEY_VENDORID, vendorId);
|
||||
editor.apply();
|
||||
editor.commit();
|
||||
Log.i(TAG, "Set New Vendor Id = " + vendorId);
|
||||
}
|
||||
|
||||
// Get DisplayMetrics Setup
|
||||
displayMetrics = new DisplayMetrics();
|
||||
((WindowManager)context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay().getMetrics(displayMetrics);
|
||||
@@ -276,7 +293,7 @@ public class MapboxEventManager {
|
||||
jsonObject.put(MapboxEvent.ATTRIBUTE_VERSION, MapboxEvent.VERSION_NUMBER);
|
||||
jsonObject.put(MapboxEvent.ATTRIBUTE_CREATED, evt.get("created"));
|
||||
jsonObject.put(MapboxEvent.ATTRIBUTE_INSTANCE, SESSION_UUID);
|
||||
jsonObject.put(MapboxEvent.ATTRIBUTE_VENDOR_ID, "");
|
||||
jsonObject.put(MapboxEvent.ATTRIBUTE_VENDOR_ID, mapboxVendorId);
|
||||
jsonObject.put(MapboxEvent.ATTRIBUTE_APP_BUNDLE_ID, context.getPackageName());
|
||||
jsonObject.put(MapboxEvent.ATTRIBUTE_MODEL, Build.MODEL);
|
||||
jsonObject.put(MapboxEvent.ATTRIBUTE_OPERATING_SYSTEM, Build.VERSION.RELEASE);
|
||||
|
||||
Reference in New Issue
Block a user