Drupal 사이트는 네 가지 방법으로 모바일 앱이 될 수 있습니다. 프로그레시브 웹 앱으로 설치 가능하게 만들고, 웹사이트-앱 변환기를 사용하여 기본 셸 내부에 라이브 사이트를 로드하고, JSON:API에서 별도의 분리된 앱을 구축하고, 관리 서비스나 대행사를 고용하여 그 중 하나를 수행합니다. 대부분의 Drupal 팀이 결정하는 질문은 조직이 이미 관리하고 있는 프런트 엔드 옆에 두 번째 프런트 엔드를 실행할 여유가 있는지 여부입니다.
이 가이드에서는 SiteTo.App이 잘못된 선택인 경우를 포함하여 네 가지 경로를 비교한 다음 Single Sign-On, 개인 파일 및 언어에 대한 전화 테스트 계획을 제공합니다. 짧은 버전은 다음을 참조하세요. Drupal에서 앱 페이지로.
Drupal 사이트에 앱이 전혀 필요합니까?
Drupal은 대학 및 협의회 웹사이트, 협회 및 회원 포털, 비영리 리소스 라이브러리, 인트라넷, 뉴스 사이트 및 Drupal Commerce 매장을 운영합니다. 이들의 공통점은 특정 작업을 수행하기 위해 종종 로그인하여 돌아오는 청중입니다.
제품을 비교하기 전에 세 가지 질문을 해보세요.
- 누군가는 매주 앱에서 무엇을 하게 될까요? 시간표를 확인하고, 회원 뉴스를 읽고, 시설을 예약하고, 문제를 보고하고, 무언가를 갱신하고, 재주문하세요. 작업 이름을 지정할 수 없다면 반응이 좋은 좋은 테마이면 충분합니다.
- 해당 작업이 이미 휴대전화에서 작동하나요? 회원이 대시보드에 도달하기 위해 메가 메뉴를 7번 탭해야 하는 경우 사이트에서 구축된 앱이 해당 여정의 대부분을 상속받습니다. 먼저 테마에서 수정하세요.
- 스토어 등록정보 자체가 가치가 있나요? 거주자와 학생은 App Store와 Google Play에서 이름으로 검색하며, 북마크보다 홈 화면 아이콘으로 돌아가기가 더 쉽습니다.
반복 작업이 없는 정보 전용 사이트는 적합하지 않습니다. Apple은 웹 사이트 이상의 추가 기능을 제공하지 않는 앱을 거부할 수 있습니다. 지침 4.2.
Drupal 모바일 앱을 얻는 네 가지 방법은 무엇입니까?
| 노선 | 사용자가 얻는 것 | 팀이 유지 관리하는 것 | 일반적인 비용 형태 | 스토어 등록정보 |
|---|---|---|---|---|
| 프로그레시브 웹 앱 | 브라우저에서 홈 화면으로 설치할 수 있는 사이트 | Drupal 사이트와 매니페스트 및 서비스 워커 | 개발자 시간 | 기본적으로 없음 |
| 웹사이트-앱 변환기(SiteTo.App) | 기본 셸에서 라이브 Drupal 사이트를 로드하는 귀하의 이름으로 된 앱 | 드루팔 사이트 | 플랫폼당 1회: Android $29, iOS $79, 둘 다 $99 | 귀하의 계정에서 |
| JSON:API에서 분리된 앱 | iOS 및 Android용으로 설계 및 코딩된 화면 | Drupal 사이트, API 계약 및 앱 코드베이스 | 프로젝트 예산과 지속적인 유지 관리 | 귀하 또는 귀하의 대행사 |
| 관리형 앱 서비스 또는 대행사 | 공급자에 따라 다름: WebView 앱 또는 팀이 연결된 맞춤형 빌드 | Drupal 사이트와 공급업체 관계 | 월별 또는 연간 수수료 또는 프로젝트 수수료 | 제공업체에 따라 다름 |
자체 스토어 목록이 있는 모든 경로에는 개발자 계정도 필요합니다. Apple 개발자 프로그램은 연간 99달러이고 Google Play는 1회 25달러이며 Apple과 Google에 직접 지불됩니다.
경로 1: 프로그레시브 웹 앱
PWA는 사람들이 브라우저에서 설치할 수 있도록 웹 앱 매니페스트와 서비스 워커를 사이트에 추가합니다. 기여한 프로그레시브 웹 앱 모듈 Drupal의 기본 사항을 처리합니다. iOS 16.4부터 아이폰 홈 화면에 추가된 웹 앱도 웹 푸시 수신.
스토어 리뷰도 없고, 스토어 목록도 없습니다. iPhone에서 사용자는 공유를 사용한 다음 홈 화면에 추가를 사용해야 합니다. 직원 인트라넷이면 충분합니다. 우리의 비교 PWA, 기본 및 WebView 더 깊어집니다.
경로 2: 웹사이트에서 앱으로 변환기
SiteTo.App을 사용하면 앱이 라이브 웹사이트 주변의 기본 셸입니다. 아이콘과 시작 화면, 로고가 포함된 기본 헤더, 사이드 메뉴, 하단 탭, 뒤로 밀기, 새로 고침으로 당겨서 선택 사항, 자체 Firebase 프로젝트를 통한 푸시 알림(선택 사항) 등이 있습니다. 내부 페이지는 Safari 또는 Chrome과 동일한 브라우저 엔진인 WebView에 로드된 Drupal 페이지입니다.
Drupal은 여전히 모든 페이지를 렌더링하고 모든 액세스 결정을 내리며, 9시에 게시된 노드는 새 빌드 없이 9시에 앱에 있습니다. 동일한 디자인에서 한계가 따릅니다. 앱은 모바일 테마만큼만 좋습니다. 우리의 가이드 웹사이트를 모바일 앱으로 전환 일반적인 과정을 다룹니다.
모바일 개발자로 구성된 Drupal 팀은 빌드 파이프라인을 소유하고 인증서에 서명하며 연간 SDK 업데이트를 하는 대가로 Capacitor와 같은 프레임워크를 사용하여 이러한 종류의 셸을 사내에서 구축할 수 있습니다.
경로 3: JSON:API에서 분리된 앱
JSON:API는 Drupal 코어의 일부입니다., 분리된 Drupal 가이드 더 넓은 접근 방식을 다루고 다음과 같은 기여 모듈을 다루고 있습니다. 단순 OAuth 인증된 요청을 처리합니다. 개발자는 Drupal을 콘텐츠 백엔드로 사용하여 Swift 및 Kotlin, React Native 또는 Flutter로 앱을 작성합니다.
분리된 앱은 오프라인 사용을 위한 콘텐츠 저장, 블루투스 또는 백그라운드 위치 사용, 휴대폰용으로 설계된 화면 표시 등 웹사이트에서 할 수 없는 작업을 수행할 수 있습니다. 가격은 두 번째 프런트 엔드입니다. 각 콘텐츠 유형에는 화면이 필요하며 API를 통해 역할과 액세스 규칙을 준수해야 합니다. 웹 양식, 번역, 검색 및 상거래 결제는 각각 사이트를 구축하고 유지해야 하는 작업입니다.
경로 4: 관리형 서비스 또는 대행사
관리형 서비스는 귀하를 위해 앱을 구축 및 제출하고 그 뒤에 있는 팀에게 반복적인 수수료를 청구합니다. 일부는 변환기와 동일한 WebView 접근 방식을 사용하며 우리는 MobiLoud와의 비교 그 수수료로 무엇을 구매하는지 보여줍니다. Drupal 에이전시에서는 Route 3를 프로젝트로 제공할 수도 있습니다. 누구도 매장 제출을 소유할 수 없거나 조달에 계약된 공급업체가 필요한 조직에 적합합니다.
어느 Drupal 사이트에 적합한 경로는 무엇입니까?
| 당신의 상황 | 먼저 살펴보는 경로 |
|---|---|
| 직원 인트라넷, 설치 방법을 사람들에게 보여줄 수 있음 | PWA |
| 이미 휴대폰에서 잘 작동하는 회원, 학생 또는 상주 포털이며, 개발 프로젝트 없이 스토어 목록을 원합니다. | 웹사이트에서 앱으로 변환기 |
| 오프라인 콘텐츠, Bluetooth, AR 또는 백그라운드 처리 | 분리된 앱 |
| 사내 어느 누구도 스토어 제출 및 검토 답변을 처리할 수 없습니다. | 관리형 서비스 또는 대행사 |
| 모바일 테마가 느리거나 어색합니다. | 먼저 테마를 수정한 후 결정하세요. |
Drupal 사이트에서 SiteTo.App이 잘못된 선택인 경우는 언제입니까?
- SSO 공급자가 내장된 브라우저를 차단하므로 다른 로그인 방법이 없습니다. 앱이 로그인 화면을 지나갈 수 없습니다. 아래의 테스트 계획은 이를 빠르게 찾아냅니다.
- 오프라인 콘텐츠가 필요합니다. 페이지를 로드하려면 앱에 연결이 필요합니다.
- 노드가 게시되거나 역할 또는 언어별로 대상이 지정될 때 푸시가 자동으로 전송되기를 원합니다. 알림은 아직 세그먼트나 일정 없이 대시보드에서 선택한 모든 사람에게 직접 전송됩니다.
- 웹사이트에 존재하지 않는 화면을 원합니다. SiteTo.App은 페이지 주변에 기본 탐색 기능을 추가하고 디자인은 그대로 유지합니다.
- 앱을 제출하고 리뷰어에게 답변하려면 공급업체가 필요합니다. 자신의 Apple 및 Google 계정에서 제출하고 모든 리뷰어 메시지를 직접 읽어보세요.
- 사이트는 여전히 고정 너비 테마를 사용하는 Drupal 7에 있습니다. Drupal 7은 2025년 1월에 서비스 종료되었습니다. 사이트를 더 많은 사람들에게 공개하기 전에 마이그레이션하세요.
Drupal 기능은 WebView 앱 내에서 어떻게 작동하나요?
Drupal 테마의 대부분은 휴대폰 브라우저에서와 똑같이 렌더링됩니다. 이는 예외입니다.
싱글 사인온. 많은 Drupal 사이트는 다음과 같은 모듈을 사용하여 ID 공급자를 통해 인증합니다. 오픈아이디 커넥트, SAML 인증 또는 CAS. 사용자가 사이트를 떠나 다른 곳에 로그인한 후 다시 돌아오는데, 이것이 앱 내에서 작동하는지 여부는 제공업체에 따라 다릅니다. 구글의 OAuth 정책 내장된 웹 보기에서는 로그인 화면을 허용하지 않습니다. 관리되는 장치 또는 승인된 브라우저가 필요한 엔터프라이즈 정책은 동일한 방식으로 웹 보기를 차단할 수 있습니다. 표준 Drupal 형식은 다음과 같습니다. /user/login 그런 의존성이 없습니다.
세션 길이. Drupal의 기본 세션 쿠키는 약 23일 동안 지속되지만 기본 서버 측 설정은 이틀 남짓 동안 사용되지 않은 세션을 지울 수 있으며 공공 부문 및 대학 사이트는 제한될 수 있습니다. 세션 처리 더 나아가. 짧은 세션은 공유 데스크탑에서 소리가 납니다. 개인 휴대폰에서는 사람들이 앱에서 기대하는 것보다 훨씬 더 자주 다시 로그인한다는 의미입니다. 그만큼 영구 로그인 모듈은 원하는 경우 명시적인 "기억하기" 옵션을 추가합니다.
개인 파일. Drupal에 저장된 문서 개인 파일 시스템 각 요청에 대해 액세스를 확인할 수 있도록 Drupal을 통해 제공됩니다. PDF 링크가 세션 쿠키를 보유하지 않은 다른 앱이나 브라우저로 전달되면 Drupal은 익명 방문자를 확인하고 거부합니다.
언어 및 도메인. 드루팔의 언어 모듈 URL 접두사, 도메인, 사용자 계정 또는 브라우저에서 언어를 선택할 수 있습니다. 앱은 하나의 시작 URL을 열고 해당 탭은 고정 경로를 가리킵니다. 다음이 포함된 사이트 /en 그리고 /fr 접두사에는 탭이 사용할 항목에 대한 결정과 다른 모든 사람이 볼 수 있는 언어 전환기가 필요합니다.
Forms. 솔직한 웹 양식 필드는 문제가되지 않습니다. 파일 및 사진 업로드, 초안이 저장된 다단계 양식, CAPTCHA 챌린지가 테스트 대상입니다.
오버레이 및 관리 도구 모음. 동의 배너, 뉴스레터 모달 및 고정 헤더는 앱의 기본 헤더와 탭이 있는 공간을 놓고 경쟁합니다. SiteTo.App은 앱 내부에서 실행되는 스크립트를 사용하여 사이트 자체 헤더와 팝업을 숨길 수 있으므로 테마는 그대로 유지되고 캐시된 페이지는 평소대로 제공됩니다. 앱에 로그인한 편집자에게는 Drupal의 관리 도구 모음이 계속 표시됩니다.
드루팔 커머스. 상업 자신의 페이지에 카드 필드를 사용한 결제는 간단한 경우입니다. 호스팅된 결제 페이지로 리디렉션되는 게이트웨이에는 각각 테스트 주문이 필요합니다.
Accessibility. 공공 기관과 대학은 일반적으로 법적 접근성 의무를 가지고 있습니다. 앱 내부의 페이지는 테마가 생성하는 것과 동일한 HTML이므로 이미 해당 페이지에서 수행된 작업이 이어집니다. 기본 헤더, 메뉴 및 탭은 새로운 인터페이스이므로 VoiceOver 및 TalkBack으로 테스트할 때 포함하세요.
Drupal 사이트를 앱으로 어떻게 단계별로 테스트합니까?
두세 가지 역할에 대해 실제 전화, 프로덕션 사이트 및 테스트 계정을 사용하십시오. 미리보기는 무료이며 카드가 필요하지 않으므로 비용을 지불하기 전에 전체 계획을 실행하십시오.
1단계: 모바일 테마 확인
휴대폰 브라우저에서 가장 많이 방문한 5개의 페이지를 엽니다. 화면을 덮는 메가 메뉴와 닫을 수 없는 동의 배너인 테이블과 보기에서 옆으로 스크롤하는 것을 찾아보세요. 테마에서 찾은 내용을 수정하세요.
2단계: 미리보기 만들기
공개 URL을 붙여넣으세요. SiteTo.App, 모바일 방문자가 접속해야 하는 언어 접두사 또는 도메인을 사용합니다. 앱 이름, 아이콘, 시작 화면을 설정한 다음 사람들이 반복하는 작업에 대한 탭을 선택하세요. 회원 기관은 홈, 뉴스, 이벤트 및 내 계정을 사용할 수 있습니다. 라이브 사이트의 경로 별칭에서 각 링크를 복사한 다음 코드를 스캔하여 휴대폰에서 앱을 엽니다.
HTTP 인증 또는 IP 허용 목록 뒤에 있는 스테이징 사이트를 전화기에 로드할 수 없으므로 계획에서는 프로덕션을 사용합니다.
3단계: 먼저 로그인 증명
이 테스트로 프로젝트가 결정되므로 다른 작업보다 먼저 실행해 보세요.
- 실제 사용자가 로그인하는 방식으로 로그인하세요. SSO인 경우 MFA 프롬프트를 포함하여 전체 왕복을 완료합니다.
- 귀하의 역할만 볼 수 있는 페이지를 엽니다.
- 앱을 완전히 종료했다가 다시 열어보세요. 다음날 아침에 다시 확인해보세요.
- 사이트에서 Drupal 비밀번호를 사용하는 경우 재설정을 요청하세요. 이메일의 일회성 링크는 일반적으로 휴대폰의 브라우저에서 열리므로 새 비밀번호를 확인한 후 앱에서 작동합니다.
- 로그아웃하고 제한된 페이지가 거부되었는지 확인하세요.
SSO가 실패하면 정책이 내장된 브라우저를 차단하는지, 그리고 Drupal 비밀번호 로그인을 함께 제공할 수 있는지 ID 팀에 문의하세요. 둘 다 불가능하다면 여기서 멈추고 다른 경로를 살펴보세요.
4단계: 제한된 콘텐츠 및 개인 파일 열기
로그인하여 역할이 제한된 노드와 개인 PDF를 엽니다. 파일이 표시되는지, 원래 페이지로 돌아갈 수 있는지 확인하세요. 로그아웃을 반복하고 Drupal이 두 가지를 모두 거부하는지 확인합니다.
5단계: 보기, 검색 및 양식 작업
긴 목록에 노출된 필터나 패싯을 사용하고 결과 페이지를 살펴보세요. 사이트 검색을 실행하세요. 그런 다음 업로드 필드와 CAPTCHA를 포함하여 가장 바쁜 웹 양식을 처음부터 끝까지 제출하고 확인 메시지와 알림 이메일이 도착하는지 확인하세요.
6단계: 언어를 전환하고 중복되는 부분을 찾습니다.
사이트 전환기로 언어를 변경한 다음 각 탭을 탭하고 기본 언어로 돌아가는 항목을 기록해 둡니다. 그런 다음 회원 및 편집자로 탭하여 두 번째 헤더, 탭 위의 동의 배너 또는 콘텐츠를 아래로 밀어내는 관리 도구 모음을 찾습니다.
7단계: 결정
| 영역 | 다음의 경우 합격 |
|---|---|
| 로그인 | MFA를 포함하여 실제 로그인 방법이 완료됩니다. |
| 세션 | 앱을 닫았다가 다시 열어도 여전히 로그인되어 있습니다. |
| 입장 | 제한된 페이지 및 개인 파일은 로그인된 상태에서 열리며 로그아웃된 상태에서는 거부됩니다. |
| 조회 및 검색 | 필터, 패싯 및 페이징은 엄지 손가락 하나로 작동합니다. |
| 웹 양식 | 업로드 및 CAPTCHA가 완료되고 확인 메시지가 나타납니다. |
| 언어 | 탭은 선택한 언어로 유지됩니다. 그렇지 않으면 대체가 허용됩니다. |
| 공들여 나열한 것 | 헤더 1개, 메뉴 1개, 탭을 덮는 항목 없음 |
Drupal의 페이지 문제와 SiteTo.App 설정의 탐색 문제를 수정하세요. 대체 없이 로그인에 실패하면 다른 경로를 선택해야 합니다.
각 경로의 비용은 얼마입니까?
SiteTo.App은 플랫폼당 한 번 청구됩니다. Android의 경우 29달러, iOS의 경우 79달러, 두 가지를 함께 구매하면 99달러입니다. SiteTo.App 구독이 없습니다. 예를 들어 아이콘을 변경하기 위한 나중에 재구축은 별도로 인용됩니다. Drupal에서 콘텐츠를 게시하고 편집하는 데는 다시 빌드할 필요가 없습니다. 그만큼 가격 페이지 세부정보가 있고, 비용 안내 더 넓은 시장을 비교합니다.
분리된 앱은 앱이 Drupal과 매년 iOS 및 Android 릴리스를 따라잡아야 하기 때문에 유지 관리 약속이 뒤따르는 개발 프로젝트입니다. 관리형 서비스는 앱이 실행되는 동안 반복적으로 요금을 청구합니다.
Apple의 연간 $99와 Google의 $25 등록 비용은 스토어 목록이 있는 모든 경로에 적용됩니다. 비영리 단체, 공인 교육 기관 및 정부 기관은 Apple에 수수료 면제 무료 앱만 배포하고 Apple의 다른 조건을 충족하는 경우.
Drupal 기반 앱을 App Store 및 Google Play에 어떻게 게시합니까?
그만큼 가이드 생성 및 게시 전체 순서를 살펴봅니다. Drupal 사이트에서는 대부분의 사이트보다 몇 가지 사항이 더 중요합니다.
조직의 자체 개발자 계정을 사용합니다. 기관의 법적 이름을 등록하면 목록에 대학, 의회 또는 협회가 출판사로 표시됩니다. Apple은 조직에 D-U-N-S 번호를 요청하며 확인에는 시간이 걸리므로 일찍 시작하십시오.
Builds. iOS 빌드는 서명되어 귀하의 Apple 계정에서 TestFlight에 업로드되므로 누구도 Mac이나 Xcode가 필요하지 않습니다(자세한 내용은 여기). Android은 Google Play용 AAB 또는 APK로 제공됩니다. 제출하기 전에 TestFlight 빌드에서 테스트 계획을 반복하십시오.
리뷰어에게 방법을 제공하세요. 앱의 유용한 부분이 로그인 뒤에 있는 경우 대표 역할로 데모 계정을 만들고 해당 자격 증명을 리뷰 노트에 입력하세요. SSO 및 MFA에 의존하는 계정은 첫 번째 화면에서 검토자를 중지합니다.
Drupal 업그레이드를 계획하세요. Drupal 10은 2026년 12월 9일에 수명이 종료됩니다. 코어 출시 일정. 동일한 도메인 및 경로 별칭을 유지하는 Drupal 11로 업그레이드하려면 새 앱을 빌드할 필요가 없습니다. 별칭이 변경되면 리디렉션을 추가하거나 탭 링크를 업데이트하세요.
승인 결정은 Apple과 Google이 내리며, 누구도 결과를 약속할 수 없습니다. 그만큼 출판 가이드 목록과 리뷰를 더 자세히 다루고 있습니다.
자주 묻는 질문
모듈 없이 Drupal 웹사이트를 모바일 앱으로 전환할 수 있나요?
예. SiteTo.App과 같은 웹사이트-앱 변환기는 테마가 이미 렌더링한 페이지를 로드하므로 설치할 모듈이나 노출할 API가 없습니다. 선택 사항 자바스크립트 SDK 탭 배지의 경우 공유 시트와 햅틱은 테마 라이브러리를 통해 첨부할 수 있는 스크립트입니다.
SSO가 앱 내에서 작동하나요?
이는 ID 공급자에 따라 다릅니다. Drupal의 자체 로그인 양식은 브라우저에서와 마찬가지로 작동합니다. SAML, OpenID Connect 및 CAS 로그인은 내장된 브라우저를 제한할 수 있는 공급자로 리디렉션됩니다. 결정하기 전에 무료 미리 보기에서 MFA를 포함한 전체 로그인을 실행하세요.
Drupal 10, Drupal 11 및 Drupal CMS에서 작동합니까?
예. SiteTo.App은 공개 URL에서 작동하며 Drupal 버전에 의존하지 않습니다. 따라서 분리된 프런트 엔드가 있는 사이트를 포함하여 모바일 친화적인 공개 Drupal 사이트를 미리 볼 수 있습니다.
Drupal은 콘텐츠가 게시될 때 푸시 알림을 실행할 수 있나요?
현재 SiteTo.App에는 없습니다. 제목, 텍스트, 선택적 이미지 및 링크와 함께 대시보드에서 각 알림을 보내면 선택한 모든 사람에게 전달됩니다. 자동 또는 역할 기반 알림이 필수적인 경우 분리된 빌드가 더 적합합니다.
다음 단계
로그인 테스트를 시작하세요. Drupal URL을 무료 미리보기, 휴대폰에서 열고 사용자가 하는 방식으로 로그인하세요. 성공하면 나머지 계획을 실행하세요. 그만큼 Drupal에서 앱 페이지로 승인이 필요한 사람과 공유할 수 있는 짧은 체크리스트가 있습니다.



