コード例 #1
0
        public override void TrackScreen(string screenName)
        {
            var context = Application.Context;

            if (context == null)
            {
                return;
            }

            // Set screen name.
            Tracker.SetScreenName(screenName);

            // Send a screen view.
            var screenViewBuilder = new HitBuilders.ScreenViewBuilder();

            foreach (var key in CustomDimensions.Keys)
            {
                screenViewBuilder.SetCustomDimension(key, CustomDimensions[key]);
            }

            Tracker.Send(screenViewBuilder.Build());
        }
コード例 #2
0
        public void TrackScreen(
            string screenName,
            string campaignUrl,
            List <ProductData> products,
            ProductActions productAction,
            ActionData actionData,
            PromotionData promotion,
            List <CustomDimension> customDimensions,
            List <CustomMetric> customMetrics
            )
        {
            analyticsTracker.SetScreenName(screenName);

            var builder = new HitBuilders.ScreenViewBuilder();

            if (customDimensions?.Count > 0)
            {
                foreach (var customDimension in customDimensions)
                {
                    builder.SetCustomDimension(customDimension.DimensionIndex, customDimension.DimensionValue);
                }
            }

            if (customMetrics?.Count > 0)
            {
                foreach (var customMetric in customMetrics)
                {
                    builder.SetCustomMetric(customMetric.MetricIndex, customMetric.MetricValue);
                }
            }

            if (!string.IsNullOrWhiteSpace(campaignUrl))
            {
                builder.SetCampaignParamsFromUrl(campaignUrl);
            }

            if (promotion != null)
            {
                builder.AddPromotion(generatePromotion(promotion));
            }

            if (products != null)
            {
                foreach (var p in products)
                {
                    var product = mapper.mapProduct(p);
                    switch (productAction)
                    {
                    case ProductActions.none:
                        builder.AddImpression(product, screenName);
                        break;

                    default:
                        builder.SetProductAction(generateCheckoutProductAction(actionData, productAction));
                        builder.AddProduct(product);
                        break;
                    }
                }
            }
            analyticsTracker.Send(builder.Build());
        }