我们可爱的应用程序将mp3从我们的服务器下载到手机上的本地文件然后播放该文件因使用太多带宽而被拒绝。
我理解拒绝(我们正在下载而非流媒体)并且不会对他们的决定嗤之以鼻......我们的首要任务是用户体验的质量。
我只是想知道......我现在该怎么做?
没有严格的规则...... Apple只是说,“苹果公司的合理判断不得过度使用或过度负担网络容量或带宽”。
任何人都有关于Apple认为合理的数据传输率的数据吗?
我应该用短喷射填充缓冲区文件吗?应该以恒定速率传输文件(以及如何限制应用程序内的传输速率?)
欢迎提出任何建议。
由于
答案 0 :(得分:11)
我已经与Apple开发人员支持人员进行了交谈,而且仅与FYI进行了讨论。您只能通过蜂窝网络每分钟传输1 MB。支持建议您按以下方式测试应用程序:
“基本的测量方法是关闭所有后台更新(特别是Mail的自动邮件下载和日历更新),在”设置:常规:用法:“中重置传输统计信息,然后启动您的应用程序。让它运行固定的时间(五分钟是合理的),然后退出您的应用程序。完成测试后,“设置:常规:用法:”中“蜂窝网络数据”下列出的数字是您应该关注的还原
使用我刚才描述的内容,我建议每5分钟使用4.8 MB作为指导,以确保您的应用程序符合我们的带宽要求。“
希望至少有一点帮助。
答案 1 :(得分:10)
答案 2 :(得分:6)
你考虑过HTTP直播吗?它内置于OS 3.0中。
基本上,您将媒体拆分为较小(例如10秒)的片段并将其放在标准的Web服务器上。然后,您以EXTM3U格式创建小文本“元描述符”文件,指出位的位置。有趣的是,您可以以不同的比特率创建每个代码段的多个版本。因此,如果您的带宽良好,iPhone播放器会动态选择较高的比特率,但当它低时,它会自动切换到较低比特率版本的片段。它可以即时实现,以适应不断变化的条件。
因此,如果您将MP3分成多个10秒位,比如3个不同的比特率,那么当用户通过WiFi连接时,他们会获得高质量的内容,但如果他们使用的是3G或EDGE,他们会逐步获得较低质量(和较小尺寸)的内容。
如果这违反了您的可下载媒体概念,那么您可以使用相同的技巧并为每种连接类型保留多个大小的文件。然后,如果您使用的是WiFi(或者在服务器的心跳ping上获得快速周转),请下载大文件,而不是中等或小型文件。
Here's a decent step-by-step有关细分内容的信息。他们专注于视频,但它也应该与音频内容一起使用。
答案 3 :(得分:1)
我建议在连接到蜂窝电话时限制网络/ http请求的带宽,并且在wifi上没有节流。
使用Reachability来检测网络状态的组合,并使用CFNetwork实现您的http请求,只要您已经下载了每秒允许的数量,就可以在下一秒休眠,然后就可以到达那里。
您应该查看此项目,要么使用,要么只是看一个如何编码的例子:
http://allseeing-i.com/ASIHTTPRequest
ASIHTTPRequest类使用旧版本或2.0版本的Reachability实现此功能,并提供类级别限制,因此即使您有多个并发下载和上载,只要所有这些都通过ASIHTTPRequest,它们将会妥善合理并妥善节制。
有关如何在此处使用此内容的更多信息: http://allseeing-i.com/ASIHTTPRequest/How-to-use#bandwidth_throttling
这里有很多好东西(不,我不是任何一个的作者)。
答案 4 :(得分:0)
更严重的是,它试图做什么?在美国以外的iPhone有许多市场没有良好的手机下载率,下载大小也不好,所以有一个应用程序做很多下载并不是一件好事。
你可能会降低你的mp3或其他类似的数据速率吗?让它可选择进行下载并发出警告说它会使用你的下载吗?
答案 5 :(得分:0)
除非你在无线网络上,否则你无法下载mp3,并通知他们。如果你的mp3太重要了,那就告诉他们它只适用于无线,或者在设备上包含一些mp3。但30分钟的mp3是荒谬的,那就是什么,30meg ....想想看,30兆就太多了。