コード例 #1
0
        public static void Main(string[] args)
        {
            Console.WriteLine("Sync app");

            using var loggerFactory = LoggerFactory.Create(builder =>
            {
                builder.AddSimpleConsole(options => options.TimestampFormat = "hh:mm:ss ");
                builder.SetMinimumLevel(LogLevel.Debug);
            });
            logger = loggerFactory.CreateLogger <ProgramSync>();

            // Initialize the SDK

            var targetClientConfig = new TargetClientConfig.Builder("adobetargetmobile", "B8A054D958807F770A495DD6@AdobeOrg")
                                     .SetLogger(logger)
                                     .SetDecisioningMethod(DecisioningMethod.OnDevice)
                                     .SetOnDeviceDecisioningReady(DecisioningReady)
                                     .SetArtifactDownloadSucceeded(artifact => Console.WriteLine("ArtifactDownloadSucceeded: " + artifact))
                                     .SetArtifactDownloadFailed(exception => Console.WriteLine("ArtifactDownloadFailed " + exception.Message))
                                     .Build();

            targetClient = TargetClient.Create(targetClientConfig);

            // sample server-side GetOffers call

            var deliveryRequest = new TargetDeliveryRequest.Builder()
                                  .SetDecisioningMethod(DecisioningMethod.ServerSide)
                                  .SetThirdPartyId("testThirdPartyId")
                                  .SetContext(new Context(ChannelType.Web))
                                  .SetExecute(new ExecuteRequest(null, new List <MboxRequest>
            {
                new (index: 0, name: "a1-serverside-ab")
            }))
コード例 #2
0
        public void Build_ReturnClientConfig()
        {
            var testWebProxy  = new Mock <WebProxy>().Object;
            var testLogger    = new Mock <ILogger>().Object;
            var readyDelegate = new Mock <Action>().Object;

            var targetClientConfig = new TargetClientConfig.Builder(testClientId, testOrgId)
                                     .SetServerDomain(testDomain)
                                     .SetDefaultPropertyToken(testPropertyToken)
                                     .SetSecure(true)
                                     .SetLogger(testLogger)
                                     .SetTimeout(testTimeout)
                                     .SetProxy(testWebProxy)
                                     .SetDecisioningMethod(DecisioningMethod.OnDevice)
                                     .SetOnDeviceDecisioningReady(readyDelegate)
                                     .SetTelemetryEnabled(false)
                                     .Build();

            Assert.Equal(testClientId, targetClientConfig.Client);
            Assert.Equal(testOrgId, targetClientConfig.OrganizationId);
            Assert.Equal("https://" + testClientId + "." + testDomain, targetClientConfig.DefaultUrl);
            Assert.Equal(testPropertyToken, targetClientConfig.DefaultPropertyToken);
            Assert.Equal(testLogger, targetClientConfig.Logger);
            Assert.Equal(testTimeout, targetClientConfig.Timeout);
            Assert.Equal(testWebProxy, targetClientConfig.Proxy);
            Assert.Equal(DecisioningMethod.OnDevice, targetClientConfig.DecisioningMethod);
            Assert.Equal(readyDelegate, targetClientConfig.OnDeviceDecisioningReady);
            Assert.False(targetClientConfig.TelemetryEnabled);
        }
コード例 #3
0
        public async Task RunAsync(string[] args)
        {
            Console.WriteLine("Async app");
            this.logger.LogInformation("Starting ...");

            var targetClientConfig = new TargetClientConfig.Builder("adobetargetmobile", "B8A054D958807F770A495DD6@AdobeOrg")
                                     .SetLogger(this.logger)
                                     .Build();

            this.targetClient.Initialize(targetClientConfig);

            var deliveryRequest = new TargetDeliveryRequest.Builder()
                                  .SetThirdPartyId("testThirdPartyId")
                                  .SetContext(new Context(ChannelType.Web))
                                  .SetExecute(new ExecuteRequest(null, new List <MboxRequest>
            {
                new MboxRequest(index: 1, name: "a1-serverside-ab")
            }))
                                  .Build();

            var response = await this.targetClient.GetOffersAsync(deliveryRequest);

            App.PrintCookies(this.logger, response);

            var notificationRequest = new TargetDeliveryRequest.Builder()
                                      .SetSessionId(response.Request.SessionId)
                                      .SetTntId(response.Response?.Id?.TntId)
                                      .SetThirdPartyId("testThirdPartyId")
                                      .SetContext(new Context(ChannelType.Web))
                                      .SetNotifications(new List <Notification>()
            {
                { new(id: "notificationId1", type: MetricType.Display, timestamp: DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(),
                      tokens: new List <string>()) }
            })
コード例 #4
0
        public async Task RunAsync(string[] args)
        {
            Console.WriteLine("Async app");

            // Initialize the SDK

            var targetClientConfig = new TargetClientConfig.Builder("adobetargetmobile", "B8A054D958807F770A495DD6@AdobeOrg")
                                     .SetLogger(this.logger)
                                     .SetDecisioningMethod(DecisioningMethod.OnDevice)
                                     .SetOnDeviceDecisioningReady(this.DecisioningReady)
                                     .SetArtifactDownloadSucceeded(artifact => Console.WriteLine("ArtifactDownloadSucceeded: " + artifact))
                                     .SetArtifactDownloadFailed(exception => Console.WriteLine("ArtifactDownloadFailed " + exception.Message))
                                     .Build();

            this.targetClient.Initialize(targetClientConfig);

            // sample server-side GetOffers call

            var deliveryRequest = new TargetDeliveryRequest.Builder()
                                  .SetDecisioningMethod(DecisioningMethod.ServerSide)
                                  .SetThirdPartyId("testThirdPartyId")
                                  .SetContext(new Context(ChannelType.Web))
                                  .SetExecute(new ExecuteRequest(null, new List <MboxRequest>
            {
                new MboxRequest(index: 1, name: "a1-serverside-ab")
            }))
                                  .Build();

            var response = await this.targetClient.GetOffersAsync(deliveryRequest);

            App.PrintCookies(this.logger, response);

            // sample SendNotifications call

            var notificationRequest = new TargetDeliveryRequest.Builder()
                                      .SetDecisioningMethod(DecisioningMethod.ServerSide)
                                      .SetSessionId(response.Request.SessionId)
                                      .SetTntId(response.Response?.Id?.TntId)
                                      .SetThirdPartyId("testThirdPartyId")
                                      .SetContext(new Context(ChannelType.Web))
                                      .SetNotifications(new List <Notification>()
            {
                { new(id: "notificationId1", type: MetricType.Display, timestamp: DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(),
                      tokens: new List <string>()) }
            })
コード例 #5
0
        private TargetClientConfig GetTargetClientConfig(IDictionary <string, object> config, string artifact)
        {
            var configBuilder =
                new TargetClientConfig.Builder((string)config["client"], (string)config["organizationId"])
                .SetLocalArtifactOnly(true)
                .SetOnDeviceArtifactPayload(this.fixture.Artifacts[artifact]);

            if (config.ContainsKey("decisioningMethod"))
            {
                // Enum.TryParse<DecisioningMethod>((string)config["decisioningMethod"], out var parsedDecisioning);
                var e = Enum.Parse <DecisioningMethod>((string)config["decisioningMethod"]);
                configBuilder.SetDecisioningMethod(e);
            }

            if (config.ContainsKey("telemetryEnabled"))
            {
                configBuilder.SetTelemetryEnabled((bool)config["telemetryEnabled"]);
            }

            return(configBuilder.Build());
        }
コード例 #6
0
        public static void Main(string[] args)
        {
            Console.WriteLine("Sync app");

            using var loggerFactory = LoggerFactory.Create(builder =>
            {
                builder.AddSimpleConsole(options => options.TimestampFormat = "hh:mm:ss ");
                builder.SetMinimumLevel(LogLevel.Debug);
            });
            var logger = loggerFactory.CreateLogger <ProgramSync>();

            var targetClientConfig = new TargetClientConfig.Builder("adobetargetmobile", "B8A054D958807F770A495DD6@AdobeOrg")
                                     .SetLogger(logger)
                                     .SetDecisioningMethod(DecisioningMethod.OnDevice)
                                     .SetOnDeviceDecisioningReady(DecisioningReady)
                                     .SetArtifactDownloadSucceeded(artifact => Console.WriteLine("ArtifactDownloadSucceeded: " + artifact))
                                     .SetArtifactDownloadFailed(exception => Console.WriteLine("ArtifactDownloadFailed " + exception.Message))
                                     .Build();

            targetClient = TargetClient.Create(targetClientConfig);

            Thread.Sleep(3000);
        }
コード例 #7
0
        public ParamsCollatorsShould()
        {
            var targetClientConfig = new TargetClientConfig.Builder(testClientId, testOrgId).Build();

            _ = TargetClient.Create(targetClientConfig);
        }
コード例 #8
0
        public TargetDeliveryRequestBuildShould()
        {
            var targetClientConfig = new TargetClientConfig.Builder(testClientId, testOrgId).Build();

            _ = TargetClient.Create(targetClientConfig);
        }