gpt4 book ai didi

Java:推送通知已发送但未收到

转载 作者:行者123 更新时间:2023-11-28 18:51:44 24 4
gpt4 key购买 nike

所以,我正在尝试从 Java 与 APNS 通信。我找到了 java-apns、javapns 和 pushy 库。 Java-apns 似乎拥有最合适的 API。

初始化:

public static void main(String[] args) {
String certificateFilePath = args[0]; // "/path/to/cert.p12"
apnsService = APNS.newService()
.withCert(certificateFilePath, Config.APNS_PROVIDER_CERTIFICATE_PASSWORD)
.withDelegate(new ApnsDelegate() {
@Override
public void messageSent(ApnsNotification apnsNotification, boolean b) {
System.out.println("message sent");
}

@Override
public void messageSendFailed(ApnsNotification apnsNotification, Throwable throwable) {
System.out.println("message failed");
}

@Override
public void connectionClosed(DeliveryError deliveryError, int i) {
System.out.println("connection closed");
}

@Override
public void cacheLengthExceeded(int i) {
System.out.println("cache length exceeded");
}

@Override
public void notificationsResent(int i) {
System.out.println("notification resent");
}
})
.withSandboxDestination()
.build();

...

}

此时 iOS 应用程序已在设备上启动。注册本地和远程通知,获取设备 token 并将其发送到服务器。

然后发生了一些事件,我正在发送通知:

static void sendMessage(List<String> tokens, String message) {
String payload = APNS.newPayload().alertBody(message).build();
apnsService.push(tokens, payload);
}

每个标记都类似于 "5fb58761f9...4e92465e12"

ApnsDelegate 唯一说的是“消息已发送”,但设备上没有任何反应。而且我认为该消息确实已发送,因为我尝试发送带有损坏 token 的通知,在这种情况下,我收到“消息失败”和一个 throwable,其中包含关于无效 token 的错误。

所以,实际上我什至无法理解问题的根源。但我觉得它是用 Java 编写的,因为与服务器端及其所有 HTTP/2-voodoo-stuff 相比,iOS 部分非常简单。

最佳答案

感谢您提出这个问题。

我在使用 iOS 10 时遇到了同样的问题。

如果您使用的是 iOS 10 或更高版本,则必须在功能中开启远程通知。

转到 -> Project setting -> capabilities -> Enable Push Notifications。

转到 -> 项目设置 ->capabilities-> 后台模式 -> 启用远程通知和 VoIp

更新:

如果您想提交确切的解决方案,请按照以下步骤在本地检查。

here下载simplepush.php

将您的 .pem 文件保存在同一目录中。

替换您的 .pem 文件名和 simplepush.php

打开终端

转到您的 simplepush.php 目录。

执行以下命令

php simplepush.php

如果你有收到推送则需要从java端检查否则检查到iOS端

关于Java:推送通知已发送但未收到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40655171/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com