اذهب إلى المحتوى

السؤال

نشر

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

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

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

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

Recommended Posts

  • 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

  • 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

 

  • 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 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...