ใช้งาน Line Notify เป็น push notification แจ้งเตือนผ่านมือถือ อย่างง่าย
เขียนเมื่อ 6 ปีก่อน โดย Ninenik Narkdeepush notification line notify line
คำสั่ง การ กำหนด รูปแบบ ตัวอย่าง เทคนิค ลูกเล่น การประยุกต์ การใช้งาน เกี่ยวกับ push notification line notify line
ไปที่
Copy









สำหรับเนื้อหาต่อไปนี้ จะเป็นแนวทางอย่างง่าย น่าจะทำได้ไม่ยากนัก เป็นการประยุกต์ใช้งาน
Line Notify มาประยุกต์กับการแจ้งเตือนผ่านมือถือ ในลักษณะ push notification ผ่าน
Application Line App ถึงจะมีความสามารถไม่มากนัก ต่อก็เพียงพอต่อการนำไปปรับประยุกต์
ใช้งานได้ เช่น แจ้งข้อมูลการสั่งซื้อของลูกค้าผ่านเว็บไซต์มายังผู้ดูแล แจ้งสรุปยอดคนเข้าชมเว็บไซต์
ในรอบวัน หรืออื่นๆ แล้วแต่การประยุกต์ใช้งาน
ก่อนอื่น เราต้องเพิ่ม Line Notify เป็นเพื่อนใน Line Accont ของเราก่อน โดย สแกน Qrcode
ด้านล่าง เพื่อเพิ่ม Line Notify เป็นเพื่อน

จากนั้นให้ไปที่เว็บไซต์
หากยังไม่ล็อกอิน ให้ทำการล็อกอินเข้าระบบด้วยบัญชี line ของเราก่อน
คลิกที่ชื่อ ผู้ใช้หลังจากล็ฮกอินแล้ว เลือก "หน้าของฉัน" ดังรูป

เลื่อนลงมาด้านล่างเลือกกดที่ปุ่ม "ออก Token"

โดย Token ในส่วนนี้จะเรียกว่า "Personal Access Token" จะทำให้ Line Notify ที่เราเพิ่มเป็นเพื่อน
สามารถเห็นข้อมูลชื่อห้อง (Group) กับชื่อโปรไฟล์ (Profile) ที่เชื่อมต่อได้ ทำให้เราสามารถรับการ
แจ้งเตือนแบบตัวต่อตัวกับ Line Notify หรือ รับการแจ้งเตือนผ่าน Group ที่เราเชื่อมต่ออยู่ โดยการรับ
การแจ้งเตือนใน Group ที่เราใช้งาน เราจำเป็นต้อง invite
ในที่เราจะเลือกเชื่อมต่อกับ กลุ่ม ที่เราเพิ่งสร้างมาใหม่ กรอกข้อมูล และเลือกกลุ่ม เสร็จกดปุ่ม "ออก Token"

คัดลอก (copy) ค่า Access Token ไว้ใช้งาน

จากนั้นเราจะได้รายการที่เชื่อมต่อ แสดงดังรูป

ต่อไปมาที่ App Line แล้วไปที่กลุ่มห้องที่เราสร้าง ทำการ Invite "Line Notify" มาในกลุ่ม
ที่เราต้องการรับการแจ้งเตือน ดังรูป


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


