问题标签 [apns-php]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cron - 适用于 iOS 应用程序的 PHP 中的通知 cron
我可以按照以下代码手动发送通知。
我也有一个 APNS PHP 集成。但是文件太多了。就我的目的而言,只有一个文件有用。
现在我想通过我的 API 在 iOS 中发生某些事件时运行这个 php 脚本。所以我可以在某个函数下编写这段代码,并在某些事件发生时调用该函数。那么最好的方法是什么?以及如何实现每 5 分钟运行一次的通知 cron?
任何帮助将不胜感激。
iphone - 未收到最后一个设备的 iOS APNS 推送通知
我有一个带有 rss 源的 iOS 应用程序,它有 iOS 推送通知服务,推送通知适用于某些设备(以前的设备),但新的或最后的设备根本不会收到这个应用程序的推送通知。我认为错误在我的 php 脚本中,但我不知道如何解决它,与我的应用程序连接的网站的主机是 BlueHost.com。
-错误日志是:
[08-Aug-2013 11:00:14 America/Denver] PHP Warning: stream_socket_client(): unable to connect to ssl://gateway.push.apple.com:2195 (Unknown error) in /home3/basiphon/public_html/Push.php on line 56
[08-Aug-2013 11:15:24 America/Denver] PHP Warning: stream_socket_client(): SSL: crypto enabling timeout in /home3/basiphon/public_html/Push.php on line 56
[08-Aug-2013 11:15:24 America/Denver] PHP Warning: stream_socket_client(): Failed to enable crypto in /home3/basiphon/public_html/Push.php on line 56
[08-Aug-2013 11:15:24 America/Denver] PHP Warning: stream_socket_client(): unable to connect to ssl://gateway.push.apple.com:2195 (Unknown error) in /home3/basiphon/public_html/Push.php on line 56
[08-Aug-2013 11:30:33 America/Denver] PHP Warning: stream_socket_client(): unable to connect to ssl://gateway.push.apple.com:2195 (Connection timed out) in /home3/basiphon/public_html/Push.php on line 56
[08-Aug-2013 11:46:39 America/Denver] PHP Warning: stream_socket_client(): unable to connect to ssl://gateway.push.apple.com:2195 (Connection timed out) in /home3/basiphon/public_html/Push.php on line 56
-我的 PHP 脚本
//echo "***";
?>
</body>
</html> </i>
php - APNS SSL 操作失败,代码为 1
编辑 - 使用增强的二进制格式
原来我没有使用增强的二进制格式,所以我改变了我的代码。
使用此新代码时,由于此错误,我仍然无法发送超过 300 条以上的消息:
仅发送一些推送消息时,此代码可以正常工作。
带有简单二进制格式的旧问题 所以我很久以前集成了推送通知,它对于发送给少于 500 人的消息运行良好。现在我正在尝试向 1000 多人发送推送通知,但随后我收到了损坏的错误
我已经阅读了苹果文档,并且我知道无效的令牌会导致套接字断开连接。一些在线解决方案建议检测断开连接并重新连接,如下所示:
我还在运行一个反馈服务,它检测无效令牌(想要推送通知但删除了应用程序的用户)并且工作正常。该 php 脚本回显已删除的 ID,我可以确认这些令牌已从我们的 MySQL 数据库中删除。
我如何能够检测到断开或损坏的管道并对此做出反应,以便我的推送通知可以覆盖 1000 多人?
目前我正在使用这个简单的 push.php 脚本。
当发生 SLL Broken Pipe 错误时,fwrite 也会返回 0 个写入字节。
我还必须提到,我不是 PHP 或 Web 开发人员,而是应用程序开发人员,所以我的 php 技能不是那么好。
php - PHP Apple APNS 读取即时通知 Status_code
在过去的 3 天里,我一直在尝试让我的 php 代码和 apns 工作。
到目前为止,我能够发送通知(我只有一个设备,所以我不知道这是否适用于多个设备)。
当我尝试测试为 2 个设备发送一个通知时,其中第一个是设备令牌无效(由我发明),第二个是我的设备令牌,我无法将通知发送到我的设备......从我读到的内容来看,当通知不可读或错误,apns 关闭连接并发送 6 个字节长的错误,其中第 2 个字节(status_code)是错误类型。如果没有发生错误,我仍然无法理解 apns 是发送 status_code 0(没有遇到错误)还是根本没有发送任何内容。
到目前为止,尽管在互联网上找到了几个代码,但我还是找不到这个 status_code。
代码
我的连接上的 fread 始终给出 null/false,即使我收到通知或尝试使用错误的令牌也是如此。
我的错误后连接逻辑似乎不起作用。
可以请人帮助我吗???我不打算使用第 3 类或代码,希望有一个简单的基本类用于一组设备令牌,即使有一些 apns 给出错误。
感谢大家。
ios - 即使连接到 APNS,也不会发送推送通知进行生产
我想在我的应用程序中实现推送通知。首先,我在开发方面尝试它,它正在工作。现在,我正在对其进行生产测试,但它不起作用。我已经在我的 php.ini 中将沙箱更改为 ssl://gateway.push.apple.com:2195。
我用这个步骤创建了 production.pem。
$ openssl x509 -in aps_developer_identity.cer -inform der -out PushChatCert.pem
$ openssl pkcs12 -nocerts -out PushChatKey.pem -in PushChatKey.p12
输入导入密码:MAC 验证 OK 输入 PEM 密码:验证 - 输入 PEM 密码:
$ cat PushChatCert.pem PushChatKey.pem > ck.pem
我将我的 ck.pem 上传到我的共享主机。这没有什么错误,但它不会推送通知。
在我的 php 中,它说:连接到 APNS 消息已成功传递。
但是,设备中没有收到推送通知。
请帮忙,谢谢
ios - Apple 推送通知 - 所有消息都已发送,但并非所有消息都已送达
我在发送 Apple 推送通知时遇到问题。
当我只向两台设备发送消息时,一切正常。但是当我向数据库中的所有设备发送消息时,并不是所有的推送消息都被传递,但我没有收到任何设备的错误。发送正常!
当我将消息发布到所有设备时,其中一个在第一次测试中收到消息的设备没有收到消息。
发送程序正在运行,因为我在第一次测试时在手机上收到一条消息,当我发送到所有设备时它也可以正常工作。是否还有其他问题导致此问题?或者这是一个苹果的错误/问题。
我不知道问题可能是什么。有没有人也有这个问题??
php - 无法为分发中的 APNS 连接苹果服务器
我在 php 中使用以下代码进行分发中的 APNS 通知。我的代码适用于我的服务器,但是当我将服务器转移到爸爸时,应用程序将停止通知并响应failed to connect : 0
我的代码
任何帮助将不胜感激谢谢
iphone - Apns php 错误“无法连接到 APNS:110 连接超时。”
我已经从这个Apns 代码中为 php 和目标 c 完成了 apns 代码
并从此链接设置证书
用于向 ios 设备发送通知的沙盒和生产 apns 在我的服务器上运行良好。我将代码和相同的证书移动到客户端服务器,然后发送通知不起作用。
我调试了所有的php代码,发现停在这行代码
apns.log 文件显示错误“无法连接到 APNS:110 连接超时。”
没有得到错误。为什么我收到此错误而不向 ios 设备发送通知?任何人都可以指导我吗?
php - ApnsPHP:在开发中工作但不在生产中的推送通知
是的:这个问题有很多重复,但没有一个答案有帮助。
我正在关注Ali Hafizji 关于使用 APNS 服务进行推送通知的精彩教程。
在开发模式下测试 APNS :
- 下载
aps_development.cer
- 导出证书的私钥 (
aps_development_key.p12
)
然后我使用以下命令(使用终端)将两者结合起来:
而且(在服务器上使用 ApnsPHP)我可以使用此配置成功发送推送通知:
旁注:我从https://github.com/jonathanrcarter/push2press获取了 entrust_root_certification_authority.pem ,寻找它的正确地址可能是https://www.entrust.net/downloads/binary/entrust_2048_ca.cer (无论如何,它们是一样的)。
在这种情况下,应用程序在调试模式下运行(在设备上,从 XCode 运行)并且一切正常。
在生产模式下测试 APNS :
为了在生产模式下测试 APNS,我将应用程序存档以进行 AdHoc 分发,并使用iPhone 配置实用程序将其安装在设备上。
aps_production.cer
我对 make遵循了相同的程序final_aps_production.pem
。
Bang,用于发送推送通知的 php 脚本返回了 HTML 状态码 500。
这$push
一代当然针对生产模式进行了修改:
快速查看/var/log/apache2/error.log
表明问题:
谷歌搜索(有很多人有这个问题)证明是徒劳的。
许多不同的建议,甚至如此奇怪以至于将持有证书的目录的文件权限更改为 775 ......没有一个建议对我有用。
我也尝试过这种改变ApnsPHP/Abstract.php
(这里建议:https ://github.com/duccio/ApnsPHP/issues/29 )但没有成功。
那个讨厌的东西ApnsPHP_Exception
并没有消失。
当然,我还确保在测试生产模式时使用了正确的设备 APNS 令牌——调试和生产模式下的设备 APNS 令牌不一样。
Anyway: tokens can not be a problem since my notification sending script can't even connect to ssl://gateway.push.apple.com:2195
.
Tried to connect ssl://gateway.push.apple.com:2195
via telnet
just to make sure: connection was fine.
It became obvious: it is a certificate problem.
php - 500 Error when sending a lot of push notifications, PHP?
I'm using the following code to cycle through a database containing the device ID's that my ios app collects. At around 300 or so notifications my server freezes in a 500 error. Any ideas how I can do this more efficiently? I am on a shared server; would my only option be to set this up on a dedicated machine?
php.ini has the following set -
Here's the code -