Reddit App API
ID

Reddit App API · 08 / 08

Simpan referensi tanpa menjanjikan ketersediaan selamanya

Rencanakan daftar baca milik aplikasi dengan referensi minimal, tanggal jelas, dan penyegaran yang disengaja. Pisahkan penghapusan lokal dari penghapusan arsip atau tindakan akun.

Tentukan arti Simpan dalam aplikasi

Dalam aplikasi pendakian usulan ini, Simpan berarti mempertahankan referensi historis pilihan pada perangkat saat ini untuk dibaca nanti. Itu fitur yang perlu diimplementasikan aplikasi, bukan endpoint arsip. Reddit App API tidak menyediakan penanda, sinkronisasi lintas perangkat, atau akun daftar tersimpan. Jelaskan perbedaannya sebelum pendaki mengandalkan daftar tersebut saat bepergian.

Saat pengguna menyimpan diskusi untuk nanti, aplikasi sebaiknya menyimpan referensi sumber minimal, bukan menyalin seluruh isi posting. Jika tersedia, pertahankan pengenal rekaman, tautan sumber tervalidasi, dan konteks yang cukup untuk mengenali pilihan. Bila menyimpan cuplikan pendek pilihan pengguna juga, nyatakan dengan jelas dan pertimbangkan konten serta hak pihak ketiga terkait.

Jangan satukan tiga tanggal menjadi satu

Aplikasi harus membedakan waktu asli pembuatan rekaman dari saat pengguna menyimpannya. Aplikasi juga boleh mencatat kapan materi diambil. Label seperti Disimpan pada perangkat ini menjelaskan tindakan aplikasi, bukan bahwa diskusi ditulis, diperiksa, atau diperbarui pada tanggal tersebut. Biarkan tanggal asli yang tidak tersedia tetap tidak diketahui.

Jangan menganggap judul atau cuplikan tersimpan sebagai bukti bahwa sumber saat ini masih mengatakan hal yang sama. Pertahankan konteks pilihan tanpa menambah rincian rekaan. Komentar dari hasil parsial tetap referensi ke rekaman itu, bukan utas lengkap atau jaminan seluruh balasan di sekitarnya tersedia nanti.

Bedakan membuka data lokal dari pengambilan baru

Daftar lokal dapat menampilkan metadata atau cuplikan yang sudah dimiliki tanpa memanggil layanan lagi. Jadikan pengambilan baru sebagai tindakan sengaja, bukan menyegarkan semua item diam-diam setiap kali daftar dibuka. Setiap pengambilan berhasil memerlukan satu kredit, dan pencarian eksplisit /v1/item?id=RECORD_ID juga merupakan permintaan. Kunci arsip tetap disimpan pada backend.

Pencarian item dapat mengembalikan array data kosong yang berhasil bila tidak ada rekaman; jangan berasumsi layanan memakai 404 atau 410 untuk item tersimpan yang hilang. Keberhasilan kosong itu dikenai biaya. Permintaan gagal atau respons hilang juga tidak membuktikan item telah dihapus. Bedakan label Tidak tersedia pada pengambilan ini, Permintaan gagal, dan Belum diperiksa kembali.

Sediakan kontrol lokal sesuai janjinya

Sediakan tindakan Hapus dari perangkat ini yang jelas untuk daftar usulan. Tindakan itu menghapus referensi tersimpan lokal beserta cuplikannya sesuai rancangan aplikasi. Tindakan tersebut tidak menghapus posting Reddit atau rekaman arsip, menutup akun layanan, maupun mengubah data pembayarannya. Jangan menampilkan kontrol lokal sebagai permintaan penghapusan yang lebih luas.

Jika memilih batas penyimpanan atau aturan kedaluwarsa, jelaskan dan uji aturan aplikasi itu, bukan mengarang tenggat retensi layanan. Beri pembaca kesempatan memahami apa yang akan dibuang. Pembersihan perangkat, pembatasan penyimpanan browser, atau penghapusan data aplikasi juga dapat menghilangkan materi lokal. Jangan menjanjikan akses permanen hanya karena item telah disimpan.

Buat ekspektasi offline terbatas dan jelas

Daftar yang hanya berisi referensi mungkin memerlukan koneksi untuk membuka sumbernya. Cuplikan tersimpan mungkin bisa dibaca lokal jika aplikasi mengimplementasikan dan menjaganya, tetapi itu tidak membuat seluruh diskusi atau peta tersedia offline. Tunjukkan apa yang benar-benar tersimpan sebelum pendaki keluar dari jangkauan jaringan. Panduan ini tidak mengklaim fitur offline tersebut sudah dibangun atau diuji.

Pisahkan penyimpanan aplikasi ini dari sesi akun situs layanan dan referensi invoice terakhirnya. Widget dapat menyimpan id invoice dan id pengguna per host; mekanisme itu bukan daftar baca dan tidak boleh dialihfungsikan untuk menyimpan kunci API. Pencadangan, ekspor, atau sinkronisasi lintas perangkat menjadi fitur tambahan yang harus Anda rancang dan jelaskan. Lihat /id/#field-notes untuk pemetaan rekaman dan anggaran permintaan.