# 在原生应用中嵌入 Discourse？

**URL:** https://meta.discourse.org/t/embed-discourse-in-a-native-app/110475
**Category:** Development
**Created:** [2019年三月1日 22:26 UTC](https://meta.discourse.org/t/embed-discourse-in-a-native-app/110475 "2019-03-01T22:26:47Z")
**Posts on this page:** 17
**Page:** 2

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [2022年五月17日 11:13 UTC](https://meta.discourse.org/t/embed-discourse-in-a-native-app/110475/21 "2022-05-17T11:13:53Z")

</div>

iOS 没有网页推送通知，甚至 PWA（渐进式网页应用）也没有，因此才有了 One Signal 等服务。

Android 没有这个问题。

除此之外，应用商店还提供了应用的市场推广，这对某些组织和企业来说很有吸引力。

值得注意的是，Windows 应用商店现在也接受 PWA 的提交。

---

<div class="post-metadata">

### Author: ![manuel](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/manuel/32/468169_2.png) [@manuel](https://meta.discourse.org/u/manuel)
#### Post date: [2022年五月17日 14:20 UTC](https://meta.discourse.org/t/embed-discourse-in-a-native-app/110475/22 "2022-05-17T14:20:51Z")

</div>

如何在现有的原生应用中集成社区通知？并将其链接到社区的默认移动网页视图？

---

<div class="post-metadata">

### Author: ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)
#### Post date: [2022年五月17日 15:08 UTC](https://meta.discourse.org/t/embed-discourse-in-a-native-app/110475/23 "2022-05-17T15:08:32Z")

</div>

我明白你的意图，将 Discourse 论坛的 webview 集成到_现有_应用程序中是有意义的。我见过一些应用程序这样集成，如果你有经验丰富的移动应用程序开发人员，这并非不可能完成的任务。

你的挑战将围绕：

- 身份验证，一些身份提供商（例如 Google）不允许在 webview 中进行身份验证。在原生应用程序和 webview 之间同步会话也很棘手
- 推送通知：你需要将 Discourse 通知连接到某个地方的 APNS 服务器，你可以通过 webhook、自定义 Discourse 插件或第三方（OneSignal、Amazon SNS 等）来实现

正如 Sam 在上面指出的，随着时间的推移，会出现一些细节和维护问题。

---

<div class="post-metadata">

### Author: ![James\_Cribbs](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/james_cribbs/32/249821_2.png) [@James\_Cribbs](https://meta.discourse.org/u/James_Cribbs)
#### Post date: [2022年五月17日 16:05 UTC](https://meta.discourse.org/t/embed-discourse-in-a-native-app/110475/24 "2022-05-17T16:05:34Z")

</div>

非常感谢您 @pmusaraj 🙂 这非常有帮助。我同意身份验证和通知似乎是最大的挑战——但我将着手去做！我会及时向大家汇报。Discourse 整体上希望对此保持谨慎是有道理的，因为一个公司需要开发资源，而且它不是“开箱即用”的。但我认为在我的情况下，我可以完成！

---

<div class="post-metadata">

### Author: ![dfabulich](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dfabulich/32/108716_2.png) [@dfabulich](https://meta.discourse.org/u/dfabulich)
#### Post date: [2022年五月17日 16:50 UTC](https://meta.discourse.org/t/embed-discourse-in-a-native-app/110475/25 "2022-05-17T16:50:26Z")

</div>

如果你最终要处理这件事，我认为将其开源成一个库会很有帮助，这样其他开发者就可以分担维护的负担。

---

<div class="post-metadata">

### Author: ![James\_Cribbs](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/james_cribbs/32/249821_2.png) [@James\_Cribbs](https://meta.discourse.org/u/James_Cribbs)
#### Post date: [2022年五月17日 17:01 UTC](https://meta.discourse.org/t/embed-discourse-in-a-native-app/110475/26 "2022-05-17T17:01:45Z")

</div>

好主意。我一直在寻找可以为社区做出贡献的地方，这可能很完美！！

---

<div class="post-metadata">

### Author: ![renato](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/renato/32/383632_2.png) [@renato](https://meta.discourse.org/u/renato)
#### Post date: [2022年五月17日 17:53 UTC](https://meta.discourse.org/t/embed-discourse-in-a-native-app/110475/27 "2022-05-17T17:53:30Z")

</div>

您好，

只是确认一下，[GitHub - discourse/DiscourseMobile: Discourse Mobile](https://github.com/discourse/DiscourseMobile) 仓库是 Discourse Hub 应用吗？

我不确定是否有什么变化，但 [GitHub - pmusaraj/discourse-mobile-single-site-app: Single-site app wrapper for a Discourse site. Supports Push Notifications via OneSignal.](https://github.com/pmusaraj/discourse-mobile-single-site-app) 仓库是否仍然是白标单站点应用的“模板”？

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [2022年五月17日 18:10 UTC](https://meta.discourse.org/t/embed-discourse-in-a-native-app/110475/28 "2022-05-17T18:10:56Z")

</div>

你说得都对

---

<div class="post-metadata">

### Author: ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)
#### Post date: [2022年五月17日 18:24 UTC](https://meta.discourse.org/t/embed-discourse-in-a-native-app/110475/29 "2022-05-17T18:24:45Z")

</div>

正确，请注意 @James_Cribbs 希望将 Discourse 包含在现有应用中，因此 DiscourseHub 仓库和白标仓库在他这种情况下都无用。

---

<div class="post-metadata">

### Author: ![James\_Cribbs](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/james_cribbs/32/249821_2.png) [@James\_Cribbs](https://meta.discourse.org/u/James_Cribbs)
#### Post date: [2022年五月17日 22:01 UTC](https://meta.discourse.org/t/embed-discourse-in-a-native-app/110475/30 "2022-05-17T22:01:34Z")

</div>

@pmusaraj 对于推送通知（OneSignal？）的方法/技术仍然可能有用。我计划分阶段进行，首先实现身份验证，然后将通知作为第二阶段。

---

<div class="post-metadata">

### Author: ![Abdullah\_1](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/abdullah_1/32/261358_2.png) [@Abdullah\_1](https://meta.discourse.org/u/Abdullah_1)
#### Post date: [2022年六月30日 12:03 UTC](https://meta.discourse.org/t/embed-discourse-in-a-native-app/110475/31 "2022-06-30T12:03:39Z")

</div>

您好 @James_Cribbs，我正在跟进您的旅程。您能够解决它吗？

我想在我的应用程序上实现类似的功能。

---

<div class="post-metadata">

### Author: ![James\_Cribbs](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/james_cribbs/32/249821_2.png) [@James\_Cribbs](https://meta.discourse.org/u/James_Cribbs)
#### Post date: [2022年六月30日 12:05 UTC](https://meta.discourse.org/t/embed-discourse-in-a-native-app/110475/32 "2022-06-30T12:05:18Z")

</div>

由于业务原因，我暂停了该项目，这与实施无关。我的开发人员基本上已经完成了工作，但我提供了一项可以在应用外购买的订阅服务，该服务可以解锁应用内的内容——苹果不喜欢这样！所以项目暂停了，但我认为这是可行的。

---

<div class="post-metadata">

### Author: ![Abdullah\_1](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/abdullah_1/32/261358_2.png) [@Abdullah\_1](https://meta.discourse.org/u/Abdullah_1)
#### Post date: [2022年七月20日 05:15 UTC](https://meta.discourse.org/t/embed-discourse-in-a-native-app/110475/33 "2022-07-20T05:15:11Z")

</div>

哦，那真遗憾。我也想将其集成到我公司的应用程序中，我只是在想采取哪种设计方法。您能给我一些可能有帮助的提示吗？

---

<div class="post-metadata">

### Author: ![NDGA](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ndga/32/287018_2.png) [@NDGA](https://meta.discourse.org/u/NDGA)
#### Post date: [2023年一月23日 11:10 UTC](https://meta.discourse.org/t/embed-discourse-in-a-native-app/110475/34 "2023-01-23T11:10:55Z")

</div>

您好，

我也在此跟进。您是否继续进行？或者是否有成功的实施示例？

我们也想在应用内建立我们的社区，但在阅读了此主题后，我很难过地得知无法使用 Discourse 来实现。很想知道是否有人成功了。

---

<div class="post-metadata">

### Author: ![James\_Cribbs](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/james_cribbs/32/249821_2.png) [@James\_Cribbs](https://meta.discourse.org/u/James_Cribbs)
#### Post date: [2023年八月8日 00:05 UTC](https://meta.discourse.org/t/embed-discourse-in-a-native-app/110475/36 "2023-08-08T00:05:29Z")

</div>

我还没有完成，但我目前正在考虑复兴我的社区。我发现了一个名为 BetterMode 的社区，它支持嵌入到应用程序中，但我认为这与你可以用 Discourse 做的事情并没有什么不同。我也很喜欢 Discourse 的响应速度。可能很快就会复兴这个项目！

---

<div class="post-metadata">

### Author: ![nept2](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/nept2/32/320557_2.png) [@nept2](https://meta.discourse.org/u/nept2)
#### Post date: [2023年八月13日 01:47 UTC](https://meta.discourse.org/t/embed-discourse-in-a-native-app/110475/37 "2023-08-13T01:47:17Z")

</div>

您好 @James_Cribbs 及各位！我正计划构建一个健康社区平台，尽可能地实现可访问和开源，很可能使用 React.js 和 Native React。

Discourse 的社区功能非常出色，但迫使用户在原生应用和 Web 应用之间切换（或下载第二个应用），仅仅是因为身份验证问题或通知，这确实令人难以接受。

我研究了 Bettermode/Tribe，它拥有令人惊叹的功能集。我不确定是否愿意将核心价值主张外包给一个每年花费超过 7188 美元且存在单点故障的供应商，但我确实很心动。未来从 Bettermode 迁移出来可能会非常具有挑战性。

如果您进一步探索 Discourse 原生应用集成/嵌入，请随时告知我们！我可能会开始围绕 Discourse 进行开发，提供一个交互性较差、无需身份验证的 Web 视图，但 @sam 的警告让我望而却步。

您关于通过仅限 Web 的支付方式解锁 iOS 应用内容，而 Apple 不配合的评论也提供了有用的背景信息。

在我想清楚合适的解决方案时，任何进一步的想法/建议/遇到的问题都将非常有帮助。

---

<div class="post-metadata">

### Author: ![harithwick](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/harithwick/32/346693_2.png) [@harithwick](https://meta.discourse.org/u/harithwick)
#### Post date: [2024年四月3日 21:50 UTC](https://meta.discourse.org/t/embed-discourse-in-a-native-app/110475/38 "2024-04-03T21:50:46Z")

</div>

我尝试使用 Discourse 社区提交应用到 Apple 时多次被拒绝。它似乎违反了他们的设计指南。有人成功绕过这个问题了吗？

[上一頁](https://meta.discourse.org/t/embed-discourse-in-a-native-app/110475.md?page=1)
