2009-08-06 37 views
7

我们可爱的应用程序从我们的服务器下载mp3到手机上的本地文件,然后从该文件播放被拒绝使用过多的带宽。iPhone应用程序因“传输过量的数据”而被拒绝

我明白拒绝(我们正在下载而不是流式传输),并且不要以他们的决定狡辩......我们的首要任务是用户体验质量。

我只是想知道......我现在该做什么?

有没有硬性规定......苹果公司只是说:“苹果公司的合理判断绝不能过度使用或不适当地加重网络容量或带宽”。

任何人都有关于Apple认为合理的数据传输速率的数据?

我应该在短时间内填满缓冲区文件吗?应该以恒定的速率传输文件(以及如何限制应用内的传输速率?)

任何和所有的建议,欢迎。

感谢

回答

11

我已经和苹果开发者支持进行了交流,而且只是供参考。您只能通过蜂窝网络每分钟传输1 MB。支持建议您使用以下方式测试您的应用程序:

“基本测量方法是关闭所有后台更新(特别是邮件的自动邮件下载和日历更新),重置”设置:常规:使用情况:“,然后启动您的应用程序,让它运行一段固定的时间(五分钟是合理的),然后退出您的应用程序。完成测试后,”Cellular Network Data“(移动网络数据)设置:一般:使用:“你应该专注于减少。”

使用我刚刚描述的内容,我建议每5分钟创建4.8 MB,以确保您的应用程序符合我们的带宽要求。

希望至少有一点帮助。

+0

这是最有帮助的答案了......谢谢。我们现在正好每5分钟触碰4.8 mb(恰巧)。 – 2009-08-25 00:57:50

+0

我们有更多关于此的最新信息吗? – Jonny 2010-11-04 11:40:20

+0

你还想知道什么? – postalservice14 2010-12-01 16:41:42

0

在一个更严重的是,它是什么想干什么?在美国以外的地区,iPhone的市场很多,这些市场对于手机来说并没有很好的下载速度,也没有很好的下载上限,所以有一款应用做大量的下载并不是什么好事。

你可能会降低你的mp3或一些这样的数据速率?使它成为可选的下载警告,它会使用你的下载?

+0

我同意我们应该更加关注带宽问题......但看到youTube,潘多拉和其他一些流媒体应用程序可以买到它,我只是不认为我们会被拒绝,因为如果它。 确实如果每个开发人员都淹没网络......使用其他服务(如网页浏览)将受到影响。这就是为什么我正在寻找一种负责任的方式来做到这一点,并仍然给予用户良好的体验。 – 2009-08-06 04:04:36

6

您是否考虑过HTTP Live Streaming?它内置于OS 3.0中。

基本上,你把你的媒体分成小的(比如10秒)片段并放到标准的网络服务器上。然后你用EXTM3U格式创建一些文本'元描述符'文件,指出这些位的位置。有趣的是,您可以创建多个版本,每个片段以不同的比特率。因此,如果您的带宽良好,iPhone播放器会动态选择较高的比特率,但当它较低时,会自动切换到片段的较低比特率版本。它可以在飞行中适应不断变化的条件。

因此,如果您将MP3分成多个10秒位,比如说3种不同的比特率,那么当用户通过WiFi连接时,他们会获得高质量的东西,但如果他们在3G或EDGE上,逐渐降低质量(和更小尺寸)的内容。

如果这违反了您的可下载媒体概念,那么也许您可以使用相同的技巧并为每种连接类型保留多个大小文件。然后,如果您使用的是WiFi(或者通过心跳线ping服务器快速周转),请下载大文件与中小尺寸文件。

Here's a decent step-by-step关于分割内容。他们专注于视频,但它也应该与音频内容一起工作。

+0

您对分割文件的第一个建议似乎很多工作,但也许这将是我们必须走的路。这些文件大约需要30分钟,因此每个文件需要180个文件。 我们在我们自己的播放器中播放文件,而无需用户离开应用程序..这仍然是一个选择3.0 HTTP直播流? 苹果给开发者一些基准会变得如此简单。 – 2009-08-06 04:08:20

+0

从WiFi到3G移动到gprs时,内容质量的下降听起来像一个绝妙的想法... – Spence 2009-08-06 04:56:56

+0

我链接到的那篇文章中列出的工具会自动为您进行分割和播放列表创建。到目前为止,我只玩过视频文件,但音频应该也起作用。流媒体客户端本质上是可嵌入式视频播放器。说到视频内容,它会全屏显示,但仍然是嵌入式的(即在播放过程中不会退出您的应用程序)。由于它是一个官方认可的框架,你可能会有更好的运气让你的应用程序通过。 – Ramin 2009-08-06 10:40:10

0

你不能下载mp3,除非你是无线的,并告知他们。如果你的mp3太重要了,那就告诉他们它只能在无线上使用,或者在设备上包含一些mp3。但30分钟的mp3是荒谬的,那是关于什么,30meg ....想想看,30兆只是太多了。

+0

这些文件是应用程序的核心,范围从5Mb到16.7Mb。这并不可笑。 – 2009-08-06 13:09:15

1

我会建议在连接到蜂窝网络时抑制网络/ http请求上的带宽,并且在wifi上没有节流。

使用Reachability检测网络状态并使用CFNetwork实现您的http请求并进行睡眠,直到下一秒,只要您已经下载尽可能多的每秒允许,就应该到达那里。

你应该检查这个项目,无论是使用,或者只是看到一个例子,如何编写这口井:

http://allseeing-i.com/ASIHTTPRequest

的ASIHTTPRequest类实现这一点,利用旧或2.0版本的可达性,并且还提供了一个类级别的限制,所以即使你有多个并发下载和上传,只要他们都通过ASIHTTPRequest,它们将被正确地整合在一起并适当调整。

有点更多关于如何这个在这里使用: http://allseeing-i.com/ASIHTTPRequest/How-to-use#bandwidth_throttling

很多好东西在这个(不,我不是任何它的作者)。

+0

我最终这样做了。但是,我已经增加了后续更新的数据传输速率,但不会受到惩罚(至今) – 2010-01-30 17:30:59

+0

非常有趣。我们通过添加油门来完成审查 - 我必须看到关于油门限制的提升...... – 2010-02-01 22:42:37

相关问题