weeed
114
2020-05-21 17:12:09
5
434

안드로이드 FCM에 관하여 질문드립니다.


안녕하세요 안드로이드 초보 개발자가 질문드립니다.

몇일동안 해결이 안되서 질문드리게 됬습니다.

회원가입시 관리자에게 푸시알림, 관리자 승인시 회원가입 신청자에게 푸시알림 기능을 추가하려고 하고 있습니다.

관리자는 3~5명으로 지정할 생각입니다.

일단 구글에 많은 가이드라인을 확인하여 firebase에서 메시지 전송시 수신 받는 부분까지는 완료했습니다.

문제는 앱에서 firebase로 푸시알람 발송 요청하는 부분에서 발생했습니다.

가이드 라인대로 

implementation 'com.google.firebase:firebase-admin:6.8.1'

를 app수준 build.gradle에 추가를 했는데

Annotation processors must be explicitly declared now 

라는 에러가 발생합니다.

해당 에러에 관한 구글링도 하여 gradle 의존성에 이것 저것 추가를 해보았지만, 결국 같은 에러가 발생해버리네요...

혹시 해결방법을 알고 있는 분 계시면 답변 부탁드립니다 ㅜㅜ


Annotation processors must be explicitly declared now.  The following dependencies on the compile classpath are found to contain annotation processor.  Please add them to the annotationProcessor configuration.

  - jetified-auto-value-1.4.jar (com.google.auto.value:auto-value:1.4)

Alternatively, set android.defaultConfig.javaCompileOptions.annotationProcessorOptions.includeCompileClasspath = true to continue with previous behavior.  Note that this option is deprecated and will be removed in the future.

See https://developer.android.com/r/tools/annotation-processor-error-message.html for more details.



전체 에러 코드입니다.
0
  • 답변 5

  • 멘탈조각
    1k
    2020-05-21 18:27:01

    안드로이드 스튜디오에 Firebase 설치 자동화 플러그인 깔려 있습니다.


  • weeed
    114
    2020-05-22 13:08:53

    @멘탈조각

    답변감사합니다!

    Tools 메뉴탭 firebase 말씀하시는건가요?

    그 기능으로 cloud messaging 기능 구현해 봤는데 앱에서 FCM 서버로 요청하는 코드 및 라이브러리가 없는것 같아서 그런데 관련 사이트 알 수 있을까요?

  • UnknownDontknow
    830
    2020-05-22 17:11:42

    admin모듈은 서버쪽 모듈이라 클라이언트인 안드로이드 gradle에 추가 못하지 않나 싶어요. 

    앱에서 FCM 서버쪽으로 페이로드 작성해서 요청하는 방법은 HttpUrlConnection 클래스 활용하여 request 세팅해서 보낼 수는 있는데, 이 방식을 사용할경우 서버키가 안드로이드 클라이언트에 작성되기 때문에 보안에 취약한걸로 알고있어요. 테스트 용도로만 사용하시는게 좋을듯해요. 그래서 서버를 따로 두고 안드로이드 -> 서버 -> FCM서버 형태로 구축해야 할거에요.

    서버를 따로 구축하셔서 지금 추가하려하셨던 admin모듈 추가하시면 모듈자체에서 제공해주는 전송함수가 따로 있으니 그거사용하시면 될거에요.

  • weeed
    114
    2020-05-25 15:49:30

    일단 어플 안에서 전송할 수 있다고 알고 있어서 구현을 하려고 계속 방법을 찾는중입니다.

    어찌어찌 진도가 나가는듯한데 계속 막히네요 ㅜㅜ

    지금은 res폴더에 admin파일을 넣어놨는데 FileInputStream(filePath) <-- 이부분에서 해당 admin 파일을 못불러오고 있습니다.

    res폴더 안에 raw폴더를 만들어서 R.raw.fcmmsg.json 파일을 경로에 넣어 보기도 하고, 실제 컴퓨터에 있는 경로를 넣어보기도 했는데 안되네요

    어플이 생성됬을 때 사용해야하는만큼 R.raw.fcmmsg.json형식이 맞는것 같은데 로그에서는 경로를 찾을 수 없다고 나오네요

    혹시 어플 내부 경로 불러오는 방법을 알 수 있을까요?> ㅜㅜ

  • tnvnfdla12
    2
    2020-07-06 14:00:03

    안녕하세요. 똑같은 문제로 골머리 앓고 있는 학생입니다.

    혹시 방법은 찾으셨나요??

  • 로그인을 하시면 답변을 등록할 수 있습니다.