วันจันทร์ที่ 16 สิงหาคม พ.ศ. 2564

UDID Apple Iphone Ipad กลายเป็นเรื่องราวเมื่อนักพัฒนาแอพมือถือ iOS ต้องใช้ บนพีซี

UDID Apple Iphone Ipad กลายเป็นเรื่องราวเมื่อนักพัฒนาแอพมือถือ iOS ต้องใช้ บนพีซี แต่หากท่านใดมี macOS การทำไม่ยุ่งยากแน่นอน แต่การที่จะติดตั้งแอพพลิเคชั่นสำหรับทดสอบการทำงานของแอพมือถือไอโฟน ไอแพด จำเป็นต้องระบุหมายเลขเครื่องของอุปกรณ์ให้ทุกครั้ง เพื่อให้แอพพลิเคชั่นสามารถติดตั้งได้บนเครื่องที่ต้องการ แอปเปิลมีให้ได้สูงสุดคือ 100 เครื่อง

แต่การหาค่า UDID บนอุปกรณ์เองนั้นทำได้ยากมากๆ ตามที่เราค้นหาบนอินเทอร์เน็ตส่วนมากใช้งานไม่ได้ไม่ว่าจะเป็นเปิดเวบไซต์ https://get.udid.io ที่แนะนำกันก็ไม่สำเร็จ หรือแม้แต่บทความล่าสุดที่ผู้เขียนเคยทำสำเร็จไปแล้วเช่นติดตั้งโปรแกรม iFunbox บนเครื่อง PC ก็สามารถหาหมายเลข UDID ได้

ครั้งนี้ก็เช่นเดียวกัน พยายามค้นหาวิธีอยู่เกือบ 1 วันเต็มๆ อุปกรณ์ iPAD8 มีไอโอเอสเวอร์ชั่น 14.5 มันกลายเป็นความยุ่งยากสุดๆ แต่ไม่เป็นไรในเมื่อทำสำเร็จแล้วก็เก็บมาเล่าสู่กันฟัง ว่าต้องทำอย่างไร

ifunbox

 

ขั้นตอนที่ 1 ต้องติดตั้งโปรแกรม iTunes บน PC 

itunes

 

ขั้นตอนที่ 2 ต้องทำการ Backup ข้อมูลระหว่าง มือถือไอโฟนกับซอฟต์แวร์ iTunes

UDID IOS 14

 

ขั้นตอนที่ 3 ถือว่าเป็นเทคนิคการเข้าไปดูก็ว่าได้ ต้องเปิดคอมมานไลน์(run) %appdata% จากนั้นเข้าไปดูหมายเลข UDID ที่เป็นเลขโฟลเดอร์ c:\Users\sompong\AppData\Roaming\Apple Computer\MobileSync\Backup\00009999-0099999E00E9999E ตัวชื่อโฟลเดอร์นี่แหล่ะคือ UDID

พอทราบขั้นตอนการดำเนินการกันแล้ว หากใครมีอุปกรณ์ iPAD หรือ iPhone รุ่นใหม่ก็ลองทดสอบกันได้เลย หากมีวิธีการใดที่ดีกว่านี้ก็อัพเดทกันได้ตลอดเวลา ผู้เขียนต้องขอขอบพระคุณเวบไซต์ GPS TRACKING ผู้นำด้านระบบการให้บริการจีพีเอสติดตามรถยนต์ โคราชบ้างเอง อย่าลืมเรียกใช้งานกันครับ

วันอาทิตย์ที่ 8 สิงหาคม พ.ศ. 2564

ไทม์ไลน์ของการพัฒนาแอพไอโฟน(Apple App Store) และค่าใช้จ่ายในแต่ละขั้นตอน ยาวหน่อยแต่ชัวร์

 

APPLE STORE CONNECT

ไทม์ไลน์ของการพัฒนาแอพไอโฟน(Apple App Store) และค่าใช้จ่ายในแต่ละขั้นตอน ยาวหน่อยแต่ชัวร์

1. สร้างแอปเปิลแอคเค้าท์ไอดี(Apple ID) อันนี้สำคัญมากห้ามลืม ต้องมีมือถือ iphone  ด้วยไหมไม่แน่ใจ(ฟรีหรือตามราคาไอโฟน) สมัครไว้นานกว่า 3 ปี แอคเค้าท์นี้ได้มาแน่ๆ 

apple id

 

หากซื้อไอโฟนสักเครื่องเพราะต้องมีไม่เช่นนั้นจะติดตั้งแอพบน Apple Store ไม่ได้เลย

2. สร้างไอดีบน Macincloud ใช้เวลา 2 วัน เดือนละประมาณ 25 เหรียญหรือ 800 บาท หรือซื้อ MacBook สักตัวราคาเริ่มต้นที่ 36,000 บาท 

macincloud

 

