从C#应用程序向移动端点发送推送通知
我正在使用Amazon SNS发送通知。目前我已经实现了将消息发布到某个主题。但我需要使用GCM直接向Android设备发送推送通知。有人能帮我用C代码实现它吗? 以下是我将消息发布到主题的代码:从C#应用程序向移动端点发送推送通知,c#,.net,amazon-web-services,google-cloud-messaging,amazon-sns,C#,.net,Amazon Web Services,Google Cloud Messaging,Amazon Sns,我正在使用Amazon SNS发送通知。目前我已经实现了将消息发布到某个主题。但我需要使用GCM直接向Android设备发送推送通知。有人能帮我用C代码实现它吗? 以下是我将消息发布到主题的代码: private IAmazonSimpleNotificationService FAmazonSNS = null; public void Connect(string AAccessKey, string ASecretKey, bool AUseHTTP, string ARegi
private IAmazonSimpleNotificationService FAmazonSNS = null;
public void Connect(string AAccessKey, string ASecretKey, bool AUseHTTP, string ARegion, int ATimeoutInMSec, int AReadWriteTimeoutInMSec, bool AConnectToSQS, bool AConnectToS3, bool AConnectToSNS)
{
AWSCredentials vAWSCredentials = new BasicAWSCredentials(AAccessKey, ASecretKey);
if ((AConnectToSNS) && (FAmazonSNS == null))
{
AmazonSimpleNotificationServiceConfig vAmazonSNSConfig = new AmazonSimpleNotificationServiceConfig();
vAmazonSNSConfig.UseHttp = AUseHTTP;
vAmazonSNSConfig.RegionEndpoint = RegionEndpoint.GetBySystemName(ARegion);
if (ATimeoutInMSec != 0)
{ vAmazonSNSConfig.Timeout = TimeSpan.FromMilliseconds(ATimeoutInMSec); }
if (AReadWriteTimeoutInMSec != 0)
{ vAmazonSNSConfig.ReadWriteTimeout = TimeSpan.FromMilliseconds(AReadWriteTimeoutInMSec); }
FAmazonSNS = AWSClientFactory.CreateAmazonSimpleNotificationServiceClient(vAWSCredentials, vAmazonSNSConfig);
}
}
public bool SNS_Publish(string ATopicARN, string ASubject, string AMessage, out int AStatusCode, out string AErrorCode, out string AErrorMessage)
{
try
{
PublishRequest vPublishRequest = new PublishRequest();
vPublishRequest.TopicArn = ATopicARN;
vPublishRequest.Subject = ASubject;
vPublishRequest.Message = AMessage;
//vPublishRequest.TargetArn
PublishResponse vPublishResponse = FAmazonSNS.Publish(vPublishRequest);
AStatusCode = (int)vPublishResponse.HttpStatusCode;
AErrorCode = "";
AErrorMessage = "";
return (vPublishResponse.HttpStatusCode == System.Net.HttpStatusCode.OK);
}
catch (AmazonSimpleNotificationServiceException ex)
{
AStatusCode = (int)ex.StatusCode;
AErrorCode = ex.ErrorCode;
AErrorMessage = ex.Message;
return false;
}
catch (Exception e)
{
AStatusCode = 0;
AErrorCode = ""; //e.InnerException.Message;
AErrorMessage = e.Message; // A WebException with status Timeout was thrown
return false;
}
}
所以对我来说,我完全不清楚如何设置“服务器API密钥”、“设备令牌”,这是向移动端点发送通知所需的
对于java,我找到了一个示例,但对于C#not(这里有一个相关的StackOverflow案例,它将帮助您在C中实现GCM;这里有一个相关的StackOverflow案例,它将帮助您在C中实现GCM#