Tag: 苹果推通知

在后台模式下不调用didReceiveRemoteNotification

我正在推送通知,我收到的数据是JSON格式。 如何parsing显示在下面的通知中心的JSON数据:

我们可以向iOS设备发送推送通知给APN吗?

我想从iOS设备发送推送通知到另一个iOS设备,而不使用后端服务器。 iOS设备是否可以像服务器一样工作,并向APNs服务器发送推送通知? 提前致谢。

iOS APNS“尽力而为”的回退

我似乎无法摆脱这种困扰。 如文件中所述的APNS具有尽力而为的交付,即不保证交付。 但是,如果我要在我的客户端/服务器应用程序中使用推送通知模式,我必须以某种方式使用它们。 通用模型如下所示:服务器上有新数据 – >然后服务器发送推送通知,通知客户端有新的数据可用 – >客户端下载新数据。 那么问题是,如果我不能100%地依靠通知来交付,我可以使用什么样的回退机制,以便我可以确保客户端接收服务器上可用的新数据? 如何确保客户使用APNS获得最新的数据?

更新ios7中推送通知的徽章计数

我正在push notifications应用程序,但通知来临时badge count不会增加。 我在stack overflow看到了很多例子,但没有一个是有用的。 任何人都可以build议我如何解决这个问题…在此先感谢! 我的服务器端PHP代码: <?php // Put your device token here (without spaces): $deviceToken = 'c0d35d5f5ab179f0a93cb7c6b89b96b305ad3517b24e454abd4517e2323f4a7a'; // Put your private key's passphrase here: $passphrase = '12345push'; // Put your alert message here: $message = 'My First push notification!'; //$badge = 3; //////////////////////////////////////////////////////////////////////////////// $ctx = stream_context_create(); stream_context_set_option($ctx, 'ssl', 'local_cert', 'ck.pem'); stream_context_set_option($ctx, 'ssl', 'passphrase', […]

iPhone:推送生产证书通知testing

我有一个快速的问题。 我一直在testing我的iPhone应用程序的开发推送通知证书,它的工作正常。 我只想知道在将应用程序提交给AppStore之前是否可以testing生产证书? 我做了尝试,但是当我使用生产证书时,消息不会出现。 当我使用生产证书时,苹果是否要求应​​用程序在AppStore中? 谢谢。

在推送通知的标题中更改提醒语言

当推进到来的时候,面临在横幅的警告的语言的问题。 其实我正在用两种语言工作的应用程序。 一个是英语,二是挪威语。 我收到从我的networking服务器端的推,以及它在alert键中的string是否显示在横幅中,当推到来,你在应用程序之外。 但作为一个要求,我们希望如果我把语言从英语变成挪威语,那么当推动到来的时候,旗帜的警戒string也会变成挪威语。 是否有可能在我的最后,或者我必须改变它从服务器,只要我改变语言。 任何build议都会有所帮助。 谢谢

iOS:产品推送通知,来自APNS服务器的无效令牌

我的应用程序现在在应用程序商店,所以我已经下载到我的设备。 推送通知在开发过程中正常工作。 我正在使用JavaPNS发送通知,并将其切换为指向Apple的生产服务器。 但是,我现在正在从APNS服务器收到无效令牌错误。 我有存档scheme设置为“释放”,我有释放设置使用此分布configuration文件: 在configuration文件中,您可以看到我正确设置了环境: 但是我仍然得到错误。 当我查看我的数据库时,我认为应用程序返回给我的设备令牌与开发者相同,因此可能是问题所在。 但我不知道为什么它会返回,鉴于该应用程序是正确签署。 这是我也用于testing的一个设备,可能是一个问题? 任何其他的想法在这里发生了什么? 谢谢! 编辑:我没有在我的代码存储令牌,伊兰的答案表明,唯一的其他可能性是我的数据库中旧的令牌,或应用程序没有被生产configuration文件签名。 我清除了我的数据库,所以我知道这不是前者,至于后者,我不明白这是怎么回事,因为我只有一个分布configuration文件,正如我上面显示的那样正确设置了“aps-environment”键。 XCode甚至不会让我使用app store提交的开发configuration文件,是吗? 其他一些可能性: 我用通知发送的密钥有可能会导致“无效的令牌”? 如果是这样,我可以为我现有的configuration文件重新生成此密钥吗? 用于推送通知的AppID中没有包含另一个configuration文件? 可能会导致无效令牌错误的问题?

