0

我收到了 Apple 的成功回复,但我的 Pass 从未更新。Pass 甚至从不调用我的服务器来获取任何更新等。

该文档甚至没有提到 Apple Pass。 https://developer.apple.com/documentation/usernotifications/setting_up_a_remote_notification_server/sending_notification_requests_to_apns/

这似乎是旧文档。 https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/PassKit_PG/Updating.html

我使用此处找到的方法创建了我的 p8 文件(密钥)。 https://docs.microsoft.com/en-us/azure/notification-hubs/notification-hubs-push-notification-http2-token-authentication

这是我的标题。

request.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("bearer", GetJwtToken());
request.Headers.TryAddWithoutValidation(":method", "POST");
request.Headers.TryAddWithoutValidation(":path", path);
request.Headers.Add("apns-id", Guid.NewGuid().ToString("D"));
request.Headers.Add("apns-topic", settings.AppBundleIdentifier);
request.Headers.Add("apns-expiration", apnsExpiration.ToString());
request.Headers.Add("apns-priority", apnsPriority.ToString());
request.Headers.Add("apns-push-type", isBackground ? "background" : "alert"); // for iOS 13 required

我正在使用通行证类型 ID 证书创建通行证。这是一个 PFX 文件。旧的 Pass 更新方法使用 PFX 文件。

4

1 回答 1

0

我为此工作了几天。我终于找到了答案。您必须使用 Pass Type ID (pass.com.yourdomain.coupon) 作为“apns-topic”,而不是使用 App Identifier (com.yourdomain.appname)。不要在“apns-topic”中包含您的团队 ID。答案在文档中没有。通过阅读这篇文章,我能够弄清楚事情。https://github.com/node-apn/node-apn/issues/469

于 2021-05-12T00:11:41.780 回答