تضمين Discourse في تطبيق أصلي؟

لدينا تطبيقات أصلية لمنصتي iOS وAndroid. أحد أهدافنا هو جذب المستخدمين للعودة إلى تطبيقاتنا بشكل متكرر وقضاء وقت طويل فيها. (يبدو أن متاجر التطبيقات تعطي أولوية للتطبيقات التي تحظى بكثرة الاستخدام.)

لدينا منتدى Discourse قوي إلى حد ما، لكننا حالياً نكتفي بربط المستخدمين بموقع المنتدى من داخل التطبيق. وعلى سبيل المثال، يجب على مستخدمو iOS الذين يرغبون في استقبال إشعارات المنتدى عبر الدفع (Push Notifications) تحميل تطبيق Discourse بشكل منفصل. (أما مستخدمو Android فيمكنهم استقبال إشعارات الدفع مباشرة من الموقع، وهو أمر رائع، لكن في هذه الحالة، يظلون يستخدمون الموقع ولا يتفاعلون مع تطبيقنا.)

نرغب في دمج منتدى Discourse ضمن تطبيقاتنا الحالية لمنصتي iOS وAndroid، وخاصة تمكين المستخدمين من استقبال إشعارات المنتدى عبر الدفع داخل تطبيقاتنا، دون إجبارهم على تحميل تطبيق منفصل أو مغادرة تطبيقنا لاستخدام المنتدى. (أتخيل أن التنفيذ سيكون عبر عرض ويب (WebView)، تماماً مثل تطبيق Discourse على iOS.)

هل توجد طريقة للقيام بذلك اليوم؟ (أظن أن الإجابة لا؟)

3 إعجابات

It is possible, but note:

  1. You will have cookie / login problems at the moment, particularly on iOS, due to the way embedded Safari is currently working in iOS 12 and beyond.

  2. You could certainly consume the Discourse API in the native apps to grab Discourse notifications.

A full in-app webview will be more complicated than simply linking out, and implies more developer support for the native apps.

@sam may have other thoughts.

3 إعجابات

On Android the story is quite simple, spinning up a Chrome Custom Tab is super easy and it shares authentication with Chrome. Only big downside and reason our Android team members avoid using the Android app (and that we are considering killing the Android app) is cause opening a Chrome Tab is slow compared to PWA, so people prefer the PWA.

Being Android though you could possibly automate creating the PWA link and all that Jazz from your app which may be interesting.

On iOS the story is more complex due to Apple bugs.

We have the user API key system @pmusaraj will be working on improving per: Delegated authentication for Discourse Mobile app (which also includes adding documentation)

My recommendation here for you @dfabulich is to hold tight for a month or 2 while we redo our protocol and improve documentation.

8 إعجابات

How would push notifications work in this story? Would I have to poll? (I’d rather do proper remote pushes.)

I read somewhere that Chrome 72 now support Trusted web activities , which means you can now distribute PWAs in the Google play store. If it works well I think you will have more reason to kill the Android app.

It’s a bit involved, since you need the validation key, paying the Google fee, etc. But it does work.

إعجاب واحد (1)

Let me give one good reason not to: some people do not have a Google account and won’t have one. If the app would be distributed over F-Droid, it would be fine, but forcing people into Google is not a friendly move.

إعجابَين (2)

As long as you ensure that it works with Firefox as well is can also solve

Discourse as an open source application should always prefer open source solutions

Checking back in on this! What’s the story here?

Delegated auth is in, and our new login flow is pretty rock solid on the app. The protocols are all open.

إعجابَين (2)

Can you give me a pointer to documentation on this?

إعجاب واحد (1)

This is our current spec:

It could certainly use an improvement or 2 so edits on it totally welcome.

Canonical implementation is open source and available at: GitHub - discourse/DiscourseMobile: Discourse Mobile

3 إعجابات

فضولي جداً لمعرفة أين انتهى هذا. هل تمكن أي شخص من تضمين Discourse في تطبيقه للجوال عبر webview والاستفادة من الإشعارات؟

يحدث هذا من وقت لآخر، نحتفظ بمجموعة من التطبيقات ذات العلامات البيضاء للعملاء.

لسوء الحظ، فإن تكلفة اتباع هذا المسار هائلة. أود أن أقول… ضع في اعتبارك اتباع هذا المسار إذا كان لديك ميزانية تبلغ حوالي 20 ألف دولار أمريكي سنويًا للبناء/الصيانة/التصحيح.