แนะนำให้ใช้ Macincloud ย่อมเยาว์กว่า การใช้งานอาจต้องให้เวลาเช่ากันนานเพราะต้องใช้งานอัพเดทตลอดเวลา ที่ผ่านมาผู้เขียนใช้ยาวกว่า 3 เดือนแล้ว อันนี้ตัดสินใจซื้อ MacBook สักตัวก็อาจจะเป็นทางเลือกที่ดีเหมือนกัน MacBook สำคัญไหม? ตอบเลยหากไม่มีก็จบ เพราะ Apple Store ไม่ให้ใช้เครื่องมืออื่นใดที่ทำงานบน Mac ผู้เขียนใช้โปรแกรม Transporter และ Xcode ส่งข้อมูลขึ้น หากไม่ได้โปรแกรมกลุ่มนี้ ส่งขึ้น Apple Store ไม่ได้แน่นอน แต่ MacOS ก็ทำงานคล้ายๆกัน Linux นั่นแหล่ะ ชุดคำสั่งเหมือนกัน คล้ายกัน ใครใช้งานลินุกส์คล่อง MacOS ก็งานง่ายๆ แค่นั้นเอง

transporter


3. สมัครเป็นผู้พัฒนาแอปเปิล(Apple Developer) อันนี้สำคัญมาก ใช้เวลา 3 วัน

Apple Developer

 

ถ้าไม่มีถือว่าจบ Apple Developer ต้องจ่ายเพิ่มอีกปีละ 3,590 บาท ได้มาเมื่อ 23/6/2564 แอคเค้าท์นี้เป็นหัวใจของ การพัฒนาแอพพลิเคชั่นของ IOS เลยก็ว่าได้ ผู้เขียนเคยคุยกับเพื่อนที่เป็นนักพัฒนาแอปเปิลแอพพลิเคชั่นเหมือนกัน แต่ดูเหมือนเขาไม่เข้าใจว่าต้องใช้แอคเค้าท์นี้ไปทำไม ในเมื่อบริษัทฯของเขาจัดการเรื่องนี้ให้ เหมือนว่าเราขาดในส่วนนี้ไปทำให้กระบวนการความคิดเราขาดหายไป ต่อขั้นตอนการพัฒนาแอพพิเคชั่นบน IOS ไม่ติดเรียกอย่างนั้นก็ว่าได้ แอปเปิลจะต้องสร้าง Certificates ทุกครั้งที่จะแนบไปกับแอพ พอเราไม่มี Apple Developer Account ก็ไม่สามารถสร้าง Certificates, Identifiers & Profiles ได้ไปต่อไม่ได้แน่นอน ไม่มีโอกาสคอมไพล์ผ่าน จะเอาไป publish ที่ไหนก็ไม่ได้ ผู้เขียนยังติดอยู่ว่าหากต้องการเอาแอพไปแสดงบน tutuapp ต้องคอมไพล์ยังไง อันนี้ค่อยศึกษาไปก่อน


4. ต้องสมัครเป็นผู้ขายบน(App Store Connect) อีกประมาณ 1 วัน ฟรี  ได้เมื่อ 28/6/2564 

Apple Store Connect

 

ขั้นตอนนี้เข้าขั้นอดทนและใช้เวลา โปรแกรมนี้เรียกว่า "App Store Small Business Program" หรือที่เรียกกันว่าขั้นตอนการจ่ายเงินบนแอพนั่นแหล่ะ เงื่อนไขมีอยู่ 2 แบบ คือ 1 แบบฟรี 2 คือแบบคิดเงิน การสมัครแบบฟรีง่ายสบายมาก แต่แบบที่ 2 งานยากอีกครั้งเพราะบังคับให้ต้องสมัคร และต้องมีหมายเลขประจำตัวผู้เสียภาษีของอเมริกา ผู้เขียนต้องกรอกใบสมัคร  Employer Idenfication Number(EIN) แบบฟอร์ม SS-4 แฟกซ์ไปสมัคร กำหนดเวลาไม่ได้เลยว่าจะได้รับการตอบกลับเมื่อไร หากใครผ่านขั้นตอนนี้ไปได้งานอื่นๆ ก็ดูเบาไปทีเดียว

5. ขั้นตอนการพัฒนาต้องใช้ X-code ได้รีลีช(release)เพื่อส่งขึ้น TestFlight Beta ได้เมื่อ 28/6/2564 

testflight

 

