• 0

هل يجب رفع مشروع ال Node js على heroko حتى يعمل ال APIs على الهواتف المختلفة وليست ال Emulator الافتراضى ؟؟

السلام عليكم .. انا قمت بعمل مشروع Mern موبايل ولكنى لم ارفع المشروع على Heroko بعد .. 
انا اختبر التطبيق على Emulator وايضا هواتف حقيقية .. عندما اقوم بتشغيل ال local host على هذا الرابط مثلا 

http://localhost:3000/api/v1/products

كل شئ يعمل جديا على ال Emulator وال  Apis تعمل بشكل جيد واستطيع ان اعمل Get للداتا هذا على ال Emulator ولكن 
عندما اقوم باختبار هذا على هواتف حقيقة فانا لا استطيع ان اعمل فيتش للداتا ويظهر لى ال Spinner يدور ولا يتوقف .. ويظهر فى الترمنال Api Call Error 

قد يبدو صيغة سؤال سيئة لاننى لم ارفع اى كود .. لكنى متعمد حيث اننى لست جئت طالبا مساعدة فى الكود انا فقط اريد ان اعرف ان كان يجب ان ارفع مشروع النود على هوروكو حتى يعمل على الهواتف الحقيقة ام لا ؟؟ .. وشكرا مقدما 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 1

يجب أن تقوم برفع الكود الخاص بالـ backend (الجزء المختص بالـ API) على أي إستضافة (ليس شرط أن تكون إستضافة heroku ، لكنها الأسهل في التعامل وأيضُا مجانية)، وذلك لأن localhost لن يعمل على الهواتف الحقيقية أو الموجودة خارج شبكتك الخاصة وعندما تقوم برفع الكود على إستضافة heroku تحصل على رابط مثل my-app.herku.com وتقوم بإستعمال هذا الرابط بدلًا من localhost:3000 كالتالي:
 

http://localhost:3000/api/v1/products

# يصبح الرابط السابق كالتالي
http://my-app.heroku.com/api/v1/products

بعد رفع الكود على الإستضافة والحصول على رابط مشابهة يجب أن تقوم بتعديل الكود في التطبيق ليقوم بإستعمال الرابط الجديد بدلًا من localhost

1 شخص أعجب بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0

بشكل عام يمكن الاتصال من هاتف أندرويد على سيرفر محلي عن طريق الواي فاي، سوف يتصل الهاتف على IP الحاسوب في شبكة الانترنت المحلية التي يقوم ببثها Router المنزلي مثلا. (يمكنك معرفة IP حاسوبك من خلال خصائص شبكة WIFI التي أنت متصل عليها)

سيكون الرابط على الشكل: رقم 8 مختلف حسب شبكتك.

http://192.168.1.8/api/v1/products

بالنسبة للاتصال عن طريق USB:

تشغيل USB debugging في هاتفك.

ادخل في متصفح كروم على :

chrome://inspect

chrome-inspect.png.1649973b24aa5fe6f8e0b7201aa07be0.png

اضغط على Port forwarding وقم بتفعيله.

يمكنك الآن الدخول للمتصفح في هاتفك للرابط :

localhost:3000

وسيعمل التطبيق. نعم localhost.

في حال ظهور أخطاء يجب إرفاقها مع السؤال لنعرف حل المشكلة لأن هذا السؤال غير واضح.

للبحث في الانترنت عن طرق مختلفة ابحث عن:

test / run node application on real device

 

2 اشخاص أعجبوا بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 0

يمكنك أستخدم بعض البرامج مثل ngrok ويقوم بتشغيل جهازك المحلي كسيرفر

  1. قم بتنزيل البرنامج النسخه المناسبه لنظم التشيغل ويندوز و لينكس وماك
  2. فك الضغط عن البرنامج ثم الذهاب إلي مكان البرنامج وفتح command line, or teminal
  3. قم بتشغيل مشروعك علي بورت 3000 ثم قوم بتشغيل ngrok on port 300
// يظهر الأوامر التي يمكن أستخدمها في ngrok
./ngrok help
// لتشغيل ngrok on port 300
./ngrok http 3000

بعد تنفيذ الامر أستخدم اللينك الذي يقوم البرنامج بإنشاءه بدل من http://localhost:3000 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن