Skip to content

firebase 푸시 기능(선택사항) ​

  • firebase 푸시 기능을 연동하려면 strings.xml에서 해당 설정을 해야 하며, manifest.xml 파일의 <manifest> 루트 노드에 해당 권한을 추가하고 <application> 노드에 해당 컴포넌트 선언을 추가해야 합니다(이 부분은 제공된 SDK에서 이미 구성 완료됨). 다음과 같습니다.

string.xml 파일 구성 ​

  • strings.xml 파일에서 firebase 푸시 기능을 활성화합니다:
xml
<!--firebase 푸시 기능 연동 여부 1:연동,0:미연동(기본값)-->
    <string name="is_access_firebase">1</string>

manifest.xml 파일 ​

  • 권한 선언을 추가하며, 다음 권한은 SDK나 게임에서 한 번만 추가하면 됩니다. 그렇지 않으면 실행 시 오류가 발생합니다:
xml
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <permission
        android:name="{패키지명}.permission.C2D_MESSAGE"
        android:protectionLevel="signature" />
    <uses-permission android:name="{패키지명}.permission.C2D_MESSAGE" />
  • 관련 컴포넌트 선언:
xml
        <service
            android:name="com.gd.fcmpush.GDFirebaseMessagingService"
            android:exported="false" >
            <intent-filter android:priority="-500" >
                <action android:name="com.google.firebase.MESSAGING_EVENT" />
            </intent-filter>
        </service>

  • 게임에도 firebase 푸시 기능이 있는 경우, 게임은 manifest에서 action이 com.gd.fcm.action인 브로드캐스트를 등록하고 브로드캐스트의 onReceive 메소드의 intent 매개변수에서 RemoteMessage 객체를 가져오기만 하면 됩니다. 다음과 같습니다:
  • 브로드캐스트 등록:
xml
<receiver android:name="{사용자 정의 브로드캐스트 수신기}">
            <intent-filter>
                <action android:name="com.gd.fcm.action" />
            </intent-filter>
</receiver>
  • FcmReceiver 클래스:
java
public class "{사용자 정의 브로드캐스트 수신기}" extends BroadcastReceiver{

	@Override
	public void onReceive(Context context, Intent intent) {
		RemoteMessage remoteMessage = (RemoteMessage) intent.getExtras().get("remoteMessage");
		// TODO 게임에서 firebase 푸시를 받은 후의 로직 처리
	}
}