Приложение отклонено из-за потоковой передачи аудио более 5 МБ/5 минут? Доступность и отслеживание использования данных

Мое приложение было отклонено, поскольку одной из функций является потоковое воспроизведение аудио подкастов с веб-сайта. Судя по всему, он может передавать более 5 МБ/5 минут, что противоречит разделу 9.3 Руководства по проверке App Store (https://developer.apple.com/appstore/resources/approval/guidelines.html).

Их предложение состояло бы в том, чтобы использовать Reachability, чтобы ограничить эту функцию Wi-Fi. У меня вопрос, есть ли другой способ обойти это? Возможно, чтобы позволить пользователю передавать аудио объемом 5 МБ перед отображением предупреждения о переключении на WiFi? Я ничего не вижу в Reachability об использовании данных... есть ли какая-либо другая платформа, которая могла бы отслеживать использование данных?


person Keller    schedule 13.12.2011    source источник
comment
Интересно, это только со звуком? Мне интересно, как Netflix обошёл это.   -  person 5StringRyan    schedule 14.12.2011
comment
Да, у меня также есть потоковое видео в моем приложении. Там нет жалоб. Странный...   -  person Keller    schedule 22.12.2011
comment
Если это так, то я думаю, что аргумент о том, что руководство является разумным из-за предотвращения увеличения счетов и т. Д., На самом деле не выдерживает критики ....   -  person 5StringRyan    schedule 22.12.2011


Ответы (3)


Я думаю, что руководство Apple является разумным. Это нужно не только для того, чтобы пользователи не выставляли счета за большие объемы данных, но и для уменьшения перегрузки в сетях передачи данных.

Что касается вашей идеи разрешить пользователю потоковую передачу по сотовой связи в течение 5 минут, а затем предложить им переключиться на Wi-Fi - я думаю, что это сделает пользователя плохим / раздражающим, а не просто предложит им с самого начала использовать Wi-Fi. Если они используют Wi-Fi с самого начала, они будут:

1) имеют меньшую вероятность наличия прерывистого звука

2) тратить меньше своих разрешений/стоимости сотовых данных

3) не иметь перерыва в обслуживании через 5 минут, что может прервать их поток, и в этот момент им приходится возиться со своим телефоном

person occulus    schedule 13.12.2011
comment
Хотя я согласен, здесь нет элегантного решения. Я решил просто уступить предложению Apple отключить функцию 3G :/ Как ни странно, у меня есть потоковое видео в приложении, которое, похоже, их не волнует.. - person Keller; 14.12.2011
comment
Рассматривали ли вы возможность понижения частоты дискретизации вашего аудиопотока, чтобы он использовал меньшую полосу пропускания? Это вариант? Или дросселирование, как упоминали другие. - person occulus; 14.12.2011
comment
Не вариант, просто слишком много потоков для этого (я также не контролирую бэкэнд). У меня было одобрено приложение с удаленной функцией, но я все еще пытаюсь заставить его работать с помощью дросселирования. - person Keller; 22.12.2011
comment
@Keller, ты когда-нибудь находил решение для этого? Я сталкиваюсь с той же проблемой, - person Bill Bonar; 30.07.2012

ASIHTTPRequest имеет встроенный код для ограничения пропускной способности, когда пользователь находится на 3G. Здесь используется модифицированная версия примера Reachability. Исходный код доступен, поэтому взгляните, если хотите попробовать сделать это самостоятельно. Он обходит ограничение в 5 МБ/5 минут, замедляя скорость загрузки до уровня, при котором этот лимит не будет достигнут.

person Community    schedule 14.12.2011
comment
ASIHTTPRequest только что был удален автором, и его дизайн немного монолитный. Вместо этого я предлагаю посмотреть github.com/AFNetworking/AFNetworking. - person occulus; 14.12.2011
comment
@occulus: +1, но весь смысл этого заключался в том, чтобы прочитать реализацию регулирования пропускной способности, которая использует модифицированный код доступности. Есть ли у AFNetworking параметр ограничения полосы пропускания для своих запросов? Если нет, то это не отвечает на вопрос ОП. - person ; 15.12.2011
comment
Два интересных поста! На самом деле я использую ASIHTTPRequest в своем приложении для чего-то другого (форма загрузки), поэтому я рассмотрю его модифицированный код доступности. Где вы увидели, что его увольняют? Конечно, с момента последнего обновления прошло много времени, но оно все еще кажется довольно актуальным (например, работает в iOS 5). В любом случае, я обязательно проверю и AFNetworking. Спасибо за ваши ответы! - person Keller; 16.12.2011
comment
@Келлер: Вот сообщение Бена, объявляющее об уходе ASIHTTPRequest. Он рекомендует вам не использовать его в будущих проектах и ​​начать портировать существующие варианты его использования в другую библиотеку, например AFNetworking. - person ; 19.12.2011

Я не думаю, что какой-либо фреймворк отслеживает использование данных за вас (вы можете сделать это самостоятельно), Reachability используется, чтобы узнать, используете ли вы Wi-Fi или 3G.

person Stripes    schedule 13.12.2011