Subscribe a mobile application to an Amazon SNS topic using an Amazon SDK
The following code examples show how to subscribe a mobile application endpoint so it receives notifications from an Amazon SNS topic.
- C++
-
- SDK for C++
-
Note There's more on GitHub. Find the complete example and learn how to set up and run in the Amazon Code Examples Repository
. /** * Subscribe an app endpoint to a topic - demonstrates how to initiate a subscription to an Amazon SNS topic * with delivery to a mobile app. * * NOTE: You must first create an endpoint by registering an app and device. * See https://docs.aws.amazon.com/sns/latest/dg/mobile-push-send-devicetoken.html for more information. * * <protocol_value> set to "application" provides delivery of JSON-encoded message to an EndpointArn * for a mobile app and device (see https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html for available protocols). * <topic_arn_value> can be obtained from run_list_topics executable and includes the "arn:" prefix. * <mobile_endpoint_arn> is the EndpointArn of a mobile app and device. */ int main(int argc, char ** argv) { if (argc != 4) { std::cout << "Usage: subscribe_app <protocol_value/application> <topic_arn_value>" " <mobile_endpoint_arn>" << std::endl; return 1; } Aws::SDKOptions options; Aws::InitAPI(options); { Aws::SNS::SNSClient sns; Aws::String protocol = argv[1]; Aws::String topic_arn = argv[2]; Aws::String endpoint = argv[3]; Aws::SNS::Model::SubscribeRequest s_req; s_req.SetTopicArn(topic_arn); s_req.SetProtocol(protocol); s_req.SetEndpoint(endpoint); auto s_out = sns.Subscribe(s_req); if (s_out.IsSuccess()) { std::cout << "Subscribed successfully " << std::endl; } else { std::cout << "Error while subscribing " << s_out.GetError().GetMessage() << std::endl; } } Aws::ShutdownAPI(options); return 0; }
-
For API details, see Subscribe in Amazon SDK for C++ API Reference.
-
- JavaScript
-
- SDK for JavaScript (v3)
-
Note There's more on GitHub. Find the complete example and learn how to set up and run in the Amazon Code Examples Repository
. Create the client in a separate module and export it.
import { SNSClient } from "@aws-sdk/client-sns"; // Set the AWS Region. const REGION = "REGION"; //e.g. "us-east-1" // Create SNS service object. const snsClient = new SNSClient({ region: REGION }); export { snsClient };
Import the SDK and client modules and call the API.
// Import required AWS SDK clients and commands for Node.js import {SubscribeCommand } from "@aws-sdk/client-sns"; import {snsClient } from "./libs/snsClient.js"; // Set the parameters const params = { Protocol: "application" /* required */, TopicArn: "TOPIC_ARN", //TOPIC_ARN Endpoint: "MOBILE_ENDPOINT_ARN", // MOBILE_ENDPOINT_ARN }; const run = async () => { try { const data = await snsClient.send(new SubscribeCommand(params)); console.log("Success.", data); return data; // For unit tests. } catch (err) { console.log("Error", err.stack); } }; run();
-
For more information, see Amazon SDK for JavaScript Developer Guide.
-
For API details, see Subscribe in Amazon SDK for JavaScript API Reference.
-
For a complete list of Amazon SDK developer guides and code examples, see Using Amazon SNS with an Amazon SDK. This topic also includes information about getting started and details about previous SDK versions.