자주 묻는 질문(FAQ)

일반사항 및 관리

앱 기능(위젯, 페이지, 탐색)

Cloud SQL

데이터

스크립트

보안 및 공유

스타일 지정

문제해결

일반사항 및 관리

조직에서 App Maker에 액세스할 수 있나요?

특정 G Suite 버전에서만 App Maker를 사용할 수 있습니다. 조직에서 사용 중인 버전을 모르면 G Suite 관리자에게 문의하세요. 관리자는 관리 콘솔의 페이지에서 결제로 이동한 후 구독에서 G Suite 버전을 확인할 수 있습니다.

App Maker 사용 가능 여부
G Suite Business
G Suite Enterprise
G Suite Education
G Suite Basic아니요
비영리단체용 G Suite아니요
개인 Google 계정아니요

App Maker 설정은 어디에서 관리하나요?

관리 콘솔에서 G Suite 관리자로 로그인한 후 App Maker 설정 페이지로 이동하세요.

App Maker에 액세스하려면 어떻게 해야 하나요?

https://appmaker.google.com/으로 이동하세요. Chrome, 드라이브, Gmail 또는 기타 G Suite 서비스 UI에서 앱 을 클릭하면 App Maker 아이콘이 표시되지 않습니다. 드라이브에서 소유하거나 공유된 App Maker 프로젝트를 열 수 있습니다.

사용자가 앱을 열 때 권한 팝업이 표시됩니다. 팝업을 끄려면 어떻게 해야 하나요?

G Suite 관리자에게 앱을 허용해 달라고 요청하세요. 각 앱을 개별적으로 허용해야 합니다.

App Maker에 버전 관리 기능이 있나요?

꼭 그렇지는 않습니다. 테스트 배포 및 프로덕션 배포와 같이 여러 버전의 앱을 한 번에 배포할 수 있습니다. 예를 들어 앱 개발 후부터 프로덕션 게시까지는 테스트에 게시할 수 있습니다. 또한 앱을 이전 상태(버전)로 롤백할 수도 있습니다. 그러나 App Maker에서는 브랜치를 지원하지 않으며 최신 버전 하나만 수정할 수 있습니다.

사용할 수 있는 버전 목록을 가져오려면 설정 버전을 클릭하세요. 버전에 대해 자세히 알아보세요.

앱 기능(위젯, 페이지, 탐색)

드롭다운 메뉴 또는 라디오 그룹의 기본값을 어떻게 설정하나요?

  1. 캔버스에서 위젯을 선택합니다.
  2. 속성 편집기에서 이벤트를 클릭합니다.
  3. onAttach 텍스트 박스를 클릭한 후 커스텀 작업을 클릭합니다.
  4. 'My default value'를 실제 값으로 바꿔 다음 코드를 코드 편집기에 붙여넣습니다.

    widget.value = "My default value";
        
  5. 완료를 클릭합니다.

Cloud SQL

App Maker에서 Cloud SQL이 제공되나요? Cloud SQL 무료 버전이 있나요?

Cloud SQL을 사용하려면 Google Cloud를 구독해야 합니다. App Maker와 함께 사용할 수 있는 Cloud SQL 무료 버전은 없습니다. 하지만 다른 외부 데이터 옵션을 사용할 수 있습니다.

G Suite 관리자는 App Maker 앱에서 사용할 수 있는 기본 Cloud SQL 인스턴스를 설정할 수 있습니다.

커스텀 Cloud SQL 인스턴스를 설정하기 전에 기본 Cloud SQL 인스턴스를 설정해야 하는 이유가 무엇인가요?

기본 Cloud SQL 인스턴스는 편리한 기능입니다. 기본 인스턴스를 설정하면 각각의 App Maker 개발자가 자신의 Cloud SQL 인스턴스를 설정할 필요가 없습니다. 일반적으로 개발자가 앱의 프로토타입을 제작하고 테스트하는 동안 조직에서는 기본 인스턴스를 사용하며, 앱을 프로덕션 앱으로 배포할 수 있으면 커스텀 인스턴스로 전환합니다.

기본 Cloud SQL 인스턴스에는 어떠한 크기를 사용해야 하나요?

일반적으로 가장 작은 인스턴스부터 시작한 다음 App Maker를 사용하는 사용자와 개발자가 많아지면 인스턴스 크기를 늘립니다.

데이터

App Maker를 통해 Google 스프레드시트를 관리할 수 있나요?

예. 예를 들어 스프레드시트 샘플 앱을 여세요.

사용자가 레코드를 만들 때 앱 사용자 이름이나 날짜 데이터를 자동으로 추가할 수 있나요?

예. 많은 레코드에는 사용자 및 레코드가 생성된 시기와 관련된 데이터가 포함되어 있습니다. 사용자에게 이 정보를 입력하라고 요청하는 대신 모델에서 onBeforeCreate 이벤트 발생 시 정보를 자동으로 검색하는 서버 스크립트를 추가할 수 있습니다.

다음 스크립트는 사용자 이메일을 가져와 'user' 필드에 저장합니다. 또한 날짜를 가져와 'date' 필드에 저장합니다.

record.user = Session.getActiveUser().getEmail();
    record.date = new Date();
    

스크립트

App Maker 스크립트에서는 어떤 언어를 사용하나요?

자바스크립트로 서버 및 클라이언트 스크립트를 작성할 수 있습니다. 서버 스크립트는 다른 G Suite 서비스와 앱을 통합할 수 있는 Apps Script에서 실행됩니다.

App Maker는 자바스크립트 ES6를 지원하나요?

ES6는 클라이언트 스크립트에만 지원되며 서버 스크립트에는 지원되지 않습니다. 일관성을 유지하기 위해 어디에서나 ES5를 사용하는 것이 좋습니다. 클라이언트 스크립트에서 ES6 구문을 사용하는 경우, 앱에서 작업하는 동안에는 경고 메시지가 표시되지만 앱을 게시하면 스크립트가 실행됩니다.

