forked from aws-amplify/aws-sdk-ios
-
Notifications
You must be signed in to change notification settings - Fork 0
/
AWSPinpointService.h
77 lines (57 loc) · 3.21 KB
/
AWSPinpointService.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
//
// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License").
// You may not use this file except in compliance with the License.
// A copy of the License is located at
//
// http://aws.amazon.com/apache2.0
//
// or in the "license" file accompanying this file. This file is distributed
// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
// express or implied. See the License for the specific language governing
// permissions and limitations under the License.
//
#import <Foundation/Foundation.h>
#import <AWSCore/AWSCore.h>
#import <StoreKit/StoreKit.h>
NS_ASSUME_NONNULL_BEGIN
@class AWSPinpointConfiguration, AWSPinpointTargetingClient, AWSPinpointAnalyticsClient, AWSPinpointNotificationManager, AWSPinpointSessionClient;
/**
Amazon Pinpoint
*/
@interface AWSPinpoint : NSObject
/**
Returns the `AWSPinpointTargetingClient`. The TargetingClient is the high level client to be used for updating the endpoint profile.
@returns the `AWSPinpointTargetingClient` to update endpoint profile information.
*/
@property (nonatomic, readonly) AWSPinpointTargetingClient * targetingClient;
/**
Returns the `AWSPinpointAnalyticsClient`. The AnalyticsClient is the high level client to be used for recording and sending events.
@returns the `AWSPinpointAnalyticsClient` to create, record, and submit events.
*/
@property (nonatomic, readonly) AWSPinpointAnalyticsClient * analyticsClient;
/**
Returns the `AWSPinpointNotificationManager`. It contains callback interceptors that need to be called for campaign analytics to work.
@returns the `AWSPinpointNotificationManager` used for targeting campaign analytics.
*/
@property (nonatomic, readonly) AWSPinpointNotificationManager * notificationManager;
/**
Returns the `AWSPinpointSessionClient`. The session client should be used only if enableAutoSessionRecording is false.
@returns the `AWSPinpointSessionClient` used for recording session events.
*/
@property (nonatomic, readonly) AWSPinpointSessionClient * sessionClient;
/**
Returns the `AWSPinpointConfiguration`. The configuration passed in to initialize the SDK.
@returns the `AWSPinpointConfiguration`.
*/
@property (nonatomic, readonly) AWSPinpointConfiguration * configuration;
/**
Creates an `AWSPinpoint` instance with the specified `configuration` if the instance does not already exists for the configurations' `appId`. If an instance exists for the given `appId`, returns the existing instance. `configuration` are ignored if an instance exists for the given `appId`. The strong reference to the instance is maintained by `AWSPinpoint`, and the developer does not need to retain it manually.
This initializer should be called inside your AppDelegates' application:didFinishLaunchingWithOptions: method.
@param configuration A configuration object. By default, it uses [AWSServiceManager defaultServiceManager].defaultServiceConfiguration to access the service.
@returns The AWSPinpoint instance with the specified appId or nil if serviceConfiguration is invalid or appId is empty.
*/
+ (nonnull instancetype)pinpointWithConfiguration:(AWSPinpointConfiguration *)configuration;
@end
NS_ASSUME_NONNULL_END