용어정리
용어정리
- senderID : developer console에 들어가서 Project Number이다.
- Sender AuthToken = 서버 키 라고도 불리며, 우리 서버가 gcm서버를 요청할 때, 자신의 서버키를 등록하는 것이다. 유출되지 않도록 보안에 신경을 써야한다.
- Registration Token : Gcm Server로부터 앱이 발급받은 ID
- Application ID = manifest에 등록된 앱의 pakage명
menifest설정
1. permissin 4개 설정
2. receiver 설정
Permission 정의
wake.Lock 폰이 꺼져있을때 키는 permission
googleplayservice가 메세지를 날릴때, c2dm.permission.RECEIVE퍼미션이 있어야 받을 수 있다.
그 담에 자신의 permission을 정의해야한다.
<permission android:name = "패키지명.퍼미션.C2D MESSAGE" android:protetionLevel = "signature"> 이건 안바뀐다
앱의 도장을 찍을 때 사용한 동일한 키스토어를 가지고 찍었을 때만 사용한다.
내 앱만 획득하는 임의에 permission을 정의 해야한다.
이걸 하는 이유는 이슈가 있기 때문인데, 메세지를 구글플레이서비스가 보내면, 샌드메세지를 받을때, 다른 앱이 가져갈 수있기 때문이다.
이걸 정의하고 <uses-permission android:name = "com.example.gcm.permission.C2D_MESSAGE" />로 정의를 다시 해야한다.
receiver 정의
receiver
android:name :"com.google.android.gms.gcm.GcmReceiver"
android.:export = "true"
android:permission = <"com.google.adnroid.c22dm.permission.SEND">
-이건 페이킹메세지를 방지하기 위해서 이걸 등록하면 googleplayservice만 보낼 수있다.
<category android:name = "패키지명"> 시스템이 효율적으로 보낼 수있게끔 하는 것이다.
설정은 여기 까지
service 정의
service를 정의해야한다.
</service>
android:name="서비스 클래스 이름"
android:exported = "false" -> 외부에서 받아서 할 수있기 때무에
<intent - filter>
action android:name ="com.google.android.c2dm.intent.RECEIVE"/>
</intent - filter>
</service>
<service
android name ="REgistrationIntentService"
android:exported="false">
<intent - filter>
<action android : name ="com.google.android.gms.iid.InstantId"/> ------ 아이디가 갱신되는경우 토큰을 업데이트해줘야하기때문에
</intent - filter>
</service>
<service
android:name = "RegistrationIntentService" -- registrationid 를 발급하는 경우 써줘야한다.
android:exported = "false">
</service>
</application>
</menifest> ------설정 끝
'Android' 카테고리의 다른 글
CleanArchetecture (0) | 2020.05.22 |
---|---|
ComponentArchitecture (0) | 2020.05.22 |
[안드로이드 개발기간] request만들기 (0) | 2016.09.11 |
[25일차] 채팅 (0) | 2016.08.23 |
[25일차]페이스북 로그인 연동 (0) | 2016.08.23 |