Notice
Recent Posts
Recent Comments
Tags
- ViewBag
- javascript redirection
- 하드 윈도우 복사
- 타임피커
- ASP.Net Core 404
- 바코드 생성하기
- django 엑셀불러오기
- XSS방어
- XSS PHP
- javascript 유효성체크
- 강제이동
- asp.net core Select
- 파일업로드 유효성체크
- asp.net Select
- TempData
- javascript 바코드 생성
- php 캐쉬제거
- 말줄임표시
- 하드 마이그레이션
- jquery 바코드생성
- ViewData
- 맥 오라클설치
- Mac Oracle
- javascript 바코드스캔
- 404에러페이지
- 바코드 스캔하기
- jquery 바코드
- asp.net dropdownlist
- 파일업로드 체크
- SSD 복사
웹개발자의 기지개
FirebaseInstanceIdService, onTokenRefresh() 가 deprecated 되었다. 본문
안드로이드
FirebaseInstanceIdService, onTokenRefresh() 가 deprecated 되었다.
http://portfolio.wonpaper.net 2020. 1. 1. 16:52FirebaseInstanceIdService 가 deprecated 되어서 onTokenRefresh() 등이 메소드를 더이상 지원받을 수 없다.
그리고, 기존에 앱 초기등록시 만들어지는 토큰을
FirebaseInstanceId.getInstance().getToken()
형식으로 간단히 받을 수 있었는데. 이또한 deprecated 되었다.
그렇다면 이제는 어떤거를 이용해야 하느냐하면
FirebaseMessagingService 클래스이다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
public class MyFirebaseMsgService extends FirebaseMessagingService {
/* 토큰이 새로 만들어질때나 refresh 될때 */
@Override
public void onNewToken(String s) {
super.onNewToken(s);
Log.e("NEW_TOKEN", refreshedToken);
/* DB서버로 새토큰을 업데이트시킬수 있는 부분 */
}
/* 메세지를 새롭게 받을때 */
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
Log.d(TAG, "From: " + remoteMessage.getFrom());
/* 새메세지를 알림기능을 적용하는 부분 */
if (remoteMessage.getNotification() != null) {
Log.d(TAG, "From: " + remoteMessage.getFrom());
Log.d(TAG, "Message Notification Body: " + remoteMessage.getNotification().getBody());
String messageBody = remoteMessage.getNotification().getBody();
String messageTitle = remoteMessage.getNotification().getTitle();
}
}
}
|
cs |
또한 AndroidManifest.xml 내에 적용해야 하는 코드이다.
1
2
3
4
5
6
7
|
<service
android:name=".MyFirebaseMsgService"
android:stopWithTask="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
|
cs |
MainActivity.java 상에서 예전에는
String refreshedToken = FirebaseInstanceId.getInstance().getToken();
Log.d("FCM", "Refreshed Device token: " + refreshedToken);
이런식으로 이용해서 토큰값을 받았는데, 이제는 다음과 같이 해야한다.
1
2
3
4
5
6
7
8
|
FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener( MyActivity.this, new OnSuccessListener<InstanceIdResult>() {
@Override
public void onSuccess(InstanceIdResult instanceIdResult) {
String newToken = instanceIdResult.getToken();
Log.e("newToken", newToken);
}
});
|
cs |
'안드로이드' 카테고리의 다른 글
패키지명을 한꺼번에 변경하기 (Refactor) (0) | 2020.01.06 |
---|---|
AndroidManifest.xml 에 대하여 (0) | 2020.01.02 |
[Android] 하이브리드앱 기본 - WebView로 웹페이지 띄우기 (2) | 2019.12.30 |
ListView 리스트뷰 연습3 - 커스텀 리스트뷰 (Custom ListView) (0) | 2019.12.27 |
초기화면 페이지를 만들어보자. splash 페이지 제작 (0) | 2019.12.27 |
Comments