และ TestFlight ให้ผ่านแอพเบต้าแรก 29/6/2564 หลังจากมีผู้ทดสอบไป 3 ท่านติดตั้งไป 4 ครั้ง ลองใช้ browserstack.com ดี สะดวกแต่แพงมาก ตกปีละ 10,500 บาท(300USD) ขั้นตอนนี้กลายเป็นความเข้าใจคลาดเคลื่อนว่าต้องส่งแอพพลิเคชั่นใหม่เข้า TestFlight จริงๆไม่บังคับ ยกเว้นว่าเราต้องการทดสอบแอพจริงๆจังๆก่อนออกผลิตภัณฑ์ เรียกว่าจ้างนักทดสอบก่อนเพื่อลดข้อผิดพลาด บางคนติดปัญหาการของอนุมัติยากมาก ก็เลยเลี่ยงไปทำแบบ TestFlight การใช้งาน TestFlight ก็ไม่ยากเพียงแค่ได้แอคเค้าท์ของแอปเปิลไอดีมาให้ก็เพิ่มเข้าไปการทดสอบแบบนี้มี 2แบบคือเป็นนักทดสอบภายในหรือว่านักทดสอบภายนอก หากเป็นนักทดสอบภายนอก Teltflightต้องได้รับการอนุมัติก่อนเช่นกัน แต่สูงสุดของ TestFlight ที่ติดตั้งได้ประมาณ 100 คนเท่านั้น

6. ส่งเพื่อขอเผยแพร่บนแอปเปิลสโตร์ เมื่อ 30/6/2564 

สถานะก็จะอัพเดทมาเรื่อยๆ เริ่มจาก "Thanks for submitting" จากนั้นก็เปลี่ยนเป็น "Waiting for Review" และเป็น "In Review" โดนปฏิเสธครั้งแรกเมลตอบกลับมาจาก Itunes Store หนักเลยแจ้งว่า "5. 2.5 Legal: Intellectual Property - Apple Products" โค๊ดก็ไม่ได้เขียนเองทั้งหมดด้วย ส่งอัพเดทกลับไปวันนั้นแหล่ะ ในที่สุดแอปเปิลสโตร์ก็ออกสถานะมาให้เป็น "Ready for Sale" แต่ยังไม่สามารถใช้งานได้ หากสถานะแอปเปิลสโตร์เรายังดำเนินการสมัครไม่ครบถ้วน

7. อีกวันต่อมาผลข้อมูลจากApp Store Connect อนุมัติ รออีก1วันเพื่อแสดงผลบนแอปสโตร์ 

ครั้งแรกที่ไปค้นข้อมูลบนเน็ตดูหากเราได้รับสถานะ "Ready fo Sale"แล้วใช้เวลาประมาณ 24 ชั่วโมงแอพของเราจะต้องไปแสดงบน Apple Store แต่ไม่ใช่ครับ ผู้เขียนได้รับสถานะ "Ready for Sale" เมื่อวันที่ 1 ก.ค. 64 ยาวนานกว่า 1 เดือน เพราะสถานะบนแอปเปิลสโตร์ยังไม่ได้รับการอนุมัติ

8.​ คิดว่าผ่านข้อ​ 7​ จะง่ายไม่ใช่​อีก​ 7​ วันต่อมามีเมล์จาก​Apple​ Developer​ ว่าขอบคุณ​ที่สมัคร​เข้าร่วม​ App​ Store​ small​ business​ program

แต่เราต้องการข้อมูล​เพิ่มเติม​ agreement, tax, Bank​ account ผู้เขียนไม่รอช้า รีบเข้าไปกรอกข้อมูลทันทีแต่ทำยังไงก็แล้วแต่ติดขัดที่หัวข้อ tax id คือตัวเลข 9 ตัวของอเมริกา ไม่ใช้เลขบัตรประจำตัวประชาชนหรือเลขประจำตัวผู้เสียภาษีของบริษัทแต่อย่างใด


9.​ ติดที่​ tax​ ไอดีของอเมริกา​ หรือ​EIN​ กว่าจะขอได้ใช้เวลาอีก​ 3​ สัปดาห์​ ล่าสุด​ 5​ ส.ค.​64​ 

Employer Identification Number

 

กรอกข้อมูล​ได้ครบ​ รอพิจารณา การขอหมายเลขประจำตัวผู้เสียภาษีของอเมริกา(EIN)ก็ไม่ใช้เรื่องง่าย และเป็นขั้นตอนที่ต้องใช้เงินและเวลา ขั้นตอนนี้หมดค่าใช้จ่ายไปประมาณ 50USD ใช้เวลารอนานประมาณ 1 เดือน ลองผิดลองถูก เข้าไปกรอกใบสมัครแบบฟอร์ม SS-4 ดาวน์โหลดได้ที่ IRS หรือ DEPARTMENT OF THE THEASURY INTERNAL REVENUE SERVICE สมัครส่งแฟกซ์ไปคิดว่า 4 วันจะได้รับก็เงียบ จนต้องหาวิธีอื่นๆ จนบัดนี้ก็ยังเงียบอยู่ ถึงบอกว่าของฟรีไม่มีในโลกจริงๆ

10.​ งานสุดท้ายก่อนอนุมัติ​ต้องเข้าไปสมัคร​ App Store Small Business Program  เมื่อวันที่​ 7​ ส.ค.64

