

**End of support notice:** On October 30, 2026, AWS will end support for Amazon Pinpoint. After October 30, 2026, you will no longer be able to access the Amazon Pinpoint console or Amazon Pinpoint resources (endpoints, segments, campaigns, journeys, and analytics). For more information, see [Amazon Pinpoint end of support](https://docs.aws.amazon.com/console/pinpoint/migration-guide). **Note:** APIs related to SMS, voice, mobile push, OTP, and phone number validate are not impacted by this change and are supported by AWS End User Messaging.

# Integrate Amazon Pinpoint with your application
<a name="integrate"></a>

Integrate Amazon Pinpoint with your client code to understand and engage your users.

After you integrate and your users launch your application, it connects to the Amazon Pinpoint service to add or update *endpoints*. Endpoints represent the destinations that you can message—such as user devices, email addresses, or phone numbers.

Your application can then provide usage data, or *events*. View event data in the Amazon Pinpoint console to learn how many users you have, how often they use your application, when they use it, and more. 

After your application supplies endpoints and events, you can use this information to tailor messaging campaigns for specific audiences, or *segments*. (You can also directly message simple lists of recipients without creating campaigns.)

Use the topics in this section to integrate Amazon Pinpoint with a mobile or web application. These topics include code examples and procedures to integrate with a JavaScript, Android, Swift, or Flutter application. To start integrating your apps, see [Connect your frontend application to Amazon Pinpoint using AWS Amplify](integrate-sdk.md).

Outside of your client, you can use [supported AWS SDKs](sdk-general-information-section.md) or the [Amazon Pinpoint API](https://docs.aws.amazon.com/pinpoint/latest/apireference/) to import endpoints, export event data, define customer segments, create and run campaigns, and more.

**Topics**
+ [Using Amazon Pinpoint with an AWS SDK](sdk-general-information-section.md)
+ [Connect your frontend application to Amazon Pinpoint using AWS Amplify](integrate-sdk.md)
+ [Register Amazon Pinpoint endpoints in your application](integrate-endpoints.md)
+ [Report Amazon Pinpoint events in your application](integrate-events.md)

# Using Amazon Pinpoint with an AWS SDK
<a name="sdk-general-information-section"></a>

AWS software development kits (SDKs) are available for many popular programming languages. Each SDK provides an API, code examples, and documentation that make it easier for developers to build applications in their preferred language.


| SDK documentation | Code examples | 
| --- | --- | 
| [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/sdk-for-cpp) | [AWS SDK for C\$1\$1 code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/cpp) | 
| [AWS CLI](https://docs.aws.amazon.com/cli) | [AWS CLI code examples](https://docs.aws.amazon.com/code-library/latest/ug/cli_2_code_examples.html) | 
| [AWS SDK for Go](https://docs.aws.amazon.com/sdk-for-go) | [AWS SDK for Go code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/gov2) | 
| [AWS SDK for Java](https://docs.aws.amazon.com/sdk-for-java) | [AWS SDK for Java code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2) | 
| [AWS SDK for JavaScript](https://docs.aws.amazon.com/sdk-for-javascript) | [AWS SDK for JavaScript code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3) | 
| [AWS SDK for Kotlin](https://docs.aws.amazon.com/sdk-for-kotlin) | [AWS SDK for Kotlin code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/kotlin) | 
| [AWS SDK for .NET](https://docs.aws.amazon.com/sdk-for-net) | [AWS SDK for .NET code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/dotnetv3) | 
| [AWS SDK for PHP](https://docs.aws.amazon.com/sdk-for-php) | [AWS SDK for PHP code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/php) | 
| [AWS Tools for PowerShell](https://docs.aws.amazon.com/powershell) | [AWS Tools for PowerShell code examples](https://docs.aws.amazon.com/code-library/latest/ug/powershell_5_code_examples.html) | 
| [AWS SDK for Python (Boto3)](https://docs.aws.amazon.com/pythonsdk) | [AWS SDK for Python (Boto3) code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python) | 
| [AWS SDK for Ruby](https://docs.aws.amazon.com/sdk-for-ruby) | [AWS SDK for Ruby code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/ruby) | 
| [AWS SDK for Rust](https://docs.aws.amazon.com/sdk-for-rust) | [AWS SDK for Rust code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/rustv1) | 
| [AWS SDK for SAP ABAP](https://docs.aws.amazon.com/sdk-for-sapabap) | [AWS SDK for SAP ABAP code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap) | 
| [AWS SDK for Swift](https://docs.aws.amazon.com/sdk-for-swift) | [AWS SDK for Swift code examples](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/swift) | 

For examples specific to Amazon Pinpoint, see [Code examples for Amazon Pinpoint using AWS SDKs](service_code_examples.md).

**Example availability**  
Can't find what you need? Request a code example by using the **Provide feedback** link at the bottom of this page.

# Connect your frontend application to Amazon Pinpoint using AWS Amplify
<a name="integrate-sdk"></a>

Use AWS Amplify to integrate your app with AWS. For Swift apps, see [Getting started](https://docs.amplify.aws/gen1/swift/start/getting-started/introduction/) in the Amplify for Swift documentation. For Android apps, see [Getting started](https://docs.amplify.aws/gen1/android/start/getting-started/introduction/) in the Amplify for Android SDK documentation. For React Native app, see [Getting started](https://docs.amplify.aws/gen1/react-native/start/getting-started/introduction/) in the Amplify JavaScript documentation. For Flutter apps, see [Getting started](https://docs.amplify.aws/gen1/flutter/start/getting-started/introduction/) in the Flutter SDK documentation. These topics help you to:
+ Set up your backend resources.
+ Connect your app to the backend resources using the Amplify libraries. 

To learn more about connecting your frontend app to Amazon Pinpoint for analytics, in-app messaging, and push notifications, see [AWS Amplify](https://docs.amplify.aws/react/build-a-backend/).

## Next step
<a name="integrate-sdk-next"></a>

After you integrate AWS Amplify with your application, update your code to register your users' devices as endpoints. For more information, see [Register Amazon Pinpoint endpoints in your application](integrate-endpoints.md).

# Register Amazon Pinpoint endpoints in your application
<a name="integrate-endpoints"></a>

When a user starts a session (for example, by launching your mobile app), your mobile or web application can automatically register (or update) an *endpoint* with Amazon Pinpoint. The endpoint represents the device that the user starts the session with. It includes attributes that describe the device, and it can also include custom attributes that you define. Endpoints can also represent other methods of communicating with customers, such as email addresses or mobile phone numbers. 

After your application registers endpoints, you can segment your audience based on endpoint attributes. You can then engage these segments with tailored messaging campaigns. You can also use the **Analytics** page in the Amazon Pinpoint console to view charts about endpoint registration and activity, such as **New endpoints** and **Daily active endpoints**.

You can assign a single user ID to multiple endpoints. A user ID represents a single user, while each endpoint that is assigned the user ID represents one of the user's devices. After you assign user IDs to your endpoints, you can view charts about user activity in the console, such as **Daily active users** and **Monthly active users**. 

## Before you begin
<a name="integrate-endpoints-before"></a>

If you haven't done so already, integrate the AWS Mobile SDK for Android or iOS or integrate the AWS Amplify JavaScript library with your application. For more information, see [Connect your frontend application to Amazon Pinpoint using AWS Amplify](integrate-sdk.md).

## Register endpoints with the AWS mobile SDKs for Android or iOS
<a name="integrate-endpoints-mobile"></a>

You can use the AWS Mobile SDKs for Android or iOS to register and customize endpoints. For more information, and to view code examples, see the following documents:
+ [Registering endpoints in your application](https://docs.amplify.aws/gen1/swift/sdk/analytics/endpoints/) in the Android SDK documentation.
+ [Registering endpoints in your application](https://docs.amplify.aws/gen1/android/sdk/analytics/endpoints/) in the iOS SDK documentation.

## Register endpoints with the AWS Amplify JavaScript library
<a name="integrate-events-amplify"></a>

You can use the AWS Amplify JavaScript library to register and update endpoints in your apps. For more information, and to view code examples, see [Update endpoint](https://docs.amplify.aws/gen1/nextjs/build-a-backend/more-features/analytics/analytics-migration-guide/#analyticsupdateendpoint) in the AWS Amplify JavaScript documentation.

## Next steps
<a name="integrate-endpoints-next"></a>

After you update your app to register endpoints, device information and custom attributes are provided to Amazon Pinpoint when users launch your app. You can use this information to define audience segments. You can also use the console to see endpoint metrics and users who are assigned user IDs. You can also complete the steps in [Report Amazon Pinpoint events in your application](integrate-events.md) to update your app to report usage data.

# Report Amazon Pinpoint events in your application
<a name="integrate-events"></a>

In your mobile or web application, you can use AWS Mobile SDKs or the [Amazon Pinpoint events API](https://docs.aws.amazon.com/pinpoint/latest/apireference/rest-api-events.html) to report usage data, or *events*, to Amazon Pinpoint. You can report events to capture information such as session times, users' purchasing behavior, sign-in attempts, or any custom event type that you need.

After your application reports events, you can view analytics in the Amazon Pinpoint console. The charts on the **Analytics** page provide metrics for many aspects of user behavior. For more information, see [Chart reference for Amazon Pinpoint analytics](https://docs.aws.amazon.com/pinpoint/latest/userguide/analytics-charts.html) in the *Amazon Pinpoint User Guide*.

To analyze and store your event data outside of Amazon Pinpoint, you can configure Amazon Pinpoint to stream the data to Amazon Kinesis. For more information, see [Stream app event data through Kinesis and Firehose using Amazon Pinpoint](event-streams.md).

By using the AWS Mobile SDKs and the AWS Amplify JavaScript libraries, you can call the Amazon Pinpoint API to report the following types of events:

**Session events**  
Indicate when and how often users open and close your app.  
After your application reports session events, use the **Analytics** page in the Amazon Pinpoint console to view charts for **Sessions**, **Daily active endpoints**, **7-day retention rate**, and more.

**Custom events**  
Are nonstandard events that you define by assigning a custom event type. You can add custom attributes and metrics to a custom event.  
On the **Analytics** page in the console, the **Events** tab displays metrics for all custom events that are reported by your app.

**Monetization events**  
Report the revenue that's generated by your application and the number of items that are purchased by users.  
On the **Analytics** page, the **Revenue** tab displays charts for **Revenue**, **Paying users**, **Units sold**, and more.

**Authentication events**  
Indicate how frequently users authenticate with your application.  
On the **Analytics** page, the **Users** tab displays charts for **Sign-ins**, **Sign-ups**, and **Authentication failures**.

## Before you begin
<a name="integrate-events-before"></a>

If you haven't already, do the following:
+ Integrate your app with AWS Amplify. See [Connect your frontend application to Amazon Pinpoint using AWS Amplify](integrate-sdk.md).
+ Update your application to register endpoints. See [Register Amazon Pinpoint endpoints in your application](integrate-endpoints.md).

## Report events with the AWS mobile SDKs for Android or iOS
<a name="integrate-events-mobile-sdks"></a>

You can enable a mobile app to report events to Amazon Pinpoint by using the AWS Mobile SDKs for iOS and Android.

For more information about updating your app to record and submit events to Amazon Pinpoint, see the following pages in the AWS Amplify documentation:
+ [Analytics](https://docs.amplify.aws/swift/build-a-backend/add-aws-services/analytics/) in the iOS SDK documentation
+ [Analytics](https://docs.amplify.aws/android/build-a-backend/add-aws-services/analytics/) in the Android SDK documentation

## Report events with the AWS Amplify JavaScript library
<a name="integrate-events-amplify"></a>

You can enable JavaScript and React Native apps to report application usage events to Amazon Pinpoint by using the AWS Amplify JavaScript library. For more information about updating your app to submit events to Amazon Pinpoint, see [Analytics](https://docs.amplify.aws/nextjs/build-a-backend/add-aws-services/analytics/) in the AWS Amplify JavaScript documentation.

## Report events with the Amazon Pinpoint API
<a name="integrate-events-api"></a>

You can use the Amazon Pinpoint API or an AWS SDK to submit events to Amazon Pinpoint in bulk. For more information, see [Events](https://docs.aws.amazon.com/pinpoint/latest/apireference/rest-api-events.html) in the *Amazon Pinpoint API Reference*.

## Next steps
<a name="integrate-events-next"></a>

After you update your app to report events, it sends usage data to Amazon Pinpoint. You can view this data in the console and stream it to Amazon Kinesis. You can also update your app to handle the push notifications that you send with Amazon Pinpoint. For more information, see the following topics in the [AWS End User Messaging Push User Guide](https://docs.aws.amazon.com//push-notifications/latest/userguide/what-is-service.html). 
+ [Setting up push notifications](https://docs.aws.amazon.com//push-notifications/latest/userguide/procedure-enable-push.html)
+ [Setting up Swift Push Notifications](https://docs.aws.amazon.com//push-notifications/latest/userguide/mobile-push.html#apns-setup)
+ [Setting up Android push notifications](https://docs.aws.amazon.com//push-notifications/latest/userguide/mobile-push.html#mobile-push-android)
+ [Setting up Flutter Push Notifications](https://docs.aws.amazon.com//push-notifications/latest/userguide/mobile-push.html#mobile-push-flutter)
+ [Setting up React Native Push Notifications](https://docs.aws.amazon.com//push-notifications/latest/userguide/mobile-push.html#mobile-push-react-native)
+ [Create a project](https://docs.aws.amazon.com//push-notifications/latest/userguide/mobile-push.html#mobile-push-create-project)
+ [Handling push notifications](https://docs.aws.amazon.com//push-notifications/latest/userguide/mobile-push.html#integrate-push-services)