标签: apple-push-notifications

iOS推送通知横幅为单次推送显示两次

我注意到发送推送通知会导致以下行为:

Push Banner显示两次?

在短暂的延迟后,看看横幅是如何第二次展示的?

起初我以为我们的后端错误地发送了2个推送通知,一个接一个.

但是,这似乎是单个Push通知的默认iOS行为.显示横幅,然后立即"再次显示".这导致gif中显示的这种抖动的UI.横幅似乎收到两次.

使用iOS 9.0.2进行测试.

我不记得在其他发送推送通知的应用程序中看到此行为.我做错了会导致横幅显示两次吗?

雷达:

Engineering已确定您的错误报告(23133694)与另一个问题(23130766)重复,并将被关闭.

push-notification apple-push-notifications ios ios9

42
推荐指数
2
解决办法
1万
查看次数

Firebase在传送到itunes connect后会导致出现"缺少推送通知权限"的问题

您可能知道,Google开始使用Firebase作为分析,因此我想在我当前的项目中使用它.我成功完成了实施并将项目上传到iTunes Connect.但是我收到了下面的邮件.我不想使用Firebase的push notificaiton选项,但它包含在SDK中.我需要将其删除吗?怎么样?它会导致被拒绝审查吗?

亲爱的开发者,

我们发现了您最近发布的"即时宝贝梦"的一个或多个问题.您的投放成功,但您可能希望在下次投放时更正以下问题:

缺少推送通知权利 - 您的应用似乎包含用于向Apple推送通知服务注册的API,但应用签名的权利不包括"aps-environment"权利.如果您的应用使用Apple推送通知服务,请确保在配置门户中为推送通知启用了您的应用ID,并在使用包含"aps-environment"权利的配置配置文件对应用进行签名后重新提交.有关详细信息,请参阅"本地和推送通知编程指南"中的"供应和开发".如果您的应用不使用Apple推送通知服务,则无需执行任何操作.您可以从将来的提交中删除API以停止此警告.如果您使用第三方框架,则可能需要与开发人员联系以获取有关删除API的信息.

纠正问题后,您可以使用Xcode或Application Loader将新二进制文件上传到iTunes Connect.

问候,

App Store团队

apple-push-notifications admob ios firebase

42
推荐指数
3
解决办法
7136
查看次数

"找不到有效的aps-environment权利申请"

当我将启用推送通知的iPhone应用程序的Ad Hoc版本加载到我的设备上时遇到此错误:

没有为应用程序找到有效的aps-environment权利

它是什么意思,我该如何修复它?

iphone push-notification apple-push-notifications

41
推荐指数
4
解决办法
4万
查看次数

我应该使用哪个Apple推送通知服务Java库?

我需要使用Apple推送通知服务(APNS)从我的Java服务器向iOS设备发送推送通知

我找到了两个用Java发送APNS推送通知的库:

  1. Java的APNS
  2. javapns

但两者似乎都被放弃了(或者至少他们有错误,最后一个版本是一年前).

java-apns有很多分叉.在积极开发中是否有这个库的更新分支?还有其他更好的选择吗?

java apple-push-notifications ios

41
推荐指数
2
解决办法
4万
查看次数

iOS APNS开发[沙盒]与生产

伙计我在确定APNS(推送通知)开发人员(Sandbox)和生产模式之间的关键差异时遇到了一些麻烦.特别是我有以下问题:

1)我可以在应用程序商店中使用仅针对APNS开发者证书注册的推送通知启动应用程序吗?或者我是否需要使用APNS Production来购买我想在应用商店推出的应用?

2)一般而言,除了"开发APNS"和"生产APNS"之外的其他功能原因可以为我的决定提供信息.特别是为什么我会选择为我的应用程序实施APNS开发人员证书,为什么不在生产推送帐户上运行所有内容?

这就是Apple在其网站上所说的内容,但它并没有触及我的问题的核心:

开发:使用开发环境进行提供者应用程序的初始开发和测试.它提供与生产环境相同的服务集,但服务器单元数量较少.开发环境还充当虚拟设备,支持模拟端到端测试.您可以在gateway.sandbox.push.apple.com,出站TCP端口2195访问开发环境.

生产:在构建提供者应用程序的生产版本时使用生产环境.使用生产环境的应用程序必须符合Apple的可靠性要求.

push-notification apple-push-notifications ios provisioning-profile p12

41
推荐指数
2
解决办法
2万
查看次数

推送通知或Socket.io?或两者?

我正在为网络,Android和iOS开发聊天系统.做我的研究我发现GCM和APNS如何处理推送通知的差异.

如果我通过GCM向Android设备发送推送通知,设备能够决定是否通知用户有关它,或者如果它不是必需的,它不会告诉用户.它可能只是用户不需要通知的数据更新.另一方面,如果我通过APNS向iOS设备发送推送通知,则设备无法决定是否显示通知,必须显示通知.此外,当iOS设备收到通知时,通知数据必须包含将向用户显示的字符串.在Android上,设备可以生成该字符串.