หน่วยงานพัฒนาแอปเปิลไม่ยอมสิ้นสุดขั้นตอนง่ายๆ แม้จะทำให้ทุกอย่าง ทุกๆขั้นตอน ก็ยังบังคับให้เข้าไปกรอกข้อมูลการสมัคร App Store Small Business Program ให้ครบถ้วน ระยะเวลาขั้นตอนต่างๆ ก็จะมีเวลาประมาณ 2-3 วันเสมอมา ทำให้การรีบของผู้เขียนต้องกลายเป็นทำใจ ค่อยเป็นค่อยไป อย่ารีบร้อนเด็ดขาด ไม่เช่นนั้นก็ลาขาดจากกันแน่นอน ทำไปบ่นไป

 

11.​ แอพแรกคลอดบนแอปเปิล​สโตร์​ 8​ ส.ค.​ 64

จนในที่สุดแอพแรกของผู้เขียนก็คลอดออกได้บน Apple Store ได้ถึง 2 แอพพร้อมๆ กัน เป็นการฉลองวันที่ 8/8/2564 อย่างแท้จริง  

CMFOOD
GPS VEHICLE IOS APP



สรุปเลยว่างานเหนื่อยงานหินก็ขั้นตอนการพัฒนาแอพพลิเคชั่น IOS ของค่ายแอปเปิลนี่แหล่ะ เฉพาะจำคำศัพท์แปลกๆ ชื่อย่อ ชื่อแอพ ชื่อโปรแกรมที่จำเป็นต้องใช้งานก็มากมาย แถมวิธีการมีหลายๆ ขั้นตอนต้องติดต่อกับหน่วยงานราชการ หน่วยงานเอกชน ข้อจำกัดมากมาย แถมนโยบายการอนุมัติแอพพลิเคชั่นก็ยากมากกว่าที่ควรจะเป็น สำคัญเลยแอปเปิลไม่เคยเขียนขั้นตอนไว้ให้ว่าต้องทำอย่างไร ลุยไปทีละขั้นตอน ติดแต่ละปัญหาก็ต้องตามหาวิธีด้วยตัวเอง ยากมากจริงๆสำหรับมือใหม่ หรือใครก็ตามที่เพิ่งเริ่มต้น ต้องเตรียมความพร้อมหลายๆ เรื่องทั้งเรื่องงบประมาณ ทุกอย่างต้องใช้ แต่อย่างไรก็ตามพอแอพพลิเคชั่นเริ่มคลอดออกมาได้ก็เริ่มหายเหนื่อย ตามการคาดการณ์ของผู้เขียนหากต้องรับทำพร้อม publish บนแอพสโตร์ค่าใช้จ่ายต่อ1แอพคงต้องมีหลักห้าหมื่นบาททีเดียว ขอขอบคุณ GPS TRACKING จีพีเอสไทย มั่นใจฉับไว พร้อมให้บริการ ทั่วประเทศแล้ววันนี้ 

วันอาทิตย์ที่ 1 สิงหาคม พ.ศ. 2564

แนะนำเวบไซต์สำหรับทดสอบการติดตั้งแอพพลิเคชั่นบนมือถือ appetize.io

กลายเป็นเรื่องจำเป็นสำหรับนักพัฒนาแอพพลิเคชั่นบนมือถือ ไม่ว่าจะเป็นค่าย Android หรือ ว่า IOS ที่จะต้องมีการทดสอบว่าแอพพลิเคชั่นที่คอมไพล์ผ่านแล้วนั้นจะนำไปติดตั้งบนอุปกรณ์จริง แล้วจะสำเร็จหรือไม่ หากสำเร็จจะมีฟังก์ชั่นการทำงานเบื้องต้นตามที่ต้องการหรือไม่

Appetize.io

 

หากใครเคยทดลองทำการสร้างโปรแกรมสำหรับมือถือ หลายคนคงจะต้องปวดหัวพอสมควร โดยเฉพาะอย่างยิ่ง หากใครพัฒนาแอพมือถือโดยไม่ใช้เครื่องมือมาตรฐานเช่น Android Studio หรือ Xcode ที่เครื่องมือเหล่านี้จะมี Emulators มาให้ หากเราใช้เครื่องมืออื่นๆ ในการพัฒนา พอไม่มีการจำลองฮาร์ดแวร์มาให้ทดสอบก็จะกลายเป็นเรื่องราวใหญ่โต ไม่ว่าจะต้องเป็นการจับหน้าจอขนาดต่างๆ เพื่อส่งไปยัง Play Store หรือ App Store ด้วย

วันนี้ผู้เขียนจะได้แนะนำเวบไซต์สำหรับทดสอบการติดตั้งแอพพลิเคชั่นบนมือถือ appetize.io กัน ขั้นตอนสมัครก็ไม่ยากเพียงแค่มีอีเมล์แอดเดรส ส่วนค่าใช้จ่ายในการใช้งาน ผู้เขียนเลือกใช้แบบฟรี  สามารถใช้งานได้ถึง 30 ชั่วโมงต่อ 1 เดือน แต่มีเซสชั่นเดียวแบบแชร์กันใช้ หากมีคนใช้งานเยอะเราก็จำเป็นต้องรอเวลา

