amplify-swift/AmplifyPlugins/Analytics/AWSPinpointAnalyticsPlugin/Dependency/AWSPinpointTargetingClientB...

56 lines
1.7 KiB
Swift

//
// Copyright Amazon.com Inc. or its affiliates.
// All Rights Reserved.
//
// SPDX-License-Identifier: Apache-2.0
//
import AWSPinpoint
import Foundation
/// Methods copied from `AWSPinpointTargetingClient`
protocol AWSPinpointTargetingClientBehavior {
/**
* Returns the current endpoint.
* @return (id<AWSPinpointEndpoint>)
*/
func currentEndpointProfile() -> AWSPinpointEndpointProfile
/**
* Sends an update of the current endpoint
*/
func updateEndpointProfile() -> AWSTask<AnyObject>
/**
* Updates with the provided endpoint profile, AWSPinpointTargetingClient attributes and metrics are added to the
* profile.
*/
func update(_ endpointProfile: AWSPinpointEndpointProfile) -> AWSTask<AnyObject>
/**
* Adds the specified attribute to the current endpoint profile generated by this client.
* @param theValue A list of strings with the values of the attribute
* @param theKey the name of the attribute to add
*/
func addAttribute(_ theValue: [Any], forKey theKey: String)
/**
* Removes the specified attribute from the current endpoint profile generated by this client.
* @param theKey the key of the attribute to remove
*/
func removeAttribute(forKey theKey: String)
/**
* Adds the specified metric to the current endpoint profile generated by this client.
* @param theValue the value of the metric
* @param theKey the name of the metric to add
*/
func addMetric(_ theValue: NSNumber, forKey theKey: String)
/**
* Removes the specified metric from the current endpoint profile generated by this client.
* @param theKey the key of the metric to remove
*/
func removeMetric(forKey theKey: String)
}