Capabilities of Amazon SNS Mobile Push Notifications - amazon-web-services

I have a project in my mind where an administrator sends a push notification to all users from his Smartphone, if a shopkeeper has to notify all his customers for instance. The procedure will be as follows:
1. Admin Mobile-to-Cloud
2. Cloud-to-UserMobiles
Does Amazon SNS support this procedure ?. I have made a quick research and it seems like that it only supports Cloud-to-Mobile and not the other way round.

AWS Mobile SDK for Android and iOS support AWS SNS API, so you can easily implement the functionality by going through the steps in this link if you're using Android:
http://docs.aws.amazon.com/sns/latest/dg/mobile-push-gcm.html
Remember to implement the functionality in step 4 in an Android project instead of Java (this will be an administrator app in your case).

Related

Is AWS SNS required for Firebase Cloud Messaging?

I have a production server running an application and also a mobile app for the same, I want to use FCM as my push notification service , but what I'm seeing from the google website and most stack overflow answers is somewhat conflicting. Stack has a lot of answers on how to get FCM running on SNS, I want to know is it possible to simply use FCM (as its free) or would I need SNS , if not why bother setting up SNS for FCM? Keep in mind I only want to use FCM through an API for a django server and not through the firebase console.
The Firebase documentation is clear on how to get started, and nowhere does it state that SNS is required. Just follow the documentation for your client app platform.
If you want to send messages from your AWS backend, you can just use the Firebase Admin SDK for your chosen backend OS. It will also not require SNS.
If you are having a specific problem with FCM, you should ask a new question explaining what you've done so far that doesn't work the way you expect, along with your code and links to the documentation you're working with.

How to integrate AWS Lex chatbot in Xamarin application?

I have basic understanding of .net and chatbot.
I wanted to integrate Amazon lex in xamarin(ios, android)app. There seems to be no example or sample. I have created chatbot from AWS platform intent and slots.
Also I wanted to use database to get query return. Any sample to integrate AWS Lex with Xamarin app would be helpful.
As I understand from your question, you already have some implementation of chatbot made with AWS services, but you are having issue on integrating it to your xamarin application to be able to use it in IOS and Android devices.
For that purpose, there is AWS Mobile SDK which happens to support also xamarin.
From their link:
https://docs.aws.amazon.com/mobile/sdkforxamarin/developerguide/Welcome.html
I also did not find a Lex tutorial directly, but a very promising quote:
Supported AWS services currently include, but are not limited to [narrow list of services]
was on the same page. I looked around, found this text:
The AWS Mobile SDK for .NET and Xamarin also allows you to use most of the AWS services supported by the AWS SDK for .NET. The AWS services specific to mobile development are explained in this developer guide. For more information about the AWS SDK for .NET, see [a link]
clicked the link and ended here:
https://docs.aws.amazon.com/sdkfornet/v3/apidocs/Index.html
and under link AmazonLex -> AmazonLexClient there was something, you probably wanted to see:
Version Information
.NET Standard:
Supported in: 1.3
.NET Framework:
Supported in: 4.5, 4.0, 3.5
Portable Class Library:
Supported in: Windows Store Apps
Supported in: Windows Phone 8.1
Supported in: Xamarin Android
Supported in: Xamarin iOS (Unified)
Supported in: Xamarin.Forms
Those 3 last let me understand that whenever you setup Mobile SDK, you get access to AWS services in Xamarin, also Lex.
Steps to install on
https://docs.aws.amazon.com/mobile/sdkforxamarin/developerguide/setup.html
mainly contain steps on how to create xamarin app and get AWS account, most important is to install the AWS Mobile SDK for .NET and Xamarin and configure it. More detailed steps are under that link.
After that the process is to follow the instructions on:
https://aws.amazon.com/getting-started/projects/bots-just-got-better-net-toolkit-lex-lambda-cognito/module-one/
like pointed in comments. I suppose once you have access to any service via Mobile SDK, the wire up of Lex may go in similar steps and no special just xamarin tutorial is not needed anymore.
It seems you are looking for both architecture and sample code for implementing AWS Lex bot with .NET backend that can be integrated with iOS/Android Frontend.
You have multiple choices here to do it
Build both chat user interfaces in iOS and Android and integrate them AWS iOS & Android SDKs to utilize the AWS LEX bot.
Just implement a bot user interface in iOS and Android app and integrate it with a .NET backend that can utilize AWS .NET SDK to integrate with your LEX bot.
I would recommend the second approach as it will save you writing the LEX integration code twice both in Android and in iOS. In the second appraoch you will be able to write a single integration for AWS LEX in .NET and that can give a unified experience across the mobile devices(iOS/Android)
Now for the .NET based backend integration with AWS LEX bot.
If you are an experienced .NET developer and you know how will you host your code then only thing that you need is the .NET API reference for AWS LEX, which can be found here
https://docs.aws.amazon.com/sdkfornet/v3/apidocs/items/Lex/TLexClient.html
But if you are not sure how to write this integration code and also not sure how the deployment will look like then you can follow the below tutorial
Bots Just Got Better with .NET and the AWS Toolkit for Visual Studio
Also, find here the architecture form the above tutorial
there is no direct solution like Amazon Lex is supported by React-native. i confirmed with xamarin team as well as AWS service one of the member. direct integration not possible.

