使用 SNS 向 Android 发送推送
Sending push to Android using SNS
我真的很困惑如何使用 Amazon SNS 获得从我的 .NET 后端向我的 android 应用程序发送推送的整个链。
我在我的后端使用 JustSaying 将我的消息发送到 SNS,当我用电子邮件订阅者测试它时它正在工作。这是我用来发送推送的代码:
var publisher = CreateMeABus.InRegion(RegionEndpoint.EUCentral1.SystemName)
.WithSnsMessagePublisher<Push>();
publisher.Publish(new Push("Hello"));
然后推送 class 看起来像这样:
public class Push : Message
{
public Push(string body)
{
Body = body;
}
public string Body { get; set; }
}
现在我的问题是,如何将此推送发送到我的特定设备?
我在 https://developers.google.com 上为 google 云消息创建了一个应用程序,并且有一个 applicationkey 和 senderid。
我还在 http://console.developers.google.com 上设置了 API project/app 并启用了 API 用于云消息传递。
在 AWS SNS 控制台中,我还创建了一个应用程序并提供了上面提到的为 Google Android 平台生成 ARN 的应用程序密钥。
在我的 android 应用程序中,我 运行 此代码:
try{
GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(this.getApplicationContext());
String regId = gcm.register("my-sender-id ");
} catch(IOException e){
}
我在这里摸索着,找不到任何关于如何设置它的好教程。 AWS 文档似乎只涵盖了一小部分,而且似乎已经过时了。
非常感谢为我指明正确方向的任何帮助。
谢谢!
参见 SNS 开发者指南 http://docs.aws.amazon.com/sns/latest/dg/mobile-push-gcm.html。简而言之:
- 按照您的代码获取 GCM 设备令牌(或 regId)
- 通过使用您的设备令牌调用 CreatePlatformEndpointRequest,将您的设备注册到 SNS。您将获得一个平台终端节点 ARN,它是该设备在 SNS 中的标识符。
- 向设备发送通知。使用 Publish 将通知发布到平台端点 ARN
或者,您可以为您的设备订阅特定的 SNS 主题。然后您就可以向该主题发布通知,SNS 会将其广播给所有订阅者。
我真的很困惑如何使用 Amazon SNS 获得从我的 .NET 后端向我的 android 应用程序发送推送的整个链。
我在我的后端使用 JustSaying 将我的消息发送到 SNS,当我用电子邮件订阅者测试它时它正在工作。这是我用来发送推送的代码:
var publisher = CreateMeABus.InRegion(RegionEndpoint.EUCentral1.SystemName)
.WithSnsMessagePublisher<Push>();
publisher.Publish(new Push("Hello"));
然后推送 class 看起来像这样:
public class Push : Message
{
public Push(string body)
{
Body = body;
}
public string Body { get; set; }
}
现在我的问题是,如何将此推送发送到我的特定设备?
我在 https://developers.google.com 上为 google 云消息创建了一个应用程序,并且有一个 applicationkey 和 senderid。
我还在 http://console.developers.google.com 上设置了 API project/app 并启用了 API 用于云消息传递。
在 AWS SNS 控制台中,我还创建了一个应用程序并提供了上面提到的为 Google Android 平台生成 ARN 的应用程序密钥。
在我的 android 应用程序中,我 运行 此代码:
try{
GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(this.getApplicationContext());
String regId = gcm.register("my-sender-id ");
} catch(IOException e){
}
我在这里摸索着,找不到任何关于如何设置它的好教程。 AWS 文档似乎只涵盖了一小部分,而且似乎已经过时了。
非常感谢为我指明正确方向的任何帮助。
谢谢!
参见 SNS 开发者指南 http://docs.aws.amazon.com/sns/latest/dg/mobile-push-gcm.html。简而言之:
- 按照您的代码获取 GCM 设备令牌(或 regId)
- 通过使用您的设备令牌调用 CreatePlatformEndpointRequest,将您的设备注册到 SNS。您将获得一个平台终端节点 ARN,它是该设备在 SNS 中的标识符。
- 向设备发送通知。使用 Publish 将通知发布到平台端点 ARN
或者,您可以为您的设备订阅特定的 SNS 主题。然后您就可以向该主题发布通知,SNS 会将其广播给所有订阅者。