1.7.1 버전에서 앱 내부의 브라우저 뷰를 사용하는 대신 전체 브라우저에서 사이트를 열도록 변경된 이유는 무엇인가요?
이 커밋이 ChromeCustomTab의 사용을 제거했기 때문에 해당 변경 사항인 것 같습니다.
1.7.1 버전에서 앱 내부의 브라우저 뷰를 사용하는 대신 전체 브라우저에서 사이트를 열도록 변경된 이유는 무엇인가요?
이 커밋이 ChromeCustomTab의 사용을 제거했기 때문에 해당 변경 사항인 것 같습니다.
앱이 이제 절반의 확률로 실행 시에도 충돌이 발생합니다. 이전 버전으로 다운그레이드할 수 있나요?
앱이 실행 시 충돌한다는 소식을 전해 주셔서 죄송합니다. 해당 문제를 확인해 보겠습니다. 사용 중인 기기와 Android 버전을 알려 주실 수 있을까요?
말씀하신 대로, ChromeCustomTab 대신 기본 브라우저를 사용하도록 변경한 것은 2020년 해당 커밋에서 이루어졌으며, 이전 버전(1.6.0으로 기억합니다)에도 이미 적용되어 있어야 했습니다. ChromeCustomTab에 버그가 있었고, 작동하려면 기기에 Chrome이 설치되어 있어야 했기 때문에 이러한 변경을 했습니다. (많은 사용자가 앱의 Chrome 요구 사항에 대해 불만을 제기하고 있었습니다.)
Samsung Galaxy S9에 Android 10 보안 패치 2021년 5월 1일 버전(가용한 최신 버전)이 설치되어 있습니다. 앱이 백그라운드에서 오랫동안 실행된 후 명시적으로 종료되지 않은 상태에서 크래시가 발생하는 것 같습니다.
해당 커밋은 1.6.0 버전(https://apkpure.com/discoursehub/com.discourse/versions에 따르면 2020년 2월) 출시 이후에 이루어졌습니다. 제거된 코드는 ChromeCustomTab 사용 실패를 이미 처리하여 링크를 열었는데요, 만약 Chrome이 설치되어 있지 않다면 앱이 아예 실행되지 않았을까요?
감사합니다. 말씀하신 대로 맞습니다. ChromeCustomTab 제거는 1.6.2에서 이루어졌지만, 해당 버전은 프로덕션 환경에 배포되지 않았습니다(베타 버전에만 존재했음). 따라서 실질적으로 이 변경 사항은 1.7.0에서 새로 도입된 것입니다. Chrome 없이 동작할 수 있게 된 점 외에도, 이 변경 사항 덕분에 DiscourseHub에서 PWA를 실행할 수 있게 되었습니다. 전환을 결정한 이유에 대한 자세한 내용은 Discourse Hub doesn't open forums in their PWAs - #12 by md-misko 를 참고해 주세요.
곧 크래시 문제를 수정한 베타 버전을 배포할 예정입니다. 준비가 되면 이곳에 링크를 공유하겠습니다.
음, 그래서 해결책은 각 포럼마다 PWA를 설치하는 거라고요? 아니요, 그것도 안 됩니다. 여전히 Firefox에서 탭이 열리거든요 (PWA는 Chrome으로 만들었는데 말이죠). 솔직히 Chrome 탭 경험은 느리다고 느껴본 적이 없어요. 전체 브라우저를 여는 것에 비하면 특히 그렇습니다. 허브로 돌아가는 것도 빨랐고, 그냥 아래로 당겨서 Chrome 탭의 X 버튼을 노출하면 되거든요.
네, PWA를 사용할지 아니면 브라우저를 사용할지 선택할 수 있습니다. 프롬프트가 표시되지 않으면 기본값을 초기화할 수 있습니다. Android 설정에서 "링크 열기"를 검색하고, 해당 사이트의 URL을 찾은 다음 해당 페이지에서 "기본값 지우기"를 클릭하세요. 이 작업을 완료하면 DiscourseHub에 접속할 때 프롬프트가 표시됩니다. PWA가 설치되어 있다면 다음과 유사하게 보일 것입니다:
또한, 크래시 문제에 대해 베타 릴리스 채널의 1.7.2 버전을 시도해 보세요 - https://play.google.com/store/apps/details?id=com.discourse
구글 계정이 없어서 베타 채널에 접근할 수 없습니다. (Aurora Store를 사용 중인데, 이 기능을 지원하지 않는 것 같습니다.)
Firefox에서 기본값을 초기화한 후 프롬프트가 표시되긴 하지만, 브라우저만 표시되고 PWA는 표시되지 않습니다.
그리고 Chrome PWA도 나에게 알림을 보내지 않습니다. 아무튼, 비활성화/활성화를 해보니까 알림이 하나 보내졌습니다. Add to homescreen banner on Android - #62 by Falco 의 내용을 더 조사하고 읽어보니, 사이트 URL의 인텐트를 바인딩하는 WebAPK 부분이 제 환경에서는 작동하지 않는 것 같습니다. 애플리케이션 서랍이나 앱 설정에서 새 아이콘이 보이지 않기 때문입니다.
제 폰에서 해당 사이트를 웹APK로 추가하는 것을 테스트해 보았는데 작동은 했지만 시간이 좀 걸렸습니다. 다른 사이트로 테스트해 본 결과, 구글의 웹APK 민팅 서버가 현재 다소 느린 것 같습니다. 하지만 몇 분 정도 기다리면 저에게는 잘 작동했습니다.
앱 1.7.2 버전이 이제 구글 플레이 스토어에서 정식 출시되었습니다. (Aurora Store가 업데이트를 얼마나 빨리 반영할지는 확실하지 않습니다.)
Aurora 스토어는 플레이 스토어를 사용하지만, 휴대폰에 Google 계정이 없어도 됩니다(토큰을 가져오기 위해 익명 계정을 사용합니다).
Google 계정이 Google 서버를 통해 생성되어야 하므로, 이것이 제가 WebAPK를 사용할 수 없는 이유일 수 있습니다.
또는 Chrome이 WebAPK를 설치하기 위해 Google Play를 호출하기 때문일 수 있습니다(chromium/chrome/android/java/src/org/chromium/chrome/browser/webapps/WebApkInstaller.java at main · chromium/chromium · GitHub). 이 과정에는 Google 계정이 필요합니다.
즉, Chrome이 설치되어 있다는 사용자 불만을 해결하기 위해 ChromeCustomTab을 제거하고 WebAPK를 중심으로 하는 워크플로우로 변경했습니다. 하지만 WebAPK는 의도대로 작동하려면 Chrome(또는 Samsung 브라우저)과 Google 계정이 필요합니다. 따라서 접근성이 낮아졌습니다. 또한 제 앱의 약 절반은 Chrome 버전 대신 ‘Powered by Firefox’ 버전을 받기 때문에, 기본 브라우저의 커스텀 탭 구현을 사용하는 방법도 있습니다.
이 부분에 대해 조사해 보았는데, 다음 내용을 찾았습니다:
그리고 내 기기에서 Firefox 커스텀 탭을 올바르게 사용하는 구현 예시입니다:
따라서 이 추가 감지 기능을 포함하여 다시 추가해 주시겠어요? 그러면 Chrome 의존성을 올바르게 제거하고 앱이 다시 유용하게 사용될 수 있을 것입니다.
문제는 사용자에게 선택지를 제공하고 싶다는 점입니다. CustomTabs로 돌아가는 것(그리고 크롬 전용 문제를 수정하는 것)은 사용자에게 선택지를 주지 않으며, 항상 커스텀 탭을 강제합니다. 따라서 사이트를 브라우저나 PWA에서 열고 싶은 사용자는 불리할 수밖에 없습니다. 우리는 그 상태로 돌아갈 수 없습니다.
하지만 브라우저와 PWA와 함께 앱 내 커스텀 탭을 옵션으로 추가할 방법을 찾아보겠습니다. 다소 까다로운 문제라 100% 가능할지 확신은 없지만 시도해 볼 것입니다.
이 작업에 착수하는 데 조금 시간이 걸릴 수 있지만, 테스트 가능한 베타 버전이 준비되면 알려드리겠습니다.
주말에 시간을 내서 방금 안드로이드 앱의 업데이트된 버전(1.7.3)을 배포했습니다. 이 버전에서는 사용자가 커스텀 탭 사용으로 되돌아갈 수 있습니다. 화면 오른쪽 하단에 새로 추가된 버튼을 누르면 설정 화면이 표시되며, 여기서 전환할 수 있습니다. 업데이트가 가능해지면 어떻게 되는지 알려주세요.
구글 플레이에서 업데이트된 앱을 찾을 수 없는데, 구글의 승인 절차에 막힌 건가요?
오늘 안에 반영될 예정이니 양해 부탁드립니다. (Play Store UI는 기본적으로 단계적 배포를 적용합니다.)
기대대로 작동했습니다. 설정이 활성화된 크롬 탭이 열렸고, 전체 브라우저는 설정이 비활성화된 상태로 실행되었습니다. 이렇게 빠르게 업데이트해 주셔서 감사합니다 ![]()
이 버전에서는 크래시가 수정되었지만, 새로운 1.7.3 버전에서는 제 환경에서 다시 지속적으로 크래시가 발생하고 있습니다.
저는 베타 채널을 사용 중인데, Play 스토어에서 베타와 프로덕션 간에 버전이 동기화되나요?
[edit]: “사이트를 인앱 브라우저에서 열기” 설정을 켜면, PWA가 활성화된 사이트는 여전히 별도의 앱으로 열립니다(이것은 예상되는 동작입니다). 하지만 이 설정을 켜두면 크래시가 덜 자주 발생하며(거의 발생하지 않음), 이 설정을 해제하면 앱이 매번 크래시됩니다.