본문 바로가기
Programming/Android

[Android] FCM(Firebase Cloud Messaging) 주제 메시징

by hyunipad 2021. 3. 24.
반응형
본 포스팅은 FCM(Firebase Cloud Messaging)의 주제 구독 및 주제로 메시지 보내는 방법을 설명합니다.
기본적인 앱 설정과 테스트 메시지 전송은 앞선 포스팅을 참조해주세요. 

2021.03.24 - [Android] - [Android] FCM(Firebase Cloud Messaging), 클라우스 메시징

 

[Android] FCM(Firebase Cloud Messaging), 클라우스 메시징

본 포스팅은 안드로이드 스튜디오에서 FCM(Firebase Cloud Messsaging)를 사용하기 위한 방법을 설명합니다. 보다 자세한 내용은 https://firebase.google.com/docs/cloud-messaging?hl=ko를 참조해주시기 바랍니..

hyunipad.tistory.com

 

FCM(Firebase Cloud Messaging) 주제 메시징

FCM(Firebase Cloud Messaging)주제 메시징은 구독 모델을 기반으로 특정 주제(문자열)를 구독하는 여러 기기에 메시지를 보내줍니다. 클라이언트 앱에서 이벤트를 통해 subscribeToTopic()을 호출하여 주제를 구독할 수 있습니다.

 

본 포스팅은 기본적으로 테스트 메시지 전송까지 완료된 분을 타겟으로 하여 진행하기 때문에 파이어베이스 클라우드 메시징의 테스트 메시지 전송까지 완료되지 않으신 분은 위의 포스팅을 참조해주시기 바랍니다.

 

클라이언트 앱에서 주제 구독과 구독 취소

 

클라이언트 앱에서 기존 주제를 구독하거나 새 주제를 만들 수 있습니다. 새 주제는 클라이언트 앱에서 주제를 구독하면 해당 주제가 Firebase 프로젝트에 존재하지 않으면 새 이름으로 주제가 생성됩니다. 새 주제 생성은 Firebase Console 서버 환경에 따라 최대 1일까지 소요될 수 있습니다.

 

아래에 있는 메서드를 MainActivity에서 바로 호출하거나 버튼 클릭 이벤트 또는 SharePreverence로 설정창등을 구현하여 사용합니다.

 

주제 구독

FirebaseMessaging.getInstance().subscribeToTopic("sss").addOnCompleteListener(new OnCompleteListener<Void>() {
	@Override
	public void onComplete(@NonNull Task<Void> task) {
		String msg = getString(R.string.msg_subscribed);
		if(!task.isSuccessful()){
			msg = getString(R.string.msg_subscribed_failed);
		}
		Log.d(TAG, msg);
		Toast.makeText(subActivity.this, msg, Toast.LENGTH_LONG).show();
	}
});

 

주제 구독 취소

FirebaseMessaging.getInstance().unsubscribeFromTopic("sss").addOnCompleteListener(new OnCompleteListener<Void>() {
	@Override
	public void onComplete(@NonNull Task<Void> task) {
		String msg = getString(R.string.msg_subscribed);
		if(!task.isSuccessful()){
			msg = getString(R.string.msg_subscribed_failed);
		}
		Log.d(TAG, msg);
		Toast.makeText(subActivity.this, msg, Toast.LENGTH_LONG).show();
	}
});

 

Firabase 프로젝트에서 주제 메시지 보내기

주제를 구독한 모든 클라이언트 메시지는 보내는 방법은 Firebase 프로젝트의 Console 또는 서버에서 보낼 수 있습니다.

서버에서의 주제 메시징은 다음 포스팅에서 하도록 하고 이번 포스팅에선 Console에서 진행하도록 하겠습니다.

 

1.  Firebase 프로젝트의 알림 작성기 에서 새 알림 또는 Send your first message를 클릭합니다.

2.  알림 제목과 알림 텍스트를 입력하고 타겟 단계로 이동합니다.

3.  보내고 싶은 주제를 입력하고 메세지를 보냅니다.

 

Firebase의 서버환경에 따라 메시지가 늦게 도착할 수 있습니다.

보다 더 자세한 내용은 firebase.google.com/docs/cloud-messaging/android/topic-messaging?authuser=0를 참조해주시거나 이번 포스팅을 참조해주시기 바랍니다.

2021.03.24 - [Android] - [Android] FCM(Firebase Cloud Messaging), 클라우스 메시징

 

[Android] FCM(Firebase Cloud Messaging), 클라우스 메시징

본 포스팅은 안드로이드 스튜디오에서 FCM(Firebase Cloud Messsaging)를 사용하기 위한 방법을 설명합니다. 보다 자세한 내용은 https://firebase.google.com/docs/cloud-messaging?hl=ko를 참조해주시기 바랍니..

hyunipad.tistory.com

 

반응형

댓글