推送通知在排除之前需要多长时间才能排队?

我一直在尝试为客户端的苹果推送通知发现一些数据,而我一直无法find答案的是推送通知在离线设备队列中将被移除多长时间。 例如,可能会有很长的时间,例如2-3个月,其中设备可能处于非活动状态并断电。 我只是想知道多久,我可以期待一个通知stream连忘返,等待被传递到一个离线设备,才会被自动删除(这正是我所知道的是什么发生)。

iOS推送通知:如何检测当应用程序在后台时用户是否轻敲通知?

有很多关于这个主题的stackoverflow线程,但我仍然没有find一个好的解决scheme。 如果应用程序不在后台,我可以在application:didFinishLaunchingWithOptions:检查launchOptions[UIApplicationLaunchOptionsRemoteNotificationKey] application:didFinishLaunchingWithOptions:调用以查看是否从通知打开。 如果应用程序在后台,所有postbuild议使用application:didReceiveRemoteNotification:并检查应用程序状态。 但是,正如我试验(也作为这个API的名称build议),这个方法被调用时收到的通知,而不是轻拍。 所以问题是,如果应用程序启动,然后后台,你知道从application:didReceiveNotification接收通知application:didReceiveNotification ( application:didFinishLaunchWithOptions:不会触发),你怎么知道用户是否恢复从应用程序点击通知或只是点击应用程序图标? 因为如果用户点击通知,则期望打开通知中提到的页面。 否则它不应该。 我可以使用handleActionWithIdentifier进行自定义动作通知,但是只有当自定义动作button被触发时才触发,而不是在用户点击通知主体时触发。 谢谢。 编辑: 在阅读下面的一个答案后,我想这样可以澄清我的问题: 我们如何区分这两种情况: (A)1.app进入后台; 收到通知 3.用户点击通知; 4.应用程序进入前台 (B)1.app进入背景; 收到通知 3.用户稍后忽略通知并点击应用程序图标; 4.应用程序进入前台 由于application:didReceiveRemoteNotification:在步骤2中都触发了这两种情况。 或者, application:didReceiveRemoteNotification:仅在步骤3中触发(A),但我以某种方式configuration了我的应用程序错误,所以我在步骤2看到它?

苹果推送通知不生产

我们完全被困住了,请帮忙。 我和我的团队做了一个iPhone应用程序,这是我们第一次尝试iOS。 一切都很好,直到我们提交我们的应用程序,并成为可用的应用程序商店 – 推送通知服务不起作用。 我在网上search,并试图通过人们的build议仔细检查我们的应用程序,但我找不到有什么问题。 所以这个问题贴在这里。 这些是我们所做的: 我们构build应用程序,假设它被命名为“AppMaster”。 我们在iOS Provisioning Portal上创build了名为“pushtest”的AppId。 这个ID在开发和生产上都启用了推送通知。 我们从上面的appId创build了名为“AppMasterPushTest”的开发configuration。 这个configuration是为了进行内部testing,团队中的每个人都在Mac上安装它。 我们的服务器是由Java实现的,我们使用java-apn包。 在testing过程中,我们下载了用于开发的authentication文件并写出了.p12文件,并通过使用该包的api – withSandboxDestination()将该消息推送到“沙盒”服务器。 testing进展良好,通知收到。 我认为我们已经准备好了,所以我们创build了另一个名为“AppMaster”的AppId,并且只为生产启用了推送通知。 这个ID是写在应用程序的包标识符。 我们在步骤5中从AppId开始另一个名为“appMaster”的生产供应,分配方法设置为“App Store”。 下载它并重build应用程序。 这个提交给苹果,并在应用程序stroe活着。 服务器端,我们下载了生产authentication,并再次写出.p12文件。 并通过使用api-withProductionDestination()将程序推送到生产服务器,并且.p12被写出。 我们从App Store安装了应用程序。 可悲的是,通知从来没有交付过。 有什么我们错过了吗? 顺便说一句,我们在第5步创build的ID看起来像“XXX.com.company.appname”,但在应用程序的包标识符中,我们只设置“com.company.appname”部分没有前缀。 这可能是问题吗? 任何想法是受欢迎的。 请成为我们的救星。 谢谢。