Reddit App API
UK

Reddit App API · 01 / 08

Додайте зупинку для читання до підготовки подорожі

Розгляньте ілюстративну функцію читання про офлайн-карти: виберіть запитання, зробіть один обмежений запит і відокремте давні обговорення від навігації.

Виберіть запитання, яке допоможе дослідити архів

Цей розбір проєкту гіпотетичний. Мандрівник вибрав маршрут і готує телефон до використання без надійного зв’язку. Він хоче прочитати, як інші обговорювали офлайн-карти: що завантажувати заздалегідь, які припущення про пристрій перевірити та що з’ясувати про вибране програмне забезпечення. Архів є джерелом історичних обговорень, а не постачальником карт.

Розмістіть читання поруч із нотатками про підготовку, а не всередині покрокової навігації. Результат не повинен ставати перевіреним станом стежки лише тому, що стоїть біля маршруту. Завантаження карти, дозвіл на геолокацію, поточні закриття й інформацію про безпеку залиште у відповідних частинах застосунку. Так історичні розповіді виконують корисну роль без надання їм неіснуючого авторитету.

Надішліть один невеликий свідомий запит

Почніть із запропонованої фрази offline maps і сабреддіту hiking. Клієнт передає цей вибір бекенду; бекенд міг би викликати /v1/search?q=offline%20maps&subreddit=hiking&limit=3&page=1 зі збереженим ключем сервісу. Це проєкт запиту, а не доказ існування трьох відповідних записів. Ключ залишається на бекенді й не входить до вводу мандрівника.

Невелика перша сторінка дає змогу спроєктувати завдання читання раніше за велику стрічку. q використовує зіставлення AND за title і text, тому фраза не є вказівкою шукати точну фразу або семантичні збіги. Якщо мандрівник її змінює, поясніть новий пошук у застосунку й почніть послідовність сторінок заново. Не розширюйте запит непомітно, видаючи нові результати за відповідь на початкове запитання.

Перетворюйте запис на довідкове джерело, а не рекомендацію

Архів повертає плоскі записи. Картка може показувати доступний текст, спільноту-джерело, коректну дату створення та придатне посилання. Коментар може не мати заголовка чи корисного контексту. Повідомте, що заголовок або дата недоступні, замість їх вигадування. Локальне групування за наявними батьківськими ідентифікаторами може пов’язати деякі записи, але не встановлює повноти обговорення.

Архів зберігає записи в порядку документів, а не за часом, релевантністю чи оцінкою. Узгодьте це обмеження з інтерфейсом: назвіть область історичними матеріалами, а не найкращими відповідями. Читач може порівнювати різний досвід і переходити до джерела, коли воно доступне. Не перетворюйте уривок про чужу конфігурацію на підтверджену інструкцію для цього пристрою чи подорожі.

Спершу спроєктуйте некорисний результат

Успішний запит може не повернути записів. Залиште введене видимим і запропонуйте свідому зміну, наприклад іншу фразу. Порожній стан описує цю відповідь; він не доводить, що ніхто не обговорював тему. Кожен успішний запит даних, навіть без результатів, витрачає один кредит. Оператор застосунку має розуміти цю вартість до ввімкнення автоматичних пошуків.

Помилка — інший випадок. Збережіть запитання й запропонуйте повтор, коли це доречно. Проблеми ключа сервісу та кредитів належать оператору, а мандрівникові потрібне коротке пояснення недоступності пошуку обговорень. Не додавайте до цього читання оплату облікового запису й не вважайте затриманий запит доказом збою архіву.

Нехай читач завершує з обмеженим результатом

Якщо pagination.has_more дозволяє, дія «Показати ще» може отримати наступну сторінку з тими самими фільтрами й limit. Натомість читач може зберегти посилання в локальному списку застосунку. Жодна дія не гарантує повноти охоплення, постійної доступності джерела чи офлайн-копії всієї розмови. Збережене посилання також не завантажує придатної для навігації карти.

Корисним завершенням стане короткий перелік запитань, які мандрівник перевірить у своєму картографічному програмному забезпеченні й актуальних рекомендаціях. Це задум проєкту, а не виміряна користь. Залишайте історичне маркування видимим скрізь, де матеріали з’являються повторно. У /uk/#field-notes наведено рішення для карток, позначення віку джерел і локального списку читання.