리액트 프로젝트를 하기 위해 프로젝트를 만들고 Firebase를 다운받았는데

firebaseConfig 설정을 하다보니 다음과 같은 에러가 발생했다.

Attempted import error: 'firebase/app' does not contain a default export (imported as 'firebase')Attempted import error: 'firebase/app' does not contain a default export (imported as 'firebase')

 

내가 작성한 코드 부분 :

import firebase from 'firebase/app';
import 'firebase/firestore';

const firebaseConfig = {
	//config
};

firebase.initializeApp(firebaseConfig);

const firestore = firebase.firestore();  //firestore DB 연결

export {firestore};

리액트 강의를 들으며 작성했던 코드와 동일하게 작성한거라 오류가 날 부분이 없다고 생각했는데

해당 오류를 검색해보니 스택 오버플로우에서 불과 3일 전에 올라온 글을 찾을 수 있었다.

 

https://stackoverflow.com/questions/68946446/how-do-i-fix-a-firebase-9-0-import-error-attempted-import-error-firebase-app

 

How do I fix a Firebase 9.0 import error? "Attempted import error: 'firebase/app' does not contain a default export (imported as

I am trying to implement firebase in my React application but it seems my version of importing is outdated. Here is my code: import firebase from "firebase/app"; import "firebase/aut...

stackoverflow.com

 

최근에 파이어베이스 9버전이 나왔고 이전 버전과 사용법이 달라졌다고 한다.

그렇다면 이전 버전을 이용하기 위해서는 반드시 다운그레이드를 해야하는가? 아니라고 한다!

 

이전 버전에서 firebase/app, firebase/auth, firebase/firestore 패키지에 있던 것을

firebase/compat/app처럼 compat를 붙이면 사용 가능하다고 한다.

 

 

설치한 버전을 바꾸고 싶다면 다음과 같이 할 수 있는데

yarn upgrade firebase@8.8.1

버전을 바꾼 후에는 반드시 다시 실행하는걸 잊지 말자...

yarn start 다시 안해놓고 왜 적용이 안되지?! 하며 고민하고 있었음😅

챗봇과의 1:1 상담 기능을 구현하기 위해 Google Dialogflow를 사용하려 했는데

구글링을 아무리 해도 관련 자료가 많이 없어 어려움을 겪고 있었다.

(자료가 있더라도 영어로 되어있으며 세팅 방법에 대한 내용은 나오지 않았다.)

 

유튜브에 검색을 해보니 한국인 교수님께서 설명을 해주시는 영상을 발견...!!!

많은 도움이 되었습니다 정말 감사드립니다 교수님...☺

 

https://youtu.be/b9A4fz6RG5A

 

https://youtu.be/QJgthQAGfwA

 

'Google > Dialogflow' 카테고리의 다른 글

Google Dialogflow 챗봇 API 설명  (0) 2021.06.17

앱에 광고를 달기 위해서 구글 애드몹에 가입했다!
구글 애드몹 가입부터 프로젝트 생성하기까지의 절차를 기록하였다.

https://admob.google.com/intl/ko/home/

Google AdMob: 모바일 앱 수익 창출

인앱 광고를 사용하여 모바일 앱에서 더 많은 수익을 창출하고, 사용이 간편한 도구를 통해 유용한 분석 정보를 얻고 앱을 성장시켜 보세요.

admob.google.com


애드몹 사이트에서 가입하기 버튼을 클릭한다.

애드몹에 가입할 계정으로 로그인을 한 후에 가입을 진행하면 되는데
처음에는 학교 계정으로 가입을 시도했다가
생년월일 정보가 입력되어있지 않아서 가입이 안된다고 하는 것이다.
다른 계정들과 비교해보니 학교 계정만 개인정보에서 생년월일을 입력하는 부분이 없더라...
그래서 결국 기존에 있던 다른 계정을 이용해서 가입을 진행하기로 했다.


먼저 국가, 시간대, 결제 통화를 선택한다.


선택하면 이용약관이 나오는데 동의함에 체크하고 넘어간다.


애드몹 계정 생성 자체는 완료되었다.


전화번호를 입력하여 계정 확인을 해야하는데
+82 010-XXXX-XXXX
위의 형식으로 입력해야한다.


문자 메세지로 받은 코드를 입력해서 계정 확인을 완료한다.


가입 후 애드몹 메인 화면에 있는 시작하기 버튼을 클릭한다.


플랫폼과 현재 앱 등록 여부를 선택하고
(사진 생략) 앱 정보를 입력한다.


애드몹에 앱이 추가되었다.


마지막으로 애드몹 사이트 왼쪽에 있는 메뉴들 중 지급에 들어가서
광고를 게재하기 전에 필요한 정보들을 입력한다.


양식에 맞게 입력하고 제출하면 끝!
이렇게 구글 애드몹에 가입하고 프로젝트 추가를 해보았다.


가입 직후에 바로 애드몹을 이용할 수 있는 것은 아니고
구글측에서 계정 인증을 해준 다음 이용 가능하다.
계정 인증은 24시간 내에 보통 완료된다고 나와있는데
나는 신청한지 약 6시간 뒤에 인증되었다고 메일이 왔다!