สำหรับการใช้งานนั้นทำได้ไม่ยากเพียงแค่อัพโหลดโปรแกรมที่คอมไพล์แล้วขึ้นไปยังเวบไซต์ appetize.io จากนั้นก็กด View สามารถเลือกขนาดหน้าจอหรือเวอร์ชั่นของฮาร์ดแวร์ได้ตามต้องการ ฮาร์ดแวร์นี้รองรับทั้งจากค่ายแอนดรอย และ ไอโอเอสด้วย ที่ว่าสะดวกก็คือเราไม่จำเป็นต้องลงทุนฮาร์ดแวร์จริงทั้งหมดสำหรับทดสอบการติดตั้งแอพโดยเฉพาะ

สำหรับเนื้อหาดีๆ เหล่านี้ต้องขอขอบพระคุณเวบไซต์ GPS TRACKER 3G มืออาชีพสำหรับให้บริการระบบจีพีเอสติดตามรถ บริการและดำเนินงานโดยบจก.ไทย พรอสเพอรัส ไอที เปิดทำการมายาวนานกว่า 15 ปี เชี่ยวชาญด้านระบบติดตามรถยนต์ ซอฟต์แวร์มืออาชีพ มีแอพ

วันอังคารที่ 6 กรกฎาคม พ.ศ. 2564

ตกม้าตามสั่งสินค้าจากต่างประเทศใช้งานกับซิมการ์ดที่มีอยู่ไม่ได้ แก้ยังไงไปดูกัน

คุยกันต่อเรื่องความถี่และแบรนของอุปกรณ์ 3G และ4G กัน ตามความเข้าใจของผู้เขียนแบบเร่งด่วน


 หลายครั้งที่สั่งซื้อสินค้าจากต่างประเทศ พบว่าไม่สามารถเอามาใช้งานกับซิมการ์ดที่มีอยู่ในบ้านเราได้ วันนี้ก็เลยจะมาบอกเล่าประสพการณ์เรื่องนี้กัน ผู้เขียนสั่งผิดมาแต่ละรอบเนี่ยเสียเวลาและเสียรู้ไปตลอด เพราะว่าซิมเราต้องจ่ายเงินทุกๆ เดือนเพื่อให้อุปกรณ์ยังใช้งานได้ดีอยู่ กลายเป็นภาระไปเลย


ขั้นตอนที่ 1 ดูรายละเอียด ความถี่และแบนด์กัน เริ่มที่ 3G ความถี่ที่ใช้ในบ้านเราคือ 850MHz, 900MHz, 1800MHz และ 2100MHz แบนด์ที่เรียกกันก็คือ แบนด์ 1 ตรงกับความถี่ 2100MHz แบนด์ 3 ตรงกับความถี่ 1800 MHz แบนด์ 5 ตรงกับความถี่ 850MHz และ แบนด์ 8 ตรงกับความถี่ 900 MHz ชื่อที่ใช้ก็คือ WCDMA
 

ขั้นตอนที่ 2 ความถี่ 4G หรือชื่อที่ใช้คือ LTE-FDD บ้านเราจะมีความถี่ 2100MHz, 2300MHz, 1800MHz และ 900MHz
 

ขั้นตอนที่ 3 มาดูตัวอย่างกันเช่นโมดูล SLM750 C7C ที่สั่งมาล่าสุด ผู้เขียนเอาไปใช้กับซิมมือถือ 3G คลื่น 850MHz ไม่ได้ พอเรามากางสเปคดู พบว่า 

SLM750-C7C 
LTE FDD: B1/B3/B5/B8
TD-LTE: B38/B39/B40/B41
WCDMA: B1/B8
TD-SCDMA: B34/B39
CDMA&EVDO: BC0
GSM: 900/1800


จากตัวอย่างที่ต้องมองคือ ความถี่คลื่น 3G WCDMA ได้มาคือแบนด์ B1/B8 ก็คือ 2100MHz และ 900MHz  เป็นเหตุผลที่ไม่สามารถใช้ซิมการ์ด 3G ความถี่ 850 MHz ได้

ลองมองความถี่คลื่น 4G LTE-FDD ดูอีกที ได้มาคือแบนด์ B1/B3/B5/B8 คือความถี่ 2100MHz, 1800MHz, 850MHz และ 900MHz ได้มาเยอะแต่ 850MHz ของ 3G กับ 4G ไม่เหมือนกันก็เลยจบเกมไปสำหรับซิมการ์ด 3G 850MHz

 

