[파이어베이스]클라우드 메시지
파이어베이스에서 제공하는 클라우드 메시지를 사용하여 앱에 알람을 보내는 동작을 구현하려고 합니다.
시중에 나온 책들의 설명을 보시고, 아무런 오류 없이 제대로 동작이 구현된다면 다행입니다만,
직접 구현해 본 결과, 당시 때 안드로이드 버전 및 라이브러리 버전을 사용해서 반영되어 있는 것이어서
몇몇 오류가 나서 제대로 동작을 구현하기 어려움이 있었습니다.
따라서, 이 오류를 해결함에 있어서 동작을 구현할 수 있었는데,
발생 했던 오류와 해결 방법에 대해서 포스팅 하겠습니다.
1. 안드로이드 스튜디오에서 안드로이드 버전을 어떤 것을 선택하느냐에 따라 다르겠지만,
앱을 디버그 했을 때,
'Conflict with dependency 'com.android.support:support-annotations' in project ':app'. Resolved versions for app (26.1.0) and test app (27.1.1) differ.'
이런 구문의 오류가 발생 했을 경우
=>
gradle.moduel(Module: app)의 구문 중
androidTestImplementation ('com.android.support.test:runner:1.0.2') -> androidTestImplementation ('com.android.support.test:runner:1.0.1') 로
androidTestImplementation ('com.android.support.test.espresso:espresso-core:3.0.2') -> androidTestImplementation ('com.android.support.test.espresso:espresso-core:3.0.1') 로 변경해주면 됩니다.
2. 이 경우는 파이어베이스 클라우스 메시지 설정 시, 파이어베이스 페이지에서 제공하는 절차를 따라 하는 중에 발생한 문제 입니다.(※당시 기준 버전임을 주의! + 안드로이드 버전 및 라이브러리 버전 확인 필요!!!)
파이어베이스 페이지 설명 당시, compile 'com.google.firebase:firebase-core:16.0.0'
을 구문에 추가하라고 설명되어 있습니다.
하지만,
'~java.lang.AbstractMethodError: abstract method "void com.google.firebase.iid.zzb.zzd(android.content.Intent)"
at com.google.firebase.iid.zzc.run(Unknown Source)~'
이런 구문의 오류가 발생하였습니다.
=>
compile 'com.google.firebase:firebase-core:16.0.0' -> compile 'com.google.firebase:firebase-core:10.2.1로 변경해주면 됩니다.