중국에는 위챗(WeChat)이라는 인스턴트 메신저 도구가 있습니다. 이 도구에는 (미니 프로그램)이라는 기능이 있는데, 실제로는 내장 브라우저입니다. Discourse를 미니 프로그램에 추가할 수 있다면, 이는 Discourse가 중국으로 확장할 수 있는 큰 기회가 될 것입니다. 저는 이를 시도하고 있지만, 중국의 콘텐츠 심사로 인해 위챗 관계자가 그들의 콘텐츠 심사에 접근할 것을 요구하고 있으며, 이는 제 능력 범위를 벗어납니다. 도움을 주실 수 있기를 바랍니다. 위챗 미니 프로그램 공식 고객센터에서 제공한 관련 스크린샷과 요구사항은 다음과 같습니다:
안녕하세요, 고객님의 미니 프로그램은 UGC 기반의 사용자 정의 콘텐츠 게시 기능을 포함하고 있으나, 서비스 경험 과정에 특정 제한이 있습니다. 현재 링크로는 미니 프로그램 기능을 정상적으로 체험할 수 없으며, 미니 프로그램에 콘텐츠 보안 식별 기능이 있는지 확인할 수 없습니다. 고객님의 미니 프로그램이 악용되는 것을 방지하기 위해, 위챗 공개 플랫폼의 콘텐츠 보안 API(imgSecCheck, msgSecCheck, mediaCheckAsync) 기능에 참조 문서에 따라 접근하시기를 권장합니다. 접근 후에는 문서의 [사용 사례] 지침에 따라 인터페이스 반환값의 화면 녹화를 저장해 주세요. 인터페이스 호출 성공 화면 녹화와 미니 프로그램 서비스 스크린샷을 업로드한 후 코드를 제출해 주시기 바랍니다.
정확한 요구사항이 명확하지 않고, 저는 Discourse에 대해 잘 알지 못하지만, 현재 상황으로 보아 WeChat API를 기반으로 게시물을 검열하기 위해 Discourse의 로직을 재구성해야 할 것 같습니다. 필요한 WeChat openid, token 등을 확보하여 API 호출을 수행할 수 있다면(문서에 나와 있듯이, API는 일반 HTTP로도 호출 가능합니다), 플러그인을 통해 이를 구현할 수 있을 것입니다.
질문자(OP)는 아니지만, 바로 이점이 떠오르는 것 같습니다. 예를 들어 미니 프로그램에 10가지 기능이 있고 그중 하나가 Discourse를 사용한다면, 사용자는 그 기능 하나만 위해 브라우저로 이동해야 하며 이는 사용자에게 방해가 될 수 있습니다(특히 나중에 다시 미니 프로그램으로 돌아와야 하는 경우라면 더더욱).
다만 제가 질문자라면 그만한 가치가 없다고 생각할 것 같습니다. 특히 WeChat으로 로그인하는 것(사용자 openid를 얻는 유일한 방법일 것 같으니) 외에도 사용자가 이메일을 제공해야 하므로 의심스러워 보일 수 있고, 이로 인해 잠재적 사용자를 잃을 수 있기 때문입니다.
(WeChat 로그인을 사용하지 않기로 결정하는 경우 WeChat 검열을 우회해야 하는지, 만약 우회하지 않는다면 어떻게 openid를 얻을 것인지 등 다른 복잡성들도 있습니다. 근본적인 해결책은 포럼을 WeChat 로그인 전용으로 잠가두고, WeChat 사용자들이 WeChat 계정을 어떻게 얻을지 알아내도록 두는 것 같습니다 )
중국인으로서 제 관점에서 배경을 설명하자면: 안타깝게도 중국에서는 많은 사람들이 브라우저와 웹사이트가 무엇인지 잊고 있습니다. 우리는 어디에서든 위챗 미니 프로그램(그리고 Electron 앱)을 사용하죠. 브라우저를 열라고 해도 거의 모든 사람이 화웨이 브라우저, 샤오미 브라우저, 360 브라우저 등을 사용하는데, 이 브라우저들은 내부에 오래된 Chromium/WebKit를 탑재하고 있습니다. 사람들은 Chrome, Edge, Firefox를 인식하지 못합니다 이는 중국 고객층을 보유한 다국적 앱들이 자주 간과하는 문제 중 하나이기도 합니다.
이는 단순히 사용자들의 습관 때문에 발생하는 문제입니다. 중국 사용자는 이미 위챗과 같은 거대 앱 내에서 모든 것을 처리하는 데 익숙해져 있습니다(위챗은 사실상 브라우저를 대체하고 있습니다). 물론, Discourse는 브라우저에서 완전히 정상적으로 열려 사용할 수 있으며, 저 역시 그렇게 사용하고 있습니다.
개발자의 관점에서 보면, 위챗 생태계의 심사 과정이 때로는 매우 답답하게 느껴질 때가 있지만, 그 막대한 사용자 트래픽 덕분에 이를 참고 넘어갈 수밖에 없습니다. 어쩔 수 없는 상황입니다.