在.net中实现一个API服务,向Apple Wallet发送后台通知



这是我们用来向apple发送推送通知以更新apple钱包通行证的代码:我们使用。net API服务向apple发送推送通知。

var handler = new HttpClientHandler();
handler.ClientCertificateOptions = ClientCertificateOption.Manual;
handler.ClientCertificates.Add(new X509Certificate2(X509Certificate2.CreateFromEncryptedPemFile("passcertificate.pem", "password", "passkey.pem").Export(X509ContentType.Pfx))); 
using (var httpClient = new HttpClient(handler))
{
using (var request = new HttpRequestMessage(new HttpMethod("POST"), "https://api.push.apple.com/3/device/pushtoken"))
{
request.Headers.TryAddWithoutValidation("apns-topic", "pass.com.companyname.loyaltycard");
request.Headers.TryAddWithoutValidation("apns-priority", "10"); 
request.Content = new StringContent("{}");
request.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("application/x-www-form-urlencoded"); 
var response = await httpClient.SendAsync(request);
}
}

上面的推送通知调用正在返回状态200:并且响应中没有返回错误。

但是我们的web API没有被Apple服务器调用来获取更新的序列号:

webServiceURL/版本/设备/deviceLibraryIdentifier/注册/passTypeIdentifier吗?passesUpdatedSince =日期

请帮我找出可能的错误。

我已经设法解决了这个问题-我的passTypeIdentifier包含(.),这就是为什么我的web api没有被从apple服务器调用。感谢下面的帖子…https://stackoverflow.com/a/37080463/3556270

相关内容

  • 没有找到相关文章

最新更新