반응형
firebase의 functions는 region 지정이 가능하다.
기본(지정 안하면)으로는 'us-central'로 되어있다.
이외의 region은 따로 지정을 해줘야 한다.
구현하는 입장
region이 기본값인 경우(us-central)
exports.roomPush = functions.https.onCall(async (data, context) => {
return 0
})
region이 서울인 경우
exports.roomPush = functions.region('asia-northeast3').https.onCall(async (data, context) => {
return 0
})
호출하는 입장
앱이 로컬 에뮬레이터를 바라보는 경우 리전 지정이 불가하다.
왜냐하면 배포가 되기 전까지는 지역을 사용할 수 없기때문이다.
답변 원본은 아래 링크 참조
따라서 개발시에 클라이언트에서 region을 빼고 호출하고
배포시에는 region을 추가해서 배포해야한다.
로컬 에뮬레이터에 접속하는 경우
void _sendPush(roomName) {
try {
final roomPush = FirebaseFunctions.instance.httpsCallable('roomPush');
// final roomPush = FirebaseFunctions.instanceFor(region: 'asia-northeast3')
// .httpsCallable('roomPush');
}
배포 시의 코드
void _sendPush(roomName) {
try {
// final roomPush = FirebaseFunctions.instance.httpsCallable('roomPush');
final roomPush = FirebaseFunctions.instanceFor(region: 'asia-northeast3')
.httpsCallable('roomPush');
}
반응형
댓글