작성
·
36
0
//Promise method (권장)
storageRef?.putFile(photoUri!!)?.continueWithTask { task: Task<UploadTask.TaskSnapshot> ->
return@continueWithTask storageRef.downloadUrl
}?.addOnSuccessListener { uri->
var contentDTO = ContentDTO()
contentDTO.imageUrl = uri.toString()
contentDTO.uid = auth?.currentUser?.uid
contentDTO.userId = auth?.currentUser?.email
contentDTO.explain = findViewById<EditText>(R.id.addphoto_edit_explain).text.toString()
contentDTO.timestamp = System.currentTimeMillis()
// :: firestore에 들어가지 않음!!
firestore?.collection("images")?.document()?.set(contentDTO)
setResult(Activity.RESULT_OK)
finish()
}
강의처럼 진행했고 오류도 안나고 하는데도 Cloud Firestore에 들어가지 않습니다..ㅠ
규칙도 다음과 같이 정의했습니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. Lust B님.
Cloud Firestore에 데이터가 들어가지 않는 문제에 대해 함께 살펴보겠습니다. 올바른 규칙 정의와 데이터 업로드 흐름이 중요합니다. 아래 링크들을 참고하시면 도움이 될 것입니다.
Firebase Firestore 데이터가 저장되지 않을 때 해결 방법
주요 확인사항:
- Firestore 규칙에서 request.auth.uid != null
부분은 인증된 사용자만 데이터에 액세스할 수 있도록 합니다. 인증되지 않은 사용자일 경우 데이터가 들어가지 않으니, 이 점을 확인해 주세요.
- 데이터가 들어가지 않는다면 네트워크 연결 상태도 확인해 보세요.
- 해당 코드를 테스트하도록 추가적인 디버깅 로그를 배치하여 어느 부분에서 문제가 발생하는지 구체적으로 확인해 보는 것도 좋습니다.
오류가 나지 않는다면, 규칙에서 인증에 관한 부분을 잠시 allow read, write: if true
로 변경하여 테스트해 보고, 인증 문제인지 확인하는 것도 하나의 방법일 수 있습니다. 단, 이 설정은 테스트용으로만 사용하시길 바랍니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.