สนใจรายละเอียดเพิ่มเติม ตามไปดูกันกว่ากล้อง Mobile DVR รุ่นไหนใช้กับซิมการ์ดค่ายไหนได้บ้าง ตามไปดูที่เวบไซต์ตามลิงค์ข้างต้นได้เลย รู้ลึกรู้จริง "วิชาต้องซื้อก็มีที่มาอย่างนี้"

วันอาทิตย์ที่ 27 มิถุนายน พ.ศ. 2564

ค้นหา UDID บนอุปกรณ์มือถือ ไอโฟน(iphone) หรือ ไอแพด(ipad)

กลายเป็นเรื่องไม่เป็นเรื่องกันอีกครั้ง เมื่อต้องทำการค้นหาหมายเลขเครื่อง UDID บนอุปกรณ์มือถือ ไอโฟนหรือไอแพดกัน เพราะว่าต้องใช้เพื่อลงทะเบียน Devices สำหรับการพัฒนาของ Apple Developer ค้นหาหลายเอกสารพบว่า เอกสารแรกให้ติดตั้ง iTunes  หรือค้นหาจาก Device manager บนวินโดร์ หากเรื่องนี้เรามีอุปกรณ์ MacOS คงไม่มีปัญหาใด ๆ ทั้งสิ้น แต่เราเป็นเครื่อง Windows ทำให้การทำงานเรื่องนี้เป็นสิ่งยุ่งยากมาก 

เพื่อเป็นการไม่เสียเวลาไปกว่านี้ ผู้เขียนขอแนะนำวิธีง่าย ๆเลยก็แล้วกัน ให้ติดตั้งโปรแกรม iFunbox จากนั้นก็เปิดไปดูรายละเอียดอุปกรณ์ เพื่อดูค่าหมายเลข UDID ตามตัวอย่างในรูป

                รูปแสดงการอ่านค่าหมายเลข UDID บนอุปกรณ์ไอแพด 7 โดยใช้เครื่องวินโดร์

 สำหรับเนื้อหาในวันนี้คงไม่มีอะไรไปกว่าการแนะนำเครื่องมือสำหรับ Windows 10 ในการค้นหาหมายเลข UDID บนอุปกรณ์ไอโฟน หรือ ไอแพด กัน บางทีการทำงานบางครั้งเราต้องแข่งขันกันกับเวลา ปรากฏว่าติดปัญหาหนึ่งเรื่องอาจทำให้เราเสียเวลาไปหลายชั่วโมงในการค้นหา ก็เป็นเรื่องที่ต้องมีการแนะนำกัน ฝากไว้ด้วยสำหรับการพัฒนาระบบ แอปเรียกรถ บนอุปกรณ์ไอโอเอส ของแวนวีไอพี ที่กำลังอยู่ในช่วงของการคอมไพล์บนเครื่องแมคโอเอส คิดว่าคงไม่นานเกินไป   


 

วันอาทิตย์ที่ 20 มิถุนายน พ.ศ. 2564

ใช้งานคุ๊กกี้(cookies)กัน ทำเรื่องเหลือเชื่อให้เป็นสิ่งเป็นไปได้

ก่อนอื่นมาทำความรู้จักกับคุ๊กกี้กันก่อน คุ๊กกี้เป็นไฟล์ข้อมูลแบบตัวอักษรเล็กๆ ที่จัดเก็บบนฝั่งเครื่องลูก เช่นหากเราใช้เวบบราวเซอร์เปิดเวบไซต์ หากฝั่งเซิร์ฟเวอร์เขียนโปรแกรมให้จัดเก็บคุ๊กกี้ไว้ หากเราเข้าไปใช้งานซ้ำยังเวบไซต์เดิมอีกครั้ง ฝั่งเซิร์ฟเวอร์ก็จะทราบและแสดงคำพูดต้องรับ "ยินดีที่กลับมาเยี่ยมเยียนกันอีกครั้ง"

พอเราเห็นประโยชน์ของคุ๊กกี้กันแล้ว ที่นี้มาดูงานของผู้เขียนว่าทำไมต้องใช้ประโยชน์ในเรื่องนี้ โจทย์ก็คือเมื่อเครื่องลูกเข้ามาครั้งแรกให้ไปเปิดหน้ารับค่า url สำหรับทำการรีไดเรค(redirect) ไปยังเวบอื่น

ตัวอย่างการใช้งานคุ๊กกี้

ตามตัวอย่าง หากเครื่องลูกเข้ามาครั้งแรก ก็จะผลักให้เข้าไปหน้าป้อนค่า url หรือ landing.html เพื่อกำหนดว่าจะไปยังไซต์ 1 หรือไซต์อื่น ๆ ตามที่ต้องการ หากเครื่องลูกเครื่องเดิมเข้ามาที่หน้าคุ๊กกี้อีกครั้งคราวนี้ไม่ต้องเข้ามาหน้า landing.html แล้วให้ทำการเปลี่ยนหน้า(redirect)ไปยังไซต์ที่ได้ป้อนข้อมูลไว้เพียงครั้งแรกเลย เราไปเริ่มต้นกันเลย

