Android. Stats. Sending statistics about Booking.Com thru Alohalitics and Flurry.

This commit is contained in:
Vladimir Byko-Ianko 2016-06-22 14:57:52 +03:00
parent 3a9cb317a1
commit 456681d5b0
2 changed files with 30 additions and 10 deletions

View file

@ -392,7 +392,7 @@ public class PlacePageView extends RelativeLayout
break;
case BOOKING:
onBookingClick(true);
onBookingClick(true /* book */, mMapObject);
break;
}
}
@ -464,7 +464,7 @@ public class PlacePageView extends RelativeLayout
refreshPreview();
}
private void onBookingClick(final boolean book)
private void onBookingClick(final boolean book, final MapObject hotelPos)
{
// TODO (trashkalmar): Set correct text
Utils.checkConnection(getActivity(), R.string.common_check_internet_connection_dialog, new Utils.Proc<Boolean>()
@ -480,18 +480,16 @@ public class PlacePageView extends RelativeLayout
return;
Map<String, String> params = new HashMap<>();
params.put("provider", "Booking.com");
MapObject myPos = LocationHelper.INSTANCE.getMyPosition();
params.put("lat", (myPos == null ? "N/A" : String.valueOf(myPos.getLat())));
params.put("lon", (myPos == null ? "N/A" : String.valueOf(myPos.getLon())));
params.put("provider", "Booking.Com");
params.put("hotel_lat", (hotelPos == null ? "N/A" : String.valueOf(hotelPos.getLat())));
params.put("hotel_lon", (hotelPos == null ? "N/A" : String.valueOf(hotelPos.getLon())));
params.put("hotel", info.getId());
String event = (book ? Statistics.EventName.PP_SPONSORED_BOOK
: Statistics.EventName.PP_SPONSORED_DETAILS);
Statistics.INSTANCE.trackEvent(event, params);
org.alohalytics.Statistics.logEvent(event, params);
final Location location = LocationHelper.INSTANCE.getLastKnownLocation();
Statistics.INSTANCE.trackEvent(event, location, params);
try
{
@ -1014,7 +1012,7 @@ public class PlacePageView extends RelativeLayout
addPlace();
break;
case R.id.ll__more:
onBookingClick(false);
onBookingClick(false /* book */, mMapObject);
break;
case R.id.iv__bookmark_color:
saveBookmarkTitle();

View file

@ -2,13 +2,16 @@ package com.mapswithme.util.statistics;
import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Build;
import android.support.annotation.NonNull;
import android.util.Log;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.facebook.appevents.AppEventsLogger;
@ -260,6 +263,25 @@ public enum Statistics
}
}
public void trackEvent(@NonNull String name, Location location, @NonNull Map<String, String> params)
{
if (mEnabled)
{
List<String> eventDictionary = new ArrayList<String>();
for (Map.Entry<String, String> entry : params.entrySet())
{
eventDictionary.add(entry.getKey().toString());
eventDictionary.add(entry.getValue());
}
org.alohalytics.Statistics.logEvent(name, eventDictionary.toArray(new String[0]), location);
params.put("lat", (location == null ? "N/A" : String.valueOf(location.getLatitude())));
params.put("lon", (location == null ? "N/A" : String.valueOf(location.getLongitude())));
FlurryAgent.logEvent(name, params);
}
}
public void trackEvent(@NonNull String name, @NonNull ParameterBuilder builder)
{
trackEvent(name, builder.get());