我正在iphone上推送通知。 当我收到推送通知时,其在我的应用程序图标上显示1,下一次它的2,3,4。 如果我打开应用程序的0.下一次它应该是1,2,3,4 …但它显示最后的数字和+1。 打开应用程序后,我想重置推送通知徽章。 我从城市飞艇发送+1。 它不适合我 [[UIApplication sharedApplication] cancelAllLocalNotifications]; [UIApplication sharedApplication].applicationIconBadgeNumber = 0;
这很奇怪,在更新我的应用程序以支持通过Parse(使用Parse仪表板)发送的iOS 8推送通知后,推送通知将不会发出任何声音。 我发现Stackoverflow上的这个副本,但发布的答案是不适合我: 在parsing推送通知为ios8没有声音 我已经检查了通知中心,并启用了消息和声音。 创build了一个新的应用程序的干净版本 检查是否有其他推送消息在应用程序上发出声音 使用Parse rest api并将声音设置为默认值。 没有任何我尝试过的工作。 使用parsing代码更新我的应用程序: // Register for Push Notitications, if running iOS 8 if ([application respondsToSelector:@selector(registerUserNotificationSettings:)]) { UIUserNotificationType userNotificationTypes = (UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound); UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:userNotificationTypes categories:nil]; [application registerUserNotificationSettings:settings]; [application registerForRemoteNotifications]; } else { // Register for Push Notifications before iOS 8 [application […]
我正在尝试编写一个服务器端代码来发送我的应用程序的推送通知。 根据苹果的build议,我打算保留连接并根据需要发送推送通知。 苹果还允许打开和保留多个并行连接来发送推送通知。 “您可以build立到同一个网关或多个网关实例的多个并行连接。” 为了这个目的,我想保持连接池。 我的问题是连接池的限制是什么,或者可以维护与APNS的持久连接的数量? 感谢您期待的帮助。
我正在努力实现需要发送推送通知的PWA,我们正在寻找一种解决scheme,将推送通知发送到运行在ios上的浏览器(我们正在使用Firebase(FCM)来完成其他任务)。在所有平台上推送通知,包括ios? 我们正在嗅探用户代理,并将FCM用于非ios用户,切换到ios用户的websockets。 我们不确定这种方法会有多可行。 任何build议,这种方法或更好的select会有很大的帮助!
我正在开发一个消息应用程序,我有一个关于如何将数据从服务器发送到客户端的困境。 我正在使用一个集中的服务器devise,其中客户端使用NSURLConnection发送消息到服务器,服务器不保留和pipe理打开的套接字,不能发送消息的客户端之一。 因此,客户端使用计时器并每2秒查询一次服务器,以查看是否有新数据正在等待它们。 这种方法的问题是,每2秒钟轮询一次服务器似乎会非常快地closures电池,所以我想可能不是客户端轮询服务器,而是使用APNS *,这样当服务器为客户端提供了一些新的信息时 ,服务器会向客户端发送推送通知 * **,然后客户端将从服务器获取数据。 *使用APNS – 如果客户端允许,客户端当然可以禁用此选项。 所以我会检查每次应用程序进入前台时是否允许推送,如果不是,我将返回到投票方式。 ** 新的信息可以是从短信到服务器pipe理消息的任何信息。 (并且有很多pipe理消息…) 例如,在我的应用程序中,用户可以看到他们的好友状态(在线/离线),所以如果user1和user2是好友,并且user2只是将他的状态从在线切换到离线,那么服务器需要发送这个新的信息(admin message = user2_offline )到user1。 *** 推送通知服务器发送是空的(没有数据/声音),它只是客户端获取新信息的触发器,所以如果推送发送到客户端,客户端应用程序接近,他不会注意什么 (如果应用程序正在运行,那么它将从服务器获取新的信息) 这种方法是否需要大量的消息应用程序,需要大量的推送通知使用? 为了更清楚我主要关心的是: 1. APNS是否足够可靠,我可以将其用作我的核心服务器到客户端消息机制? 2.苹果是否会每天从服务器上批准数千或数十万个推送通知?
我正在试图让推送通知工作! 我正在按照这个教程基本上没有用。 我已经删除了xcode几次,重做了整个苹果开发证书,几次清理我的login钥匙串。 这有助于解决一些问题,但最终我仍然陷入困境。 我认为我需要做的事情(从阅读其他人的经验):1)我的openssl证书和密钥需要与苹果服务器通话2)具有此openssl证书的应用程序ID具有与其关联的供应configuration文件。 3)构build(在xcode中)需要具有与之相关的适当的configuration文件4)构build标识符(在xcode中)需要与configuration文件具有与应用程序ID相同的文本4) 据我所知,这一切都是可以的: 我的SSL证书+键很好地与苹果服务器(忽略错误,我终于得到提示): MacBook Pro:apple_dev_certification nflacco $ openssl s_client -connect gateway.sandbox.push.apple.com:2195 -key xxx.pem -cert xxx.peminputxxx.pem的密码短语:CONNECTED(00000003)depth = 1 / C = US / O = Entrust,Inc./OU = www.entrust.net/rpa通过引用合并/ OU =(c)2009 Entrust,Inc./CN=Entrust证书颁发机构 – L1Cvalidation错误:num = 20:无法获得本地发行人证书….. 2,3,4)当我创build一个新的项目,它从来没有得到正确的应用IP(生成设置 – >信息包标识符)。 如果我的configuration文件匹配“com.xxx”,那么应用程序将始终为“com.xxx.FOO”,因此将select默认的IOS团队configurationconfiguration文件。 我运行这样的应用程序,并得到: 2011-10-22 22:42:45.086 VVV [3552:707]无法获得令牌,错误:错误域= NSCocoaErrorDomain代码= 3000“无效的”API-环境“授权stringfind应用程序”UserInfo = 0x16d140 {NSLocalizedDescription =找不到有效的“aps-environment”授权string用于应用程序} 4 […]
我的问题很简单,使用推送通知开发聊天应用程序是一个好主意吗? 因此,推送通知是不可靠的,他们会得到或没有保证。 如果不可靠,哪种技术应该用于实时聊天应用程序?
伙计们,我很难弄清楚APNS(推送通知)开发人员(沙箱)和生产模式之间的主要区别。 特别是我有以下问题: 1)我可以在推送通知的应用程序商店中启动一个应用程序,该应用程序只注册了APNS开发者证书吗? 还是我需要使用APNS生产为应用程序我想要在应用程序商店启动? 2)一般来说,除了“发展APNS”和“生产APNS生产”之外,还有哪些function性原因会影响我的决定。 特别是为什么我会select为我的应用程序实施一个APNS开发人员证书,为什么不直接在生产推送帐户上运行所有内容? 以下是苹果公司在其网站上所说的内容,但这并不是我的问题的核心: 开发:使用开发环境进行供应商应用程序的初始开发和testing。 它提供与生产环境相同的一组服务,尽pipe服务器单元数量较less。 开发环境也作为虚拟设备,实现模拟的端到端testing。 您可以访问gateway.sandbox.push.apple.com上的开发环境,出站TCP端口2195。 生产:构build提供者应用程序的生产版本时使用生产环境。 使用生产环境的应用程序必须符合苹果的可靠性要求。
我得到这个错误在IOS谷歌推送通知 操作无法完成。 (com.google.gcm错误501.) 我在开发环境和生产环境中获得注册ID。 发展环境的信息: {"multicast_id":8145067860904395870,"success":1,"failure":0,"canonical_ids":0,"results": [{"message_id":"0:1452842547360715%bc92eed1bc92eed1"}]} 我成功地收到了这个消息。 但是在生产环境中,我收到了这个消息。 {"multicast_id":8861850059359760561,"success":0,"failure":1,"canonical_ids":0,"results": [{"error":"NotRegistered"}]} 并没有收到通知。 我已经尝试了从吊销证书和创build新的证书和新的供应configuration文件到清洁构build文件夹的每一件事情,但通知仍然没有生产。
当这种情况发生时,我的应用程序正在接收与以前的应用程序用户帐户关联的推送通知: 玩家安装应用程序并注册为“bob” bob的设备令牌在Web服务中注册 玩家重新安装了应用程序并注册为“phil”(在同一设备上) phil的设备令牌在Web服务中注册 即使玩家现在以“phil”身份login,他们仍将继续接收与“bob”以及“phil”相关的帐户的推送通知。 如果我使用的是UDID,我可以确保每个设备只注册一个设备令牌,因此从玩家旧的Web服务帐户“bob”中删除UDID和设备令牌,从而确保每个设备只有一个活动帐户。 当玩家注册为“phil”时,会发生这种情况,并且networking服务器可以看到玩家已经注册了具有相同UDID的新帐户,然后从具有该UDID的任何旧帐户中移除UDID和设备令牌(即“bob”帐户)。 没有更多的推送通知将被发送到鲍勃帐户,直到有人再次login到该帐户(在同一设备上,或一个新的)。 但是,使用CFUDIDCreate时,这是不可行的,因为它可能会在安装之间改变。 如何确保只接收当前login用户的推送通知? 或者,换句话说,我如何确保我的Web服务器每个设备只存储一个设备令牌?