ตัวอย่างโค้ดการส่งข้อความ push ผ่าน Line Notify
ไฟล์ dbconnect.php ถ้ามีการเชื่อมต่อกับฐานข้อมูล mysql
<?php $mysqli = new mysqli("localhost", "root","","test"); /* check connection */ if ($mysqli->connect_errno) { printf("Connect failed: %s\n", $mysqli->connect_error); exit(); } if(!$mysqli->set_charset("utf8")) { printf("Error loading character set utf8: %s\n", $mysqli->error); exit(); }
ไฟล์ line_group.php ใช้งานผ่านฟังก์ชั่น cURL
<?php // กรณีต้องการตรวจสอบการแจ้ง error ให้เปิด 3 บรรทัดล่างนี้ให้ทำงาน กรณีไม่ ให้ comment ปิดไป ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); // กรณีมีการเชื่อมต่อกับฐานข้อมูล //require_once("dbconnect.php"); $accToken = "กรอก access token ของเรา "; $notifyURL = "https://notify-api.line.me/api/notify"; $headers = array( 'Content-Type: application/x-www-form-urlencoded', 'Authorization: Bearer '.$accToken ); $data = array( 'message' => 'ทดสอบข้อความ ใน กลุ่ม Line' ); // ส่วนของการส่งการแจ้งเตือนผ่านฟังก์ชั่น cURL $ch = curl_init(); curl_setopt( $ch, CURLOPT_URL, $notifyURL); curl_setopt( $ch, CURLOPT_POST, 1); curl_setopt( $ch, CURLOPT_POSTFIELDS, http_build_query($data)); curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers); curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 0); // ถ้าเว็บเรามี ssl สามารถเปลี่ยนเป้น 2 curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, 0); // ถ้าเว็บเรามี ssl สามารถเปลี่ยนเป้น 1 curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec( $ch ); curl_close( $ch ); // ตรวจสอบค่าข้อมูล ว่าเป็นตัวแปร ปรเภทไหน ข้อมูลอะไร var_dump($result); // การเช็คสถานะการทำงาน $result = json_decode($result,TRUE); // ดูโครงสร้าง กรณีแปลงเป็น array แล้ว //echo "<pre>"; //print_r($result); // ตรวจสอบข้อมูล ใช้เป็นเงื่อนไขในการทำงาน if(!is_null($result) && array_key_exists('status',$result)){ if($result['status']==200){ echo "Pass"; } } ?>
เราสามารถนำคำสั่งในส่วนของการแจ้งเตือนนี้ ไปประยุกต์กับ PHP Project ของเราต่อไปได้
เนื้อหาในตอนหน้า จะมาแนะนำวิธีการสร้าง sevices สำหรับ การใช้งาน Notify กับกลุ่มผู้ใช้งานทั่วไป
ทีมีบัญชี Line และต้องการรับบริการการแจ้งเตือนจาก Line Notify ผ่าน Service ที่เราสร้างขึ้น
ติดตามในตอนหน้า
เพิ่มเติมเนื้อหา ครั้งที่ 1 วันที่ 04-11-2017
การส่งข้อความแจ้งเตือนเป็นรูปภาพ และสติ๊กเกอร์
กรณีต้องการส่งเป็น Sticker สามารถกำหนดในส่วนของ $data เป็นดังนี้
$data = array( 'message' => ' ', // ต้องส่งข้อความด้วยเสมอ ถ้าไม่มี ให้เว้นเป็นช่องว่าง 'stickerPackageId' => 2, 'stickerId' => 22, ); // ลิ้งค์ค่า packid กับ stickerid https://devdocs.line.me/files/sticker_list.pdf
และในส่วนของการส่งเป็นรูปภาพ ได้ลองทดสอบการ upload รูป ไปยัง server ของ Line แล้ว
แต่ยังไม่สามารถทำได้ อย่างไรก็ตาม สามารถส่งเป็น url ของรูป โดยระบุ url ของขนาด thumbnail
(รูปย่อ) และ url ของรูป Fullsize (ขนาดใหญ่) ในเบื้องต้นแทนได้ โดยกำหนดในส่วนของ $data เป็นดังนี้
$data = array( 'message' => ' ', // ต้องส่งข้อความด้วยเสมอ ถ้าไม่มี ให้เว้นเป็นช่องว่าง 'imageThumbnail' => 'https://c1.staticflickr.com/5/4508/24306354468_854f181e2f.jpg', 'imageFullsize' => 'https://c1.staticflickr.com/5/4508/24306354468_854f181e2f.jpg', );
โดยในการส่งรูปภาพ จะมีเงื่อนไขของ รูป คือ
imageThumbnail ต้องเป็นไฟล์รูป JPEG ขนาดกว้างยาว สูงสุดไม่เกิน 240x240 px
imageFullsize ต้องเป็นไฟล์รูป JPEG ขนาดกว้างยาว สูงสุดไม่เกิน 1024×1024 px
หรือกรณีที่เรามีแค่ url ของรูปต้นฉบับ หรือรูปที่จะเป็น FullSize เพียงอย่างเดียว เราสามารถ
ประยุกต์ กับการใช้งาน Intervention Image สร้าง url Thumbnail ได้ ตัวอย่างเช่น
สร้างไฟล์ img.php ดังนี้
<?php // กรณีต้องการตรวจสอบการแจ้ง error ให้เปิด 3 บรรทัดล่างนี้ให้ทำงาน กรณีไม่ ให้ comment ปิดไป ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); // include composer autoload require_once '../vendor/autoload.php'; // กรณีมีการเชื่อมต่อกับฐานข้อมูล //require_once("dbconnect.php"); // import the Intervention Image Manager Class use Intervention\Image\ImageManager; // สร้างตัวแปรอ้างอิง object ตัวจัดการรูปภาพ $manager = new ImageManager(); if(isset($_GET['pic']) && $_GET['pic']!=""){ // การอ่านไฟล์จากรูภาพที่มีอยู่แล้ว โดยระ path ของรูปภาพ ที่จะใช้งาน เพื่อสร้างข้อมูลรูปภาพใหม่ $img = $manager->make($_GET['pic']); $img->fit('240','240'); // ส่ง HTTP header และข้อมูลของรูปเพื่อนำไปแสดง echo $img->response(); }
และกำหนดในส่วนของ $data เป็นดังนี้
$picFullSize = 'https://c1.staticflickr.com/5/4508/24306354468_854f181e2f.jpg'; $picThumbnail = 'http://www.mywebsite.com/img.php?pic='.$picFullSize; $data = array( 'message' => ' ', // ต้องส่งข้อความด้วยเสมอ ถ้าไม่มี ให้เว้นเป็นช่องว่าง 'imageThumbnail' => $picThumbnail, 'imageFullsize' => $picFullSize );
สำหรับการแจ้งเตือนที่เป็นรูปภาพ และ สติ๊กเกอร์นั้น จะมีการส่งข้อความไป 2 ครั้งเสมอ
ครั้งแรกเป็นข้อความ ถ้ามีข้อความ หรือถ้า เว้นวรรคเป็นช่องว่าง ก็ได้
และข้อความที่สองจะเป็นรูป หรือ สติ๊กเกอร์ที่ส่ง
กด Like หรือ Share เป็นกำลังใจ ให้มีบทความใหม่ๆ เรื่อยๆ น่ะครับ

อ่านต่อที่บทความ
-
07 Nov2017เชื่อมต่อ Line Notify กับผู้ใช้ Line รับการแจ้งเตือนผ่านบริการเว็บเซอร์วิส อ่าน 23,453
พิเศษ เฉพาะสมาชิก ในเนื้อหาตอนที่แล้ว เราได้รู้จักวิธีการใช้งาน Line Notify ในการรับการแจ้งเตือ
เนื้อหาพิเศษ เฉพาะสำหรับสมาชิก
กรุณาล็อกอิน เพื่ออ่านเนื้อหาบทความ
ยังไม่เป็นสมาชิก
สมาชิกล็อกอิน
สมาชิกล็อกอิน
( หรือ เข้าใช้งานผ่าน Social Login )
URL สำหรับอ้างอิง
Top
Copy
ขอบคุณทุกการสนับสนุน
![]()