3 สิ่งง่ายๆ ที่ทำให้ PhoneGap Application ส่งข้อมูลไป Web service ไม่ได้

ถ้า Mobile แอพของเราต้องทำงานกับข้อมูลขนาดใหญ่ และอัพเดตอยู่เสมอ การเอาส่วนที่ทำงานกับข้อมูลไปไว้ที่ Web service เป็นทางเลือกที่ไม่เลวเลย Facebook และ Instagram หรือ Twitter ต่างก็ทำแบบนี้ คือเลือกที่จะเก็บข้อมูลบางส่วนไว้ และเอาข้อมูลขนาดใหญ่ไปอยู่ที่ server แทน

แต่ถ้า Mobile app ที่เราสร้างขึ้นจาก PhoneGap มันส่งข้อมูลไปที่ Web service ไม่ได้ ส่งไปแล้วนิ่ง มันเกิดอะไรขึ้น!? ปัญหาบางอย่างเหมือนเส้นผมบังภูเขา ลองไล่เช็ค 3 ข้อนี้ดู คุณอาจจะขึ้นบางอ้อ เกาหัวแกรกๆ ด้วยความเขินแบบผม “โถ่ ปัญหาแค่นี้เอง”

1. เผลอปิดสัญญาณการเชื่อมต่อ Internet หรือ Network!

อั่นหน่ะ คิดว่าใครมันจะลืมไปปิดส่วนนั้นเล่า! มีนะครับ บางทีเราลืมไป เปิด Airplane mode ค้างไว้ หรือว่าปิด Wifi แล้ว 3G ต่อไม่ติดก็มี! ทุกอย่างที่เข้าข่ายการปิดกั้นสัญญาณ ไม่ให้เครื่อง smartphone หรือ tablet ของเราต่อกับโลกภายนอกได้นั้น จะทำให้ code ใน PhoneGap application สิ่งสนิทไปอย่างน่ารักๆ เลยทีเดียว

ส่วนนี้ป้องกันได้โดยใช้ Connection API หรือเขียน code javascript ดัก timeout ไว้เพื่อแสดงปัญหาก็ได้เช่นกัน

2. IP เครื่อง server เปลี่ยน!

ปัญหาที่เคยป้อนหญ้าให้ผมและเพื่อนๆ มาแล้ว คือตอนพัฒนาเนี่ย เราไม่ได้ตั้งค่า IP เครื่องที่ใช้เป็น server ให้คงที่ครับ ดังนั้นพอมีปัญหากับ Network หรือ restart เครื่อง server ใหม่ จะมีโอกาสที่ IP ปลายทางที่เราอาจจะใส่ไว้ใน code ของ PhoneGap application ของเรา กลายเป็นวิ่งหายไปใน Network เพราะเครื่อง server ดันได้ IP ใหม่ไปซะนี่

3. Domain name ของ web service ไม่อยู่ใน White List

White List หรือที่ผมเรียกกันสนุกๆ กับนักเรียนในการฝึกอบรมว่า “บัญชีขาว” มีหน้าที่ควบคุมการติดต่อจากตัว applciation ไปยัง web service ต่างๆ ซึ่งเราสามารถมาแก้ไข เพื่อควบคุม domain name ของ Web service ที่แอพเราจะติดต่อไปได้ หลายๆ ครั้งขณะพัฒนาเราจะลืมส่วนนี้ไป ทำให้เรียกข้อมูลจาก web service (เช่น Google Maps API หรือ Facebook API) ไม่สามารถทำได้ มันไปติดที่ White List นั่นเองครับ

วิธีการกำหนด White List ของแอพ Android ดูได้ที่นี่ และวิธีเขียน White List ของ iOS App ดูได้ที่นี่ครับ

สนใจเรื่อง Web Design, Adobe for Web, และ PhoneGap ฝาก Email รับบทความใหม่ๆ จากผมได้ที่นี่ครับ

ดูเนื้อหารวมเรื่อง PhoneGap ได้ที่ nextflow.in.th/phonegap

 

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Menu