스크립트에 제한사항이 있나요?

Apps Script 서비스 호출은 G Suite 버전에 따라 달라지는 일일 할당량 및 실행 시간 제한에 따라 제한됩니다. 할당량이나 시간 제한을 초과하면 앱에서 오류 메시지와 함께 예외가 발생합니다. 자세한 내용은 Google 서비스 할당량을 참조하세요.

검색창에 스크립트 이름 또는 함수 이름을 입력하세요. 일치하는 스크립트 및 이벤트의 클릭 가능한 링크가 결과에 표시됩니다.

서버 스크립트 작업이 실패했을 때 오류를 보고하려면 어떻게 해야 하나요?

클라이언트 스크립트에서 google.script.run으로 서버 함수를 실행하는 경우 withSuccessHandlerwithFailureHandler를 사용하여 서버 측 응답을 처리하세요.

예를 들어 사용자가 '급여 보기' 버튼을 클릭하여 급여를 계산할 수 있는 앱을 만들 수 있습니다. 사용자와 관리자만 사용자 급여를 확인할 수 있어야 합니다. 따라서 사용자 급여를 확인할 뿐만 아니라 현재의 앱 사용자가 급여를 확인할 자격이 있는지 여부를 확인하는 서버 스크립트를 작성해야 합니다.

function calculateUserSalary(user) {
      var currentUser = Session.getActiveUser().getEmail();
      if (currentUser !== user && !isManager_(currentUser, user)) {
        throw new app.ManagedError(currentUser +
            " does not have access to salary for " + user);
      }

      // Gets the salary of the user...
      return getSalary_(user);
    }
    

앱 UI에는 서버 스크립트가 성공적으로 실행되면 급여를 반환하는 onClick 작업 버튼이 포함되어 있습니다. 서버 스크립트에서 오류가 발생하면 .withFailureHandler 함수가 실행됩니다. 이 예시에서 서버 스크립트가 오류를 반환하면 사용자가 급여를 확인할 수 없다는 경고가 표시됩니다.

google.script.run.withSuccessHandler(function(res){
      console.log("Salary is " + res);
    }).withFailureHandler(function(error) {
      alert("Error: " + error.message);
    }).calculateUserSalary(app.user.username);
    

또한 클라이언트 스크립트에서 성공 및 실패 콜백 함수를 사용하여 클라이언트 응답을 처리하고 스크립트가 이후에 실행되도록 할 수 있습니다. 예를 들어 데이터 소스에 레코드를 만드는 스크립트가 있는 경우 작업이 실행된 후에 실행되는 성공 및 실패 콜백 함수를 포함시킬 수 있습니다.

widget.datasource.createItem({
      success: function (record) {
        alert('Record with ID ' + record.id + ' was created in the database.');  // executes if record was created
      },
      failure: function (error) {
        console.info("No new record for you!"); // executes if record wasn't created
      }
    });
    

사용자 이벤트 없이 스크립트 실행을 트리거할 수 있나요?

예. Apps Script를 사용하면 서버 스크립트의 트리거를 설정할 수 있습니다. 설치 가능한 트리거에 대해 자세히 알아보세요. 샘플은 샘플: 트리거를 참조하세요.

보안 및 공유

앱을 조직 외부의 사용자와 공유할 수 있나요?

아니요. G Suite 조직의 사용자만 앱을 사용할 수 있습니다. 일부 앱의 경우 Google 설문지를 사용하여 Google 스프레드시트에서 사용자 입력을 수집한 후 스프레드시트에서 데이터를 가져와 이러한 제한을 피할 수 있습니다.

Google 그룹에 앱 사용 권한을 부여하려면 어떻게 해야 하나요?

배포 설정의 애플리케이션 액세스에 그룹의 이메일 주소를 입력하세요.

그룹 추가와 관련된 요구사항은 다음과 같습니다.

  • 그룹은 @googlegroups.com 주소가 있는 공개 Google 그룹일 수 없습니다.
  • Google 계정에 그룹의 구성원 목록을 볼 수 있는 권한이 있어야 합니다.

스타일 지정

머티리얼 디자인 아이콘(버튼 스타일 지정에 사용할 수 있는 아이콘)에 대한 자세한 정보는 어디서 확인할 수 있나요?

https://material.io/icons/를 참조하세요.

문제해결

옵션을 사용할 수 없어 Cloud SQL 데이터 모델을 앱에 추가할 수 없습니다. 어떻게 해야 하나요?

Cloud SQL 모델 옵션을 사용할 수 없으면 G Suite 관리자가 앱에서 사용할 기본 Cloud SQL 데이터베이스를 설정해야 합니다. 앱 요구사항에 따라 기본 Cloud SQL 데이터베이스 대신 커스텀 Cloud SQL 데이터베이스를 사용할 수 있습니다.

설정되어 있지만 커스텀 Cloud SQL 데이터베이스로 전환할 수 없습니다. 왜 그런가요?

커스텀 Cloud SQL 데이터베이스로 전환하려면 먼저 G Suite 관리자가 기본 Cloud SQL 데이터베이스를 설정해야 합니다.

앱을 미리 볼 때는 앱에 데이터가 있었는데 배포된 버전에는 데이터가 없습니다. 어디에 있나요?

App Maker 배포는 같은 Cloud SQL 인스턴스를 사용할 수 있지만 인스턴스에는 개별 데이터베이스가 있습니다. 미리보기 모드에서 가져온 데이터를 다른 배포에서 사용할 수 없습니다. 이 경우 아래의 옵션 중 하나를 선택하여 해결할 수 있습니다.