因此,我想创建一个系统,对iOS和Android以及网站(基于API)的工作方式相同.那是我找到Socket.io的时候.Socket.io让我可以自由地向设备发送数据(无论是iOS还是Android),以便设备决定是否显示所做的更改(可能是用户更新,新消息,邀请或许多其他"事件").但是,在我的研究中,我发现了一些关于使用Socket.io的缺点.设备必须连接到套接字,以便信息在客户端和服务器之间流动,但现实世界中的智能手机始终连接和断开连接到不同的网络,这会破坏套接字连接.此外,通过在后台打开连接,服务器和客户端之间有一个乒乓球来验证连接是否仍然打开,最终消耗了megas(在我的国家,我们为每个使用的mega支付费用) ,我们还没有统一费率)和生活方式.我不确定这种消费是否重要.

在网络方面,它必须与Socket.io一起使用,所以这根本不是问题.

最后,我知道两种选择的优缺点,我发现我可以混合两种选择,这可能最终成为我的最佳选择.例如,当应用程序打开时,它使用Socket.io,当关闭时使用APNS或GCM(取决于设备操作系统).但是,这是一个好习惯吗?或者更好的是坚持使用1个解决方案而不是混合使用它们为什么?

非常感谢您花时间阅读本文,甚至更多地回答.

push-notification apple-push-notifications socket.io google-cloud-messaging

41
推荐指数
1
解决办法
1万
查看次数

iOS中的远程通知和静默通知有什么区别?

当我阅读Apple Docs时,他们提到了3种类型的通知:本地,远程和静默.

可以从应用程序本地发送的名称推断本地通知.

但是,其他两种类型的区别是什么?

push-notification apple-push-notifications ios remote-notifications silent-notification

41
推荐指数
2
解决办法
2万
查看次数

实现iOS的推送通知(服务器端)

我们希望能够将简单的短信发送到我们所有的iphone用户.为此,我们显然需要创建一个存储设备令牌的服务器端代码,并在必要时推送消息.这样做有什么好的例子吗?(谈论服务器代码)

谢谢

iphone push-notification apple-push-notifications ios

39
推荐指数
2
解决办法
5万
查看次数

检测是否通过点击Notification Center中的通知调用application:didReceiveRemoteNotification:fetchCompletionHandler:

application: didReceiveRemoteNotification: fetchCompletionHandler:
Run Code Online (Sandbox Code Playgroud)

不同于

application: didReceiveRemoteNotification:
Run Code Online (Sandbox Code Playgroud)

怎么样?来自文档:

与应用程序:didReceiveRemoteNotification:方法不同,只有在应用程序运行时才会调用该方法,系统会调用此方法,而不管应用程序的状态如何.如果您的应用暂停或未运行,系统会在调用该方法之前唤醒或启动您的应用并将其置于后台运行状态.如果用户从系统显示的警报中打开您的应用程序,系统将再次调用此方法,以便您知道用户选择了哪个通知.

我的斗争是:我想知道用户是否通过从通知中心点击系统显示的警报或从唤醒设备的静默推送通知来调用该方法.目前,据我所知,没有明显的区分方法.

- (BOOL)application: didFinishLaunchingWithOptions:
Run Code Online (Sandbox Code Playgroud)

跟踪上述方法中的launchOptions不是一个解决方案,因为只有在应用程序暂停/未在后台运行时才会调用它.如果它在后台运行则不会被调用.

cocoa-touch apple-push-notifications uiapplicationdelegate ios

39
推荐指数
3
解决办法
3万
查看次数

Xcode 8 APS环境权利不会设置为生产

我有推送通知在我的应用程序上工作.
我去提交一个新的应用程序更新,我遇到一个错误,没有设置APS环境.
我遇到了修复问题,它创建了将APS环境设置为开发的权利文件.

要提交应用程序,我显然希望将此设置投入生产.我将值更改为生产并继续归档应用程序以进行提交.
它在推送通知的功能部分中引发错误,其中最后一个"将推送通知权利添加到您的权利文件"为红色.

因此,当我遇到修复问题时,它会将APS环境的值更改为开发.
我遇到了检查配置文件并查找APS环境属性的建议.
我完成了归档过程并选择了"上传到App Store".

当我最终到达摘要时,我点击了附加到二进制文件和权利的配置文件.
我在文本编辑器中打开配置文件,并查找APS环境属性.
我确实找到了该属性,并在配置文件中设置为生产.
我决定尝试另一个建议,即重新创建分发配置文件.
我确实做了一个新的解决方案也不起作用.

据我所知,APS环境属性基于您的配置文件中的值.

任何帮助,将不胜感激.谢谢.

xcode apple-push-notifications ios

39
推荐指数
3
解决办法
3万
查看次数