/// <summary>
        /// Run the code example.
        /// </summary>
        /// <param name="service">An initialized Dfa Reporting service object
        /// </param>
        public override void Run(DfareportingService service)
        {
            long floodlightActivityId = long.Parse(_T("INSERT_FLOODLIGHT_ACTIVITY_ID_HERE"));
            long profileId            = long.Parse(_T("INSERT_USER_PROFILE_ID_HERE"));

            string conversionMobileId = _T("INSERT_CONVERSION_MOBILE_ID_HERE");

            // Generate a timestamp in milliseconds since Unix epoch.
            TimeSpan timeStamp = DateTime.UtcNow - new DateTime(1970, 1, 1);
            long     currentTimeInMilliseconds = (long)timeStamp.TotalMilliseconds;

            // Find the Floodlight configuration ID based on the provided activity ID.
            FloodlightActivity floodlightActivity =
                service.FloodlightActivities.Get(profileId, floodlightActivityId).Execute();
            long floodlightConfigurationId = (long)floodlightActivity.FloodlightConfigurationId;

            // Create the conversion.
            Conversion conversion = new Conversion();

            conversion.MobileDeviceId            = conversionMobileId;
            conversion.FloodlightActivityId      = floodlightActivityId;
            conversion.FloodlightConfigurationId = floodlightConfigurationId;
            conversion.Ordinal         = currentTimeInMilliseconds.ToString();
            conversion.TimestampMicros = currentTimeInMilliseconds * 1000;

            // Insert the conversion.
            ConversionsBatchInsertRequest request = new ConversionsBatchInsertRequest();

            request.Conversions = new List <Conversion>()
            {
                conversion
            };

            ConversionsBatchInsertResponse response =
                service.Conversions.Batchinsert(request, profileId).Execute();

            // Handle the batchinsert response.
            if (!response.HasFailures.Value)
            {
                Console.WriteLine("Successfully inserted conversion for mobile device ID {0}.",
                                  conversionMobileId);
            }
            else
            {
                Console.WriteLine("Error(s) inserting conversion for mobile device ID {0}:",
                                  conversionMobileId);

                ConversionStatus status = response.Status[0];
                foreach (ConversionError error in status.Errors)
                {
                    Console.WriteLine("\t[{0}]: {1}", error.Code, error.Message);
                }
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Inserts conversions.
        /// Documentation https://developers.google.com/dfareporting/v2.7/reference/conversions/batchinsert
        /// Generation Note: This does not always build corectly.  Google needs to standardise things I need to figuer out which ones are wrong.
        /// </summary>
        /// <param name="service">Authenticated Dfareporting service.</param>
        /// <param name="profileId">User profile ID associated with this request.</param>
        /// <param name="body">A valid Dfareporting v2.7 body.</param>
        /// <returns>ConversionsBatchInsertResponseResponse</returns>
        public static ConversionsBatchInsertResponse Batchinsert(DfareportingService service, string profileId, ConversionsBatchInsertRequest body)
        {
            try
            {
                // Initial validation.
                if (service == null)
                {
                    throw new ArgumentNullException("service");
                }
                if (body == null)
                {
                    throw new ArgumentNullException("body");
                }
                if (profileId == null)
                {
                    throw new ArgumentNullException(profileId);
                }

                // Make the request.
                return(service.Conversions.Batchinsert(body, profileId).Execute());
            }
            catch (Exception ex)
            {
                throw new Exception("Request Conversions.Batchinsert failed.", ex);
            }
        }
        /// <summary>
        /// Run the code example.
        /// </summary>
        /// <param name="service">An initialized Dfa Reporting service object
        /// </param>
        public override void Run(DfareportingService service)
        {
            long encryptionEntityId   = long.Parse(_T("INSERT_ENCRYPTION_ENTITY_TYPE"));
            long floodlightActivityId = long.Parse(_T("INSERT_FLOODLIGHT_ACTIVITY_ID_HERE"));
            long profileId            = long.Parse(_T("INSERT_USER_PROFILE_ID_HERE"));

            string conversionUserId     = _T("INSERT_CONVERSION_USER_ID_HERE");
            string encryptionEntityType = _T("INSERT_ENCRYPTION_ENTITY_TYPE_HERE");
            string encryptionSource     = _T("INSERT_ENCRYPTION_SOURCE_HERE");

            // [START create_conversion] MOE:strip_line
            // Generate a timestamp in milliseconds since Unix epoch.
            TimeSpan timeSpan = DateTime.UtcNow - new DateTime(1970, 1, 1);
            long     currentTimeInMilliseconds = (long)timeSpan.TotalMilliseconds;

            // Find the Floodlight configuration ID based on the provided activity ID.
            FloodlightActivity floodlightActivity =
                service.FloodlightActivities.Get(profileId, floodlightActivityId).Execute();
            long floodlightConfigurationId = (long)floodlightActivity.FloodlightConfigurationId;

            // Create the conversion.
            Conversion conversion = new Conversion();

            conversion.EncryptedUserId           = conversionUserId;
            conversion.FloodlightActivityId      = floodlightActivityId;
            conversion.FloodlightConfigurationId = floodlightConfigurationId;
            conversion.Ordinal         = currentTimeInMilliseconds.ToString();
            conversion.TimestampMicros = currentTimeInMilliseconds * 1000;
            // [END create_conversion] MOE:strip_line

            // [START create_encryption_info] MOE:strip_line
            // Create the encryption info.
            EncryptionInfo encryptionInfo = new EncryptionInfo();

            encryptionInfo.EncryptionEntityId   = encryptionEntityId;
            encryptionInfo.EncryptionEntityType = encryptionEntityType;
            encryptionInfo.EncryptionSource     = encryptionSource;
            // [END create_encryption_info] MOE:strip_line

            // [START insert_conversion] MOE:strip_line
            // Insert the conversion.
            ConversionsBatchInsertRequest request = new ConversionsBatchInsertRequest();

            request.Conversions = new List <Conversion>()
            {
                conversion
            };
            request.EncryptionInfo = encryptionInfo;

            ConversionsBatchInsertResponse response =
                service.Conversions.Batchinsert(request, profileId).Execute();

            // [END insert_conversion] MOE:strip_line

            // [START process_response] MOE:strip_line
            // Handle the batchinsert response.
            if (!response.HasFailures.Value)
            {
                Console.WriteLine("Successfully inserted conversion for encrypted user ID {0}.",
                                  conversionUserId);
            }
            else
            {
                Console.WriteLine("Error(s) inserting conversion for encrypted user ID {0}:",
                                  conversionUserId);

                ConversionStatus status = response.Status[0];
                foreach (ConversionError error in status.Errors)
                {
                    Console.WriteLine("\t[{0}]: {1}", error.Code, error.Message);
                }
            }
            // [END process_response] MOE:strip_line
        }
        /// <summary>
        /// Run the code example.
        /// </summary>
        /// <param name="service">An initialized Dfa Reporting service object
        /// </param>
        public override void Run(DfareportingService service)
        {
            long encryptionEntityId = long.Parse(_T("INSERT_ENCRYPTION_ENTITY_TYPE"));
              long floodlightActivityId = long.Parse(_T("INSERT_FLOODLIGHT_ACTIVITY_ID_HERE"));
              long profileId = long.Parse(_T("INSERT_USER_PROFILE_ID_HERE"));

              string conversionUserId = _T("INSERT_CONVERSION_USER_ID_HERE");
              string encryptionEntityType = _T("INSERT_ENCRYPTION_ENTITY_TYPE_HERE");
              string encryptionSource = _T("INSERT_ENCRYPTION_SOURCE_HERE");

              // Generate a timestamp in milliseconds since Unix epoch.
              TimeSpan timeSpan = DateTime.UtcNow - new DateTime(1970, 1, 1);
              long currentTimeInMilliseconds = (long) timeSpan.TotalMilliseconds;

              // Find the Floodlight configuration ID based on the provided activity ID.
              FloodlightActivity floodlightActivity =
              service.FloodlightActivities.Get(profileId, floodlightActivityId).Execute();
              long floodlightConfigurationId = (long) floodlightActivity.FloodlightConfigurationId;

              // Create the conversion.
              Conversion conversion = new Conversion();
              conversion.EncryptedUserId = conversionUserId;
              conversion.FloodlightActivityId = floodlightActivityId;
              conversion.FloodlightConfigurationId = floodlightConfigurationId;
              conversion.Ordinal = currentTimeInMilliseconds.ToString();
              conversion.TimestampMicros = currentTimeInMilliseconds * 1000;

              // Create the encryption info.
              EncryptionInfo encryptionInfo = new EncryptionInfo();
              encryptionInfo.EncryptionEntityId = encryptionEntityId;
              encryptionInfo.EncryptionEntityType = encryptionEntityType;
              encryptionInfo.EncryptionSource = encryptionSource;

              // Insert the conversion.
              ConversionsBatchInsertRequest request = new ConversionsBatchInsertRequest();
              request.Conversions = new List<Conversion>() { conversion };
              request.EncryptionInfo = encryptionInfo;

              ConversionsBatchInsertResponse response =
              service.Conversions.Batchinsert(request, profileId).Execute();

              // Handle the batchinsert response.
              if (!response.HasFailures.Value) {
            Console.WriteLine("Successfully inserted conversion for encrypted user ID {0}.",
            conversionUserId);
              } else {
            Console.WriteLine("Error(s) inserting conversion for encrypted user ID {0}:",
            conversionUserId);

            ConversionStatus status = response.Status[0];
            foreach(ConversionError error in status.Errors) {
              Console.WriteLine("\t[{0}]: {1}", error.Code, error.Message);
            }
              }
        }