ขั้นตอนที่ 1 สร้างไฟล์ landing.html เอาไว้สำหรับรับค่าเท็กบ็อก(textbox)เมื่อเครื่องลูกป้อนข้อมูลเรียบร้อยแล้วจะได้ทำการเปลี่ยนหน้าไปยังไซต์ที่ต้องการ 


<!DOCTYPE html>
<html lang="en">
<head>
<title>GPS-Vehicle Tracking system</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>

<script language="javascript" type="text/javascript">
function buttonClick(){
var url = document.getElementById("inputURL").value;
setCookie("redirectUrl", url, 30);
window.location = url;
}
function setCookie(cname,cvalue,exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires=" + d.toGMTString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}

</script>
</head>
<body>
<div class="container">
<div class="jumbotron">
<h1>GPS-VEHICLE Tracking Login:</h1>
<p>The best gps tracking system in Thailand!</p>
</div>
<div class="row">
<label style="font-size:12pt;" for="lname">Edit URL:</label>
<input style="width:100%;font-size:12pt;"type="text" id="inputURL" name="inputURL" value="http://tavl2.gps-vehicle.com/gpsvehicleserver"><br>
<input style="font-size:12pt;"type="button" value="click" OnClick="buttonClick()"/>
</div>
</div>

</body>
</html>

 

ขั้นตอนที่ 2 สร้างไฟล์ index.html หรือหน้าคุ๊กกี้ หน้านี้จะทำการตรวจสอบว่าเคยเข้ามาไหม หากเคยเข้ามาแล้วให้ดึงข้อมูลคุ๊กกี้ขี้นมาแล้วทำการเปลี่ยนหน้าไปเลย แต่หากยังไม่เคยเข้ามาก็ให้ย้อนกลับไปหน้า landing.html ก่อน

<!DOCTYPE html>
<html>
<head>
<script>
function setCookie(cname,cvalue,exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays*24*60*60*1000));
var expires = "expires=" + d.toGMTString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
}

function getCookie(cname) {
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
for(var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}

function checkCookie() {
var theUrl=getCookie("redirectUrl");
if (theUrl != "") {
//alert("Welcome again " + theUrl);
window.location.href = theUrl;
} else {
theUrl = "http://tavl2.gps-vehicle.com/gpsvehicleserver";
if (theUrl != "" && theUrl != null) {
//setCookie("redirectUrl", theUrl, 30);
window.location.href = "landing.html";
}
}
}
</script>
</head>

<body onload="checkCookie()"></body>

</html>

 

จากการทดลองของผู้เขียน ระบบก็สามารถทำงานได้ตามที่เราต้องการ แต่จะมีข้อผิดพลาดอยู่บ้างเช่น หากป้อนข้อมูล url ผิดในครั้งแรกครั้งต่อไปก็ไม่สามารถเข้าไปหน้านั้นได้แล้ว ยกเว้นรู้ว่าต้องพิมพ์หน้า landing.html ต่อท้ายไปด้วยอย่างนี้ก็สามารถแก้ไขหน้าที่ผิดพลาดได้ ขอบคุณพื้นที่เวบไซด์ดีๆ จากบริการ GPS ติดตามรถ สินค้าดีมีคุณภาพ ราคาถูกกว่าที่อื่นๆ พลาดไม่ได้ด้วยประการทั้งปวง เลือกจีพีเอสไทย





วันอาทิตย์ที่ 13 มิถุนายน พ.ศ. 2564

Flutter เริ่มต้นดีก็ไปได้สวย หลังจากเริ่มประสบความสำเร็จในการรัน Flutter แรกได้สำเร็จเรามาดูกันเลย


 

Flutter เริ่มต้นดีก็ไปได้สวย หลังจากเริ่มประสบความสำเร็จในการรัน Flutter แรกได้สำเร็จเรามาดูกันเลย สิ่งที่เราต้องรู้จัก PATH อยู่ไหนเพื่อจะกำหนดค่าให้  ENV มองเห็น การติดต่อกับอุปกรณ์ Emulators, ตำแหน่งของโปรแกรม JAVA ,ตำแหน่งของ Android Studio SDK เป็นต้น ว่าเทคนิคขั้นตอนมันยุ่งยากมากอย่างไรกัน ขอบอกเลยว่ายุ่งยากมากของจริง


ขั้นตอนที่ 1 เป็นการติดตั้ง Flutter ก็ดาวน์โหลดตามลิงค์ที่แปะไว้ให้จากนั้น ก็แตกไฟล์ไปยังโฟลเดอร์ที่ต้องการ https://storage.googleapis.com/flutter_infra_release/releases/stable/windows/flutter_windows_2.2.2-stable.zip


ขั้นตอนที่ 2 ติดตั้ง Android Studio เพื่อให้โปรแกรม Flutter เชื่อมต่อกับ Android Studio และ Android toolchain


ขั้นตอนที่ 3 ติดตั้ง Visual Studio เพื่อให้โปรแกรม Flutter เชื่อมต่อกับ Visual Studio ได้ ขั้นตอนนี้ก็สำคัญและใช้เวลามาก ต้องเลือก Desktop C++ ขณะติดตั้ง


ขั้นตอนที่ 4 ติดตั้ง Emulator devices เพื่อติดต่อกับอุปกรณ์สำหรับทดสอบการทำงาน ขั้นตอนนี้ต้องใช้ Android Studio สร้างขึ้นมา และต้องไปกำหนดค่า Images แบบ Cold Boot ไม่เช่นนั้นจะมีปัญหาการติดต่อกับโปรแกรม Flutter

ทั้งหมดทั้งปวงก็ขอให้โชคดี สำคัญกว่านั้น Android Studio ไม่สามารถรันโปรแกรมทดสอบตามตัวอย่างได้ด้วย งานนี้ต้องพึ่งพา CLI ผสมกันไป 

E:\Android\Projects>flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel master, 2.3.0-17.0.pre.337, on Microsoft Windows [Version 10.0.19041.1052], locale th-TH)
[√] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
[√] Chrome - develop for the web
[√] Visual Studio - develop for Windows (Visual Studio Community 2019 16.10.1)
[√] Android Studio (version 4.2.0)
[√] Connected device (4 available)



