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 푸시를 받은 후의 로직 처리
}
}