Aws amplify 如何使用Amazon Amplify SDK为我的Android应用程序用户以编程方式发送短信?
我想在我的应用程序用户使用其电话号码注册时,向他们的电话号码发送欢迎信息(SMS)。我找不到这个特殊任务的官方文档。不确定发送短信是否是一项服务,Amazon Amplify提供Aws amplify 如何使用Amazon Amplify SDK为我的Android应用程序用户以编程方式发送短信?,aws-amplify,aws-amplify-sdk-android,Aws Amplify,Aws Amplify Sdk Android,我想在我的应用程序用户使用其电话号码注册时,向他们的电话号码发送欢迎信息(SMS)。我找不到这个特殊任务的官方文档。不确定发送短信是否是一项服务,Amazon Amplify提供 但是你可以使用类似于向手机发送短信(以及更多)的服务。AWS Amplify可以通过与Amazon Pinpoint集成,帮助你设置短信、电子邮件和向用户发送通知。请查看此处的文档: Amazon Pinpoint允许您创建用户细分、消息模板、活动(包括A/B测试和金丝雀)、旅程(仅限于目前为止的电子邮件)以及其他许多
但是你可以使用类似于向手机发送短信(以及更多)的服务。AWS Amplify可以通过与Amazon Pinpoint集成,帮助你设置短信、电子邮件和向用户发送通知。请查看此处的文档:
Amazon Pinpoint允许您创建用户细分、消息模板、活动(包括A/B测试和金丝雀)、旅程(仅限于目前为止的电子邮件)以及其他许多内容。您可以使用AWS Amplify对其进行集成和配置,但AWS Amplify仍然不支持我提到的一些功能,您必须使用AWS控制台进行配置,或者使用AWS SDK与您的应用程序集成。您可以利用AWS Amplify Auth模块获得有效的Cognito令牌,该令牌将允许您直接与Amazon Pinpoint交互。Amazon允许您这样做。假设您正在使用Cognito注册,您将希望使用确认后Cognito lambda触发器
放大身份验证更新
是否要为Cognito配置Lambda触发器?
,回答是,然后选择确认后
触发器postconfimation cloudformation template.json
文件,在Resources.lambdaexecutionpolicy.Properties.PolicyDocument.statement
下添加新语句:
{
"Resources": {
"lambdaexecutionpolicy": {
"Properties": {
"PolicyDocument": {
"Statement": [
{
"Effect": "Allow",
"Action": "sns:*",
"Resource": "*"
}
]
...
}
...
}
...
}
...
}
...
}
var aws=require('aws-sdk');
var sms=新的aws.SNS();
exports.handler=(事件、上下文、回调)=>{
console.log(事件);
if(event.request.userAttributes.phone_number){
sendSMS(event.request.userAttributes.phone_号码,“恭喜”+event.userName+”,您已确认:“,功能(状态){
//返回亚马逊Cognito
回调(null,事件);
});
}否则{
//无事可做,用户的电话号码未知
回调(null,事件);
}
};
函数sendSMS(收件人、消息、完成回调){
常量参数={
消息:消息,/*必需*/
电话号码:至
};
sns.publish(参数、函数(错误、数据){
如果(错误){
console.log(err,err.stack);//发生错误
}否则{
控制台日志(数据);
}
已完成的回拨(“已发送短信”);
})
};