我需要在 Android 设备之间为 AWS Mobile Hub 项目发送推送通知。它只是设备到设备的消息传递,不涉及任何主题。我已经集成了 FCM 和 PinPoint
pinpointManager.getNotificationClient().registerDeviceToken(newToken)
我正在使用此代码获取 endPointID
String epID = pinpointManager.getTargetingClient().currentEndpoint().getEndpointId();
我可以使用上面的 endPointID 从 PinPoint 控制台成功地将消息推送到设备。但我想从 android 设备本身推送。但是,由于 PinPoint Android SDK 中没有任何发布 API,我已经集成了 SNS。我正在尝试使用以下代码使用从 PinPoint 收到的端点 ID 通过 SNS 发布:
PublishRequest publishRequest = new PublishRequest();
publishRequest.setTargetArn(epID);
publishRequest.setMessage("Hello from android");
AmazonSNSClient snsClient = new AmazonSNSClient(App.getCCCProvider());
snsClient.publish(publishRequest);
但收到以下异常
com.amazonaws.services.sns.model.InvalidParameterException:无效参数:TargetArn 原因:ARN 必须至少包含 6 个元素,而不是 1 个(服务:AmazonSNS;状态代码:400;错误代码:InvalidParameter;请求 ID:7ff39768-c6f9 -5a6e-8211-c5ec586276fb)
如果有帮助,我的端点 ID 是:1fa93529-a5ac-4d70-995a-be1584c68a37
你们有什么建议或解决方案吗?