From e76b591fd4d8e3445d24671f74372e22562d45a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B0=D0=BD=D0=B4=D1=80=20?= =?UTF-8?q?=D0=97=D0=B0=D1=86=D0=B5=D0=BF=D0=B8=D0=BD?= Date: Wed, 10 May 2017 18:23:01 +0300 Subject: [PATCH] [android] Added mytracker events for banners --- .../widget/placepage/BannerController.java | 8 ++++++-- .../mapswithme/util/statistics/Statistics.java | 18 +++++++++++++++++- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/android/src/com/mapswithme/maps/widget/placepage/BannerController.java b/android/src/com/mapswithme/maps/widget/placepage/BannerController.java index 028b5ff22d..41e8fab627 100644 --- a/android/src/com/mapswithme/maps/widget/placepage/BannerController.java +++ b/android/src/com/mapswithme/maps/widget/placepage/BannerController.java @@ -35,6 +35,9 @@ import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT; import static com.mapswithme.util.SharedPropertiesUtils.isShowcaseSwitchedOnLocal; import static com.mapswithme.util.statistics.Statistics.EventName.PP_BANNER_CLICK; import static com.mapswithme.util.statistics.Statistics.EventName.PP_BANNER_SHOW; +import static com.mapswithme.util.statistics.Statistics.PP_BANNER_STATE_DETAILS; +import static com.mapswithme.util.statistics.Statistics.PP_BANNER_STATE_PREVIEW; + final class BannerController { @@ -303,7 +306,7 @@ final class BannerController else if (!mOpened) { close(); - Statistics.INSTANCE.trackPPBanner(PP_BANNER_SHOW, data, 0); + Statistics.INSTANCE.trackPPBanner(PP_BANNER_SHOW, data, PP_BANNER_STATE_PREVIEW); } else { @@ -400,7 +403,8 @@ final class BannerController @Override public void onClick(@NonNull MwmNativeAd ad) { - Statistics.INSTANCE.trackPPBanner(PP_BANNER_CLICK, ad, mOpened ? 1 : 0); + Statistics.INSTANCE.trackPPBanner(PP_BANNER_CLICK, ad, + mOpened ? PP_BANNER_STATE_DETAILS : PP_BANNER_STATE_PREVIEW); } } } diff --git a/android/src/com/mapswithme/util/statistics/Statistics.java b/android/src/com/mapswithme/util/statistics/Statistics.java index a186ddadce..fe5dd92f8a 100644 --- a/android/src/com/mapswithme/util/statistics/Statistics.java +++ b/android/src/com/mapswithme/util/statistics/Statistics.java @@ -6,6 +6,7 @@ import android.location.Location; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.os.Build; +import android.support.annotation.IntDef; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.text.TextUtils; @@ -29,7 +30,10 @@ import com.mapswithme.maps.widget.placepage.Sponsored; import com.mapswithme.util.Config; import com.mapswithme.util.ConnectionState; import com.mapswithme.util.Counters; +import com.my.tracker.MyTracker; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -38,6 +42,7 @@ import java.util.Map; import static com.mapswithme.util.statistics.Statistics.EventName.DOWNLOADER_DIALOG_ERROR; import static com.mapswithme.util.statistics.Statistics.EventName.PP_BANNER_BLANK; import static com.mapswithme.util.statistics.Statistics.EventName.PP_BANNER_ERROR; +import static com.mapswithme.util.statistics.Statistics.EventName.PP_BANNER_SHOW; import static com.mapswithme.util.statistics.Statistics.EventName.PP_OWNERSHIP_BUTTON_CLICK; import static com.mapswithme.util.statistics.Statistics.EventName.PP_SPONSORED_BOOK; import static com.mapswithme.util.statistics.Statistics.EventParam.BANNER; @@ -64,6 +69,13 @@ public enum Statistics { INSTANCE; + @Retention(RetentionPolicy.SOURCE) + @IntDef({PP_BANNER_STATE_PREVIEW, PP_BANNER_STATE_DETAILS}) + public @interface BannerState {} + + public static final int PP_BANNER_STATE_PREVIEW = 0; + public static final int PP_BANNER_STATE_DETAILS = 1; + // Statistics counters private int mBookmarksCreated; private int mSharedTimes; @@ -537,12 +549,15 @@ public enum Statistics trackHotelEvent(PP_SPONSORED_BOOK, hotel, mapObject); } - public void trackPPBanner(@NonNull String eventName, @NonNull MwmNativeAd ad, int state) + public void trackPPBanner(@NonNull String eventName, @NonNull MwmNativeAd ad, @BannerState int state) { trackEvent(eventName, Statistics.params() .add(BANNER, ad.getBannerId()) .add(PROVIDER, ad.getProvider()) .add(BANNER_STATE, String.valueOf(state))); + + if (!eventName.equals(PP_BANNER_SHOW) || state == PP_BANNER_STATE_PREVIEW) + MyTracker.trackEvent(eventName); } public void trackPPBannerError(@NonNull String bannerId, @NonNull String provider, @@ -557,6 +572,7 @@ public enum Statistics .add(PROVIDER, provider) .add(BANNER_STATE, String.valueOf(state)); trackEvent(eventName, builder.get()); + MyTracker.trackEvent(eventName); } public void trackBookingSearchEvent(@NonNull MapObject mapObject)