Amazon Cognito + iOS Swift - Custom UI

I'm trying to setup Amazon Cognito with a custom UI I've set up in Swift for iOS. The built-in UI from the Amazon iOS SDK doesn't fit the look of the app, so I can't use it.
Anyone here have advice on how to use Amazon Cognito with a custom UI?
This tutorial shows me how to use Cognito, but NOT using a custom UI.
There are two available AWS SDKs to satisfy this use-case:
The AWS iOS SDK[a].
The AWS Amplify iOS SDK[b].
For a sample app that you could use as a reference while writing code, you could also take a look at this iOS application[c], and build your own application with a custom UI while referring to the steps in the readme of the application. This Github repository has codes both in Objective C and Swift, which is another bonus.
References
[a]. https://github.com/aws-amplify/aws-sdk-ios
[b]. https://aws-amplify.github.io/docs/ios/authentication
[c]. https://github.com/awslabs/aws-sdk-ios-samples/tree/master/CognitoYourUserPools-Sample

How Should I integrate Amazon RDS in Flutter? Any native dart support package?

how to use AWS RDS in flutter dart code?
I went through - this post
It says -
I work on the AWS SDK team. I am not aware of any plans to support Flutter at this point. I will take this to my team as a feature request and will post back
Should I do as suggested here?
Build your own service layer using HTTP, gRPC that talks to some backend service that provides access to a data store. You can do this with Express, Rails, CloudFunctions, etc.
You can either use dart code to do HTTP/gRPC, or use Platform channel to wrap dart code around native iOS and Android code of AWS official SDK.
On another note, I'm highly concerned when you connect directly from mobile (Flutter) to database (AWS RDS). Please be aware that anything on mobile app can be reversed engineer, and your database connection credential is not safe. It's recommended to have only backend proxy, or at least severless (such as AWS lambda function) connect directly to database (not mobile or web frontend). The only exception is with Firebase Realtime Database because it has seamless integration with Firebase Authentication

Using SQS and token vending machine on non ios and andorid devices

I am developing an app on both j2me and windows phone 8 platform and the app will need to access the Amazon SQS.
Of course this has to be done securely. I can only see the android and ios sdk, how do I securely (with the token vending machine) access the Amazon SQS on other platform other than ios and android?
While there is no TVM sample for C#, you may be interested in this blog post - http://notebookheavy.com/2012/04/19/amazon-simpledb-for-windows-phone-part-4-tvmclient/
The author has converted much of the Android implementation into C# and it may give you a head start.
You may also be interested in using web identity federation. This blog post explains how to use that with the AWS SDK for .NET.