๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
ionic

๐Ÿค ionic fcm background์—์„œ ๋ฐ์ดํ„ฐ ๋ฐ›๊ธฐ

by frontChoi 2022. 3. 20.
๋ฐ˜์‘ํ˜•

๐ŸคฉFCM์—์„œ ์•Œ๋ฆผ์„ ๋ฐ›๋Š” ๋™์ž‘ ๋ฐฉ์‹

๊ฐ„๋‹จํ•œ Hello world ์ˆ˜์ค€์ด์ง€๋งŒ ์„ค๋ช…์„ ํ•˜์ž๋ฉด, ์ฒ˜์Œ์— cordova-plugin-fcm์„ ํ†ตํ•ด ํ† ํฐ์„ ์–ป๋Š”๋‹ค.

ํ† ํฐ์„ ์–ป๋Š” ๋ฐฉ์‹์€ ์•„๋ž˜์™€ ์ฝ”๋“œ์™€ ๊ฐ™๋‹ค.

this.fcm.getToken().then(token => {
    console.log('token : ', token);
});

 

ํ† ํฐ์„ ์–ป๊ณ ๋‚˜๋ฉด, ์ธ์ œ POST ๋ฐฉ์‹์œผ๋กœ ์ „๋‹ฌํ•˜๋ฉด ๋œ๋‹ค.

 

 

๐Ÿ’ˆionic backgound์—์„œ ๋ฐ›๋Š”์•Œ๋ฆผ ๋ฐ›๋Š”๋ฐฉ๋ฒ•

const payload = await this.fcm.getInitialPushPayload();
const { wasTapped, param1 } = payload;

if (wasTapped) {
 alert('background mode');
 this.router.navigate([param1]);
}

๊ผญ getInitialPushPayload()์„ ํ˜ธ์ถœํ•˜์—ฌ wasTapped๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ์•ผ ํ•œ๋‹ค. onNotification๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด background์—์„œ ์ธ์ง€ํ•˜์ง€ ๋ชปํ•œ๋‹ค. ๊ทธ๋ฆฌํ•˜์—ฌ getInitialPushPayload()๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ wasTapped=true์ผ๋•Œ ํ•ด๋‹น ๋ฐ์ดํ„ฐ ๊ฐ’์„ ๋ฐ›๊ณ  ์ง„ํ–‰ํ•˜๋ฉด backgroud์—์„œ ์ง„ํ–‰ํ•  ๊ฒƒ์ด๋‹ค.

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€