2009-08-06 12 views
7

私たちのサーバーから携帯電話のローカルファイルにmp3をダウンロードして、そのファイルから再生した素晴らしいアプリは、あまりにも多くの帯域幅を使用したために拒否されました。iPhoneアプリが「データの大量転送」のために拒否されました

私は拒否を理解しています(ストリーミングではなくダウンロードしています)。決断を怠ることはありません...私たちの最優先事項はユーザーエクスペリエンスです。

私は今何をしているのですか?

厳しい規則はありません... Appleは「Appleの合理的な判断で、ネットワークの容量や帯域幅を過度に使用したり過度に負担してはいけません。

Appleは妥当なデータ転送速度と考えている人は誰ですか?

バッファーファイルを短期間でいっぱいにする必要がありますか?一定のレートでファイルをストリーミングする必要があります(また、アプリ内から転送レートを制限するにはどうすればよいでしょうか)。

すべての提案は大歓迎です。より深刻なノートで

答えて

11

私はアップルデベロッパーのサポートと、またFYIと話しました。あなたは1分あたり1 MBをCellularネットワーク上でのみストリームすることができます。サポートは、次の方法でアプリケーションをテストすることをお勧めします:

"基本的な測定方法は、すべてのバックグラウンド更新(特にメールの自動メールダウンロードとカレンダーの更新)をオフにし、設定:一般:使用テストを終了したら、「セルラーネットワークデータ」に記載されている番号を入力して、

私が今説明したことを使用して、アプリケーションが私たちの帯域幅要件内にとどまるようにするためのガイドラインとして、5分ごとに4.8 MBを提案します。

少なくとも少しは助けてください。

+0

これはまだ最も役立つ答えです...ありがとう。私たちは現在、5分ごとに正確に4.8MBを打っています(偶然にも)。 –

+0

これに関する最新の情報はもうありますか? – Jonny

+0

他に何を知りたいですか? – postalservice14

0

おかげで、何それがやろうとしていますか?米国外のiPhoneには、携帯電話のダウンロード速度があまり高くないし、ダウンロードの上限があまりないため、アプリのダウンロードが大変なことも良いことではありません。

mp3などのデータレートを落とす可能性がありますか?ダウンロードを使用するという警告とともにダウンロードを行うことはオプションですか?

+0

私たちは、帯域幅の問題をより意識されている必要があることに同意...しかし、YOUTUBE、パンドラと他のストリーミングアプリケーションのホストは、私はちょうど私達があるため、それならば拒否される考慮していなかったことで買わ得ることを見て。 すべての開発者がネットワークを圧倒すれば、Webブラウジングのような他のサービスを使用すると苦労します。だから私はこれを行う責任ある方法を探していて、ユーザーに良い経験を与えているのです。 –

6

あなたはHTTPライブストリーミングを検討しましたか?これはOS 3.0に組み込まれています。

基本的には、メディアを小さな(たとえば10秒)スニペットに分割し、標準のWebサーバーに配置します。次に、ビットがどこにあるのかを示すEXTM3U形式のテキスト「メタ記述子」ファイルをほとんど作成しません。興味深いのは、スニペットの複数のバージョンを異なるビットレートで作成できることです。したがって、あなたの帯域幅が良いならば、iPhoneプレーヤーはより高いビットレートを動的に選択しますが、それが低いときには自動的にスニペットのより低いビットレートバージョンに切り替わります。変化する状況に適応するために、これをオンザフライで実行します。

例えば、3つの異なるビットレートでMP3を複数の10秒ビットに分割した場合、ユーザーはWiFiで接続すると高品質のものが得られますが、3GまたはEDGEの場合は徐々に低品質(およびより小さいサイズ)のコンテンツ。

ダウンロード可能なメディアコンセプトに違反している場合は、同じトリックを使用して、接続タイプごとに複数のサイズのファイルを保存することができます。次に、WiFiに接続している場合(またはサーバーへのハートビートpingで高速処理を行う場合)、大きなファイルと中規模または小サイズのファイルをダウンロードします。

Here's a decent step-by-stepセグメンテーションコンテンツです。彼らはビデオに焦点を当てていますが、オーディオコンテンツでも動作するはずです。

+0

ファイルを分割するための最初の提案は、多くの作業のようですが、おそらくそれは私たちが行かなければならない方法です。ファイルの長さは約30分なので、それぞれ180ファイルになります。 私たちは、ユーザーがアプリを離れることなく私たち自身のプレーヤーでファイルを再生します。それでも3.0 HTTPライブストリーミングのオプションはありますか? Appleが開発者にいくつかのベンチマークを与えたほうがずっと簡単です。 –

+0

コンテンツ品質のステップダウンは、Wi-Fiから3GPに移行する際に素晴らしいアイデアのように聞こえます。 – Spence

+0

リンク先の記事に記載されているツールは、自動的にセグメント化とプレイリストの作成を行います。これまで私はビデオファイルでしか演奏していませんでしたが、オーディオも機能するはずです。ストリーミングクライアントは基本的に埋め込み可能なビデオプレーヤーです。動画コンテンツの場合、フルスクリーンになりますが埋め込み状態です(再生中にアプリを終了しないなど)。それは公式に認可されたフレームワークなので、あなたのアプリを手に入れるほうがよいかもしれません。 – Ramin

0

あなたがワイヤレスでいない限り、あなたはmp3をダウンロードできませんでした。あなたがmp3をあまりにも重要な場合は、それだけでワイヤレスで動作するか、またはデバイス上にいくつかのMP3を含めることを伝えます。しかし、mp3の30分はばかげている、それは約30メガバイト...それについて考えると、30メガはあまりにも多くです。

+0

ファイルは、アプリケーションのコアで、範囲は5Mbから16.7Mbです。それはばかげていません。 –

1

私が携帯に接続されているときに、ネットワーク/ httpリクエスト上の帯域幅を絞ると、無線LANにはスロットルを有していないお勧めします。

Reachabilityを使用してネットワークの状態を検出し、CFNetworkを使用してhttp要求を次の秒まで黙って実行するコンボ。

あなたはどちらか、このプロジェクトをチェックアウトする必要があります使用する、またはちょうど良く、これをコーディングする方法の例を参照してください:

http://allseeing-i.com/ASIHTTPRequest

ASIHTTPRequestクラスは古いまたは2.0バージョンのいずれかを使用して、これを実装また、クラスレベルのスロットルを提供するので、複数の同時ダウンロードとアップロードがあっても、すべてがASIHTTPRequestを通過する限り、適切にまとめられ、適切に調整されます。このここで使用する方法の詳細

ビット:この中に良いものの http://allseeing-i.com/ASIHTTPRequest/How-to-use#bandwidth_throttling

ロット(なし、私はそれのいずれかの著者ではないです)。

+0

私はちょうどそれをやってしまった。しかし、私はペナルティを課すことなく、それ以降のアップデートでデータ転送速度を向上させました(これまでのところ) –

+0

非常に面白いです。私たちはスロットルを追加してレビューを終えました - スロットルの限界に忍び寄ることを見なければなりません... –

関連する問題