ขั้นตอนที่ 5 สร้างโปรแกรมแรกสำหรับทดสอบ Flutter กัน ไปเริ่มต้นที่ CLI ดีที่สุด

flutter create myapp
cd myapp

 


ขั้นตอนที่ 6 ก่อนจะรันโปรแกรมได้ ต้องไปเปิดใช้งาน Emulator ก่อน

flutter emulators
E:\Android\Projects\myapp>flutter emulators
1 available emulator:

Pixel_2_API_30 • Pixel 2 API 30 • Google • android

To run an emulator, run 'flutter emulators --launch <emulator id>'.
To create a new emulator, run 'flutter emulators --create [--name xyz]'.

 


ขั้นตอนที่ 7 การเรียกเปิดใช้งาน Emulator ต้องมือไวพอควร ในการเลือกอนุญาต Allow USB debugging? ทำไม่ทันก็ต้องกลับไปเริ่มต้นใหม่ สำคัญทีเดียวต้องกำหนด

อิมเมจที่จะเปิดใช้งานเป็นแบบ Cold Boot เท่านั้น หากตั้งแบบ Warm Boot รับรองปัญหาไม่รู้จักจบสิ้น ยืนยัน

flutter emulators --launch Pixel_2_API_30




ขั้นตอนที่ 8 ตรวจสอบว่ามี Emulators ตัวใดบ้างพร้อมทำงานได้

E:\Android\Projects\myapp>flutter devices
5 connected devices:

sdk gphone x86 (mobile) • emulator-5554 • android-x86     • Android 11 (API 30) (emulator)
Windows (desktop)       • windows       • windows-x64     • Microsoft Windows [Version 10.0.19041.1052]
Windows (UWP) (desktop) • winuwp        • windows-uwp-x64 •
Chrome (web)            • chrome        • web-javascript  • Google Chrome 91.0.4472.77
Edge (web)              • edge          • web-javascript  • Microsoft Edge 91.0.864.48

 


ขั้นตอนที่ 9 บรรทัดบนสุดจะพบว่ามี sdk gphone x86(mobile) พร้อมใช้งาน แต่การจะเรียกใช้ได้ต้องใช้คอลัมภ์ที่ 2 เลือก "emulator-5554" แล้วเริ่มรันโปรแกรมกันเลย

flutter run -d "emulator-5554"

 


จากนั้นจะเห็นผลลัพธ์ของโปรแกรมตัวอย่าง ตามรูปแรกที่แสดงนี้เลย ฟังดูเหมือนง่าย ๆ แต่ไม่ง่ายเวลาทำจริง แต่อย่างไรก็แล้วแต่ ปัญหาที่ผู้เขียนพบเจอก็คืออย่าพยายามใช้การรันบนเครื่องมือ Android Studio เด็ดขาด หมดเวลาไปตามแก้หลายๆ วันก็ไม่สำเร็จ รันบนคอมมานไลน์ ง่ายๆ รวดเร็ว สำเร็จแน่นอนครับ สุดท้ายฝากแนะนำเวบไซต์ Toyota Majesty เช่า ขับเอง ได้บริการดีๆ จากแวนวีไอพี เตรียมเอกสารเพียงแค่ บัตรประชาชน ใบขับขี่และบัตรเครดิต จะเดินทางไปไหนเป็นหมู่คณะสะดวกปลอดภัย