![](/img/trans.png)
[英]How to send push notification from Firebase to web app on iOS device?
[英]How to send push notification from web to iOS and android device using AWS SNS in Laravel 5.1?
我编码像
$sns = App::make('aws')->createClient('sns');
$data = json_encode([
'APNS' => ['apns' => [
'alert' => $message
]
]
]);
Log::info($data);
$sns->publish(array(
'Message' => $data,
'TargetArn' => "arn:aws:sns:us-west-2:360542326270:endpoint/APNS_SANDBOX/Testtest/20a75cd1-da25-3331-8126-4db497cbdd5e"
));
我收到如下错误:
[Aws\Sns\Exception\SnsException]
在“ https://sns.us-east-1.amazonaws.com ”上执行“发布”时出错; AWS HTTP错误:客户端错误: POST https://sns.us-east-1.amazonaws.com
导致400 Bad Request
响应:
<Type>Sender</Type>
<Code>InvalidPara (truncated...)
InvalidParameter(客户端):无效参数:TargetArn原因:找不到为目标arn指定的端点-
<Type>Sender</Type>
<Code>InvalidParameter</Code>
<Message>Invalid parameter: TargetArn Reason: No endpoint found for the target arn specified</Message>
<RequestId>18937e90-5453-5e30-bf89-315a59c3f2af</RequestId>
[GuzzleHttp \\异常\\ ClientException]
客户端错误: POST https://sns.us-east-1.amazonaws.com
导致400 Bad Request
响应:
<Type>Sender</Type>
<Code>InvalidPara (truncated...)
谁能帮助我找到解决方案? 提前致谢..
查看此论坛帖子 。 基本上,问题源于您的Topic / Target arn适用于us-west-2 。 但是默认情况下,您的SNS客户端指向us-east-1 。 您需要在setRegion
上调用setRegion。
帖子说的是这样的:
snsClient.setRegion(Region.getRegion(Regions.US_WEST_2));
您可能必须将其转换为所使用的PHP laravel特定客户端。
我已通过以下链接https://github.com/aws/aws-sdk-php-laravel
使用AWS账户Key和secret在config / aws.php文件中更新了配置文件。 这样,它就可以工作了。 以前,我已经在.env文件中进行了更新。 现在,它运作良好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.