์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- ํผ๊ณต๋จ
- ์ค๋ธ์
- groupby
- select
- join
- CS
- ์คํฐ๋
- Til
- ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ
- ํผ๊ณตํ
- ์๋ฃ๊ตฌ์กฐ
- ์ฝํ๋ฆฐ
- ์๋๋ก์ด๋
- MySQL
- ์นด์นด์ค์ฝํ
- ์ ์ฒ๊ธฐ
- ์ธํ๋ฐ
- ์๋๋ก์ด๋์คํ๋์ค
- ํ๋ก๊ทธ๋๋จธ์ค
- ์ฝํ
- ์๋ฐ
- SQL
- ํผ๊ณต์ฑ๋ฆฐ์ง
- doitandroid
- ์๊ณ ๋ฆฌ์ฆ
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- java
- Android
- Kotlin
- ๊ธฐ์ ๋ฉด์
- Today
- Total
Welcome! Everything is fine.
[Android] FCM ์ด์ฉํ์ฌ ํ ์คํธ ๋ฉ์์ง ๋ณด๋ด๊ธฐ ๋ณธ๋ฌธ
๐ FCM(Firebase Cloud Messaging) ์ด์ฉํด ํธ์ ๋ฉ์์ง ๋ณด๋ด๊ธฐ
Tools - Firebase ์ ๋ค์ด๊ฐ์ Cloud Messaging - Set up Firebase Cloud Messaging์ ํด๋ฆญํ๋ค.
๊ทธ๋ผ ๋ค์๊ณผ ๊ฐ์ด ํด์ผํ ๊ฒ๋ค์ด ๋์จ๋ค.
Firebase์ ํ๋ก์ ํธ๋ ์ฐ๊ฒฐ์ด ๋์ด์์ผ๋ฏ๋ก ์๋ตํ๊ณ , Add FCM to your app ๋ฒํผ์ ๋๋ฅด๋ฉด ์๋์ ๊ฐ์ ์ฐฝ์ด ๋ฌ๋ค. Accept Changes๋ฅผ ๋๋ฅด๊ณ ์ ์ ๊ธฐ๋ค๋ฆฌ๋ฉด ์๋ฃ๋๋ค.
๋ค์ ์ฝ๋๋ฅผ ๋ณต์ฌํด MainActivity์ OnCreate() ๋ฐ์ ๋ฃ๋๋ค. ํ์ด์ด๋ฒ ์ด์ค ์ฐธ๊ณ ๋ฌธ์์์ 'ํ์ฌ ๋ฑ๋ก ํ ํฐ ๊ฐ์ ธ์ค๊ธฐ'์์๋ ์ฝ๋๋ฅผ ๋ณต์ฌํ ์ ์๋ค.
FirebaseMessaging.getInstance().getToken()
.addOnCompleteListener(new OnCompleteListener<String>() {
@Override
public void onComplete(@NonNull Task<String> task) {
if (!task.isSuccessful()) {
Log.w("FirebaseMessaging", "Fetching FCM registration token failed", task.getException());
return;
}
// Get new FCM registration token
String token = task.getResult();
Log.d("FirebaseMessaging", "Your device registration token is " + token);
Toast.makeText(getApplicationContext(), "Your device registration token is " + token, Toast.LENGTH_SHORT).show();
}
});
์คํํ๋ฉด ๋ก๊ทธ์ฐฝ์ ๋ค์๊ณผ ๊ฐ์ด ํด๋น ๊ธฐ๊ธฐ์ ํ ํฐ์ด ๋ฌ๋ค. ์ด ํ ํฐ์ ๋์ค์ ์ฌ์ฉํด์ผํ๋ฏ๋ก ๋ณต์ฌํด๋๋ค.
์ด์ ํ์ด๋ฒ ์ด์ค ์ฝ์๋ก ๊ฐ์ ๋ชจ๋ ์ ํ - Cloud Messaging์ ํด๋ฆญํ๋ค.
๋ค์ด๊ฐ์ '์ฒซ๋ฒ์งธ ์บ ํ์ธ ๋ง๋ค๊ธฐ'๋ฅผ ํด๋ฆญํ๋ค.
๊ทธ๋ผ ์๋์ ๊ฐ์ ์ฐฝ์ด ๋จ๋๋ฐ, ํ๋ ์ ํํ ํ '๋ง๋ค๊ธฐ'๋ฅผ ๋๋ฅธ๋ค. ๋๋ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์๋ฆผ์ ๋ฐ๊ธฐ๋ฅผ ์ํ๊ธฐ ๋๋ฌธ์ ์ฒซ๋ฒ์งธ๋ฅผ ์ ํํ์๋ค.
์๋ฆผ ์ ๋ชฉ๊ณผ ๋ฉ์์ง๋ฅผ ์์ฑํ๊ณ 'ํ ์คํธ ๋ฉ์์ง ์ ์ก'์ ํด๋ฆญํ๋ค.
์ด๋ ์๊น ์ป์ ํ ํฐ์ด ํ์ํ๋ฐ, ๋ณต์ฌํ ํ ํฐ์ ๋ถ์ฌ๋ฃ๊ธฐํ๊ณ ํ ์คํธ ๋ฒํผ์ ๋๋ฅธ๋ค.
๊ทธ๋ผ ๋ฐฑ๊ทธ๋ผ์ด๋ ์ํ์์ ํ ์คํธ ์๋ฆผ์ด ์ ์์ ์ผ๋ก ์ค๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
์๋ฆผ์ ๋์์ ์ด๋ ๊ฒ ๋ฐฑ๊ทธ๋ผ์ด๋ ์ํ์ธ์ง, ์๋์ง์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ค. ๋ฐฑ๊ทธ๋ผ์ด๋๊ฐ ์๋ ํฌ๊ทธ๋ผ์ด๋ ์ํ์์ ์๋ฆผ์ ์์ ํ๋ ค๋ฉด onMessageReceived ์ฝ๋ฐฑ์ ์ฒ๋ฆฌํ๋ ์ฝ๋๊ฐ ํ์ํ๋ค.
ํฌ๊ทธ๋ผ์ด๋์์ ์๋ฆผ์ ์์ ํ๊ธฐ ์ํด ๋ค์๊ณผ ๊ฐ์ด ์๋ก์ด ํด๋์ค๋ฅผ ๋ง๋ค์ด์ค๋ค. FirebaseMessagingService๋ฅผ extendsํ๋ค.
public class MyFirebaseMessagingService extends FirebaseMessagingService {
}
๋ค์์ผ๋ก AndroidMenifest์ ๋ค์ ์ฝ๋๋ฅผ ๋ถ์ฌ๋ฃ๋๋ค. <application>ํ๊ทธ ์์ ๋ถ์ฌ๋ฃ์ด์ผ ํ๋ค.
<service
android:name=".MyFirebaseMessagingService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ฌ onMessageReceived ๋ฉ์๋๋ฅผ ์ฌ์ ์ํ๋ค.
'Android' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Android] Retrofit2 ์ด์ฉํด FCM ๋๊ธ ํธ์์๋ฆผ ๊ตฌํํ๊ธฐ (0) | 2023.08.19 |
---|---|
[Android] ํค๋ณด๋ ์ํฐํค ํด๋ฆญ ์ ์ค๋ณต๋ ๊ฐ์ด ๋์ฌ ๋ (0) | 2023.08.19 |
[Android] ๋ค์ด๋ฒ ๋งต ๋ฐ๊ฒฝ 1km ๋ด ๋ง์ปค์ฐ๊ธฐ (0) | 2023.06.22 |
[Android] ๊ฒ์ํด์ Firebase์ ์ ์ฅ๋ ๋ฐ์ดํฐ ๋ถ๋ฌ์ค๊ธฐ (0) | 2023.06.22 |
[Android] ๋ฆฌ๋ทฐ ํ๊ท ๋ณ์ (0) | 2023.05.29 |