GCMRegistrar.register(this, UrlUtil.gcmProjectID);
reg_id = GCMRegistrar.getRegistrationId(getApplicationContext());
몇년전에 만든 앱이 있습니다.
이게 마쉬멜로 에서는 밑에 코드에서 토큰값을 잘 받아오고, 서버에서 send할때 정상적으로 받아옵니다.
근데 오레오폰에서는 ...
Registering app [패키지명] of senders [센더넘버]
onReceive: com.google.android.c2dm.intent.REGISTRATION
Setting the name of retry receiver class to [패키지명 리시버]
GCM IntentService class: [패키지경로.GCMIntentService]
이렇게 로그로 찍어놓은 토큰값을 가져오질 못하네요...
마시멜로나 그 이하 폰에서는 정상적으로 토큰값 가져옵니다.
오레오에서는 푸시알람에 대한 퍼미션관련 작업을 해야 토큰값을 정상적으로 받아올 수 있나 해서
밑에처럼 퍼미션 띄우는거 해놨는데...
if(ContextCompat.checkSelfPermission(mContext, or.android.aides.Manifest.permission.C2D_MESSAGE) != PackageManager.PERMISSION_GRANTED ) {
요 if문을 아예 건드리질 않네요 ...
10월달 부터 gcm 지원중단한다고 하는데, 서버쪽도 수정해야되고 일이 좀 커질 것 같아서...
일단 급하게 현재 버젼 gcm으로 푸시만 돌아가게 수정해야 됩니다.
오레오버젼에서만 문제네요...
뭐가 문제인 것일까요 ... ㅠㅠ