إعجابَين (2)

لقد كنت أعمل على مشروع كهذا، لكن نعم المستودع العام قديم. إذا كنت ترغب في مساعدتي، يمكنك توظيفي.

@sam شكراً على كلمات التحذير هنا، حيث أنني على وشك الشروع في هذا المشروع.

لقد شجعتني رؤية أن مركز المناقشة يبدو أنه يقوم بذلك بالفعل - لماذا تتوقع مثل هذه التكلفة العالية؟ كنت أتخيل أنك تحتاج فقط إلى تشغيل العرض على الويب والمصادقة، ثم تكون الإشعارات شيئًا لطيفًا. ستكون هذه ميزة رائعة لإضافتها إلى تطبيقي الحالي، فقد قام فريقي بعمل عروض على الويب سابقًا.

هل هناك شيء لا أتوقعه وسيسبب الكثير من العمل / التحديثات؟

تاريخيًا، رأيت مقدار الجهد الذي بُذل في عرض الويب التافه لـ discourse hub.

على السطح، يبدو الأمر “سهلاً” ولكن بعد ذلك تحتاج إلى القلق بشأن 1000 تفصيل صغير.

  • تصغير اللوحة في الأسفل
  • المنحنى على جهاز iPhone
  • مؤشرات التحميل
  • تحديثات مستمرة لعرض الويب
  • فحوصات أمان Apple وعملية الموافقة على التطبيق
  • تصحيح الأخطاء المعقد … ماذا لو حدث شيء في عرض الويب وليس في الموقع

هذه ليست قائمة شاملة حتى، أنا متأكد من أن @pmusaraj و @kris.kotlarek يمكنهما استخراج 20 عنصرًا آخر.

التطبيقات صعبة للغاية في إتقانها ومكلفة للغاية. في هذه الأيام، يكون الدافع الوحيد القوي لبناء واحد هو لنظام iOS، وهو ليس رحلة سهلة.

5 إعجابات

لقد طرحت هذا السؤال في الأصل لأنني أردت الاحتفاظ بالمستخدمين في تطبيقي، لأنني أعتقد أن Apple و Google سيرسلان لي حركة مرور مجانية.

هل هذه المهمة أسهل (أو أصعب؟) في “Chrome Custom Tab” لنظام Android؟

هل من المعقول أن تقدموا مكتبة لنظام iOS تغلف WKWebView وتحل هذه المشكلة لنا؟ (يبدو أنكم قد تعاملتم بالفعل مع أكثر من 90٪ من العمل من خلال تنفيذ Discourse Hub.)

إعجاب واحد (1)

أود أن أقول إن أندرويد صعب “بشكل مختلف”. خاصة وأن نظام التشغيل نفسه لا يوفر البدائيات. من الصعب جدًا تبرير الجهد هناك عندما يكون تطبيق الويب التقدمي (PWA) جيدًا جدًا على أندرويد.

نحن نستخدم React Native ومكونات لتغليف WKWebView. تظل التعقيدات للأسف. يمكن أن تكون تحديثات React Native مؤلمة جدًا للعمل من خلالها تاريخيًا.

إعجابَين (2)

@sam مبرري للشروع في هذا يتعلق حقًا بإشعارات الدفع، وأيضًا لأن لدي تطبيقًا موجودًا يتيح لأعضائي بسهولة القيام بأشياء متعددة في نفس المكان (الدراسة لامتحانهم، والدردشة في المجتمع، والتسوق، وما إلى ذلك).

ولكن، يبدو أنه يمكنني جعلهم يضيفون تطبيق المجتمع كتطبيق ويب تقدمي (PWA)، ويمكنهم الحصول على إشعارات الدفع والتحديثات؟ هل سيدعم تطبيق الويب التقدمي إشعارات الدفع؟ تحديث: وجدت الإجابة هنا، يبدو أنه لا يدعم إشعارات الدفع.

أنا أبحث في خيار تطبيق الويب التقدمي (PWA) بشكل أكبر - ربما يمكنني حتى إضافة رابط “الانضمام إلى مناقشة المجتمع” في تطبيقي الأصلي الحالي، وسيكون هذا هو الرابط الصحيح لتنزيل تطبيق الويب التقدمي (PWA)؟

شكرًا!
جيمس