https://cloud.google.com/dialogflow/es/docs/basics ← 공식 문서를 참고하여 정리함

  • DialogFlow를 통해 사용자가 사용하는 자연어를 해석, 처리할 수 있다.

 

에이전트

  • 사용자와의 대화를 처리하는 가상 에이전트
  • 자연어 이해 모듈
  • 사용자의 텍스트/오디오 → 구조화된 데이터로 변환

 

인텐트

  • 한 번의 대화 차례를 위한 사용자의 의도 분류
  • 각 에이전트에 대해 다수의 인텐트 정의
  • Dialogflow는 최종 사용자 표현을 에이전트에서 가장 유사한 인텐트와 일치시킴 (인텐트 분류)

ex. '예보는 어때?' → 예보 인텐트와 일치시키기

  • 인텐트에 포함되는 사항
    1. 학습 문구 : 사용자가 말할 가능성 있는 예시 문구
    2. 작업 : 각 인텐트의 작업 정의 (인텐트 일치 시 Dialogflow가 시스템에 작업 제공)
    3. 매개변수 : 인텐트 일치 시 최종 사용자 표현에서 추출된 값 제공
    4. 응답 : 사용자에게 반환할 텍스트, 음성, 시각적 응답 등
  • 인텐트 일치 및 최종 사용자 응답에 대한 기본 흐름 :

항목

  • 각 인텐트 매개변수에 있는 '개체 유형' → 최종 사용자 표현에서 데이터를 추출하는 방법을 정확하게 지정함
  • 사전 정의된 시스템 항목 제공 (ex. 시간, 색상, 이메일 주소 등)
  • 커스텀 데이터와 일치시킬 커스텀 항목을 직접 만들 수도 있다.

 

컨텍스트

  • 최종 사용자 표현을 인텐트에 정확하게 일치시키기 위해 제공되어야 함
  • 입력 및 출력 컨텍스트를 설정 → 인텐트의 컨텍스트 구성
  • 인텐트 일치 → 출력 컨텍스트 활성화

ex. 금융 에이전트에 컨텍스트를 사용하는 예시

  1. 사용자가 예금 계좌에 대한 정보 요청
  2. Dialogflow가 최종 사용자 표현을 CheckingInfo 인텐트와 일치시킴 → 해당 인텐트에 checking 출력 컨텍스트가 있으므로 활성화됨
  3. 에이전트가 사용자에게 예금 계좌에 대해 필요한 정보 유형 요청
  4. 사용자가 '잔액'이라고 응답
  5. Dialogfow가 최종 사용자 표현을 CheckingBalance 인텐트와 일치시킴 → 해당 인텐트에 checking 입력 컨텍스트가 있음. 이 컨텍스트가 활성화된 상태여야 이 인텐트와 일치시킬 수 있다.
  6. 시스템이 필요한 쿼리를 수행 → 에이전트가 예금 잔액 응답

 

통합을 위한 fulfillment

  • 기본적으로 정적 응답에 일치하는 인텐트에 응답함
  • 통합 옵션 사용 → 보다 동적인 응답 제공 가능
  • fulfillment가 사용 설정된 인텐트와 일치하는 경우 → Dialogflow가 일치된 인텐트에 대한 정보와 함께 웹훅 서비스에 요청을 보냄
  • fulfillment 처리 흐름을 나타낸 다이어그램 :

  1. 사용자가 표현을 입력하거나 말함
  2. Dialogflow가 최종 사용자 표현을 인텐트와 일치시키고 매개변수 추출
  3. Dialogflow가 웹훅 서비스에 웹훅 요청 메세지 전달 (일치하는 인텐트, 작업, 매개변수, 인텐트에 정의된 응답에 대한 정보 등 포함)
  4. 서비스가 필요에 따라 DB 쿼리 또는 외부 API 호출 등의 작업 수행
  5. 서비스에서 Dialogflow에 웹훅 요청 보냄 (사용자에게 전송되어야 하는 응답 포함)
  6. Dialogflow가 이 응답을 사용자에게 전달
  7. 사용자가 응답을 보거나 듣는다.

 

API와의 사용자 상호작용

  • 통합 옵션 중 하나를 사용하지 않는다면 사용자와 직접 상호작용하는 코드를 작성해야한다.
  • API와 상호작용하는 경우 처리 흐름을 나타낸 다이어그램 :

  1. 사용자가 표현을 입력하거나 말함
  2. 서비스가 최종 사용자 표현을 Dialogflow에 인텐트 탐지 요청 메세지로 전달
  3. Dialogflow가 서비스에 인텐트 감지 응답 메세지를 보냄 (일치하는 인텐트, 작업, 매개변수, 인텐트에 정의된 응답에 대한 정보 포함)
  4. 서비스가 필요에 따라 DB 쿼리 또는 외부 API 호출 등 작업 수행
  5. 서비스가 사용자에게 응답 보냄
  6. 사용자가 응답을 보거나 듣는다.

'Google > Dialogflow' 카테고리의 다른 글

Google Dialogflow 세팅하기  (0) 2021.07.14

+ Recent posts