LINE Beacon을 사용해 보았습니다.
목적
LINE BEACON을 사용하여 LINE 토크룸에 알림을 건너뛰고 싶습니다.
최종 목표
LINE BEACON에 가까워지면, 「도착!」라고 통지된다.
목표 달성까지의 과정
LINE BEACON에 가까워지면, 「도착!」라고 통지된다.
목표 달성까지의 과정
절차
1. LINE BOT 만들기
htps : // 부시넷 s. 네. 메 / 자 / 세 r ゔ 세 s / t
계정 목록의 'Messaging API' 링크에서 화면의 안내에 따라 사용 신청을 합니다.
관리 화면의 「BOT 설정」에서 Webhook 송신을 「이용한다」로 변경합니다.
"계정 이름> 채널 이름/채널 기본 설정"에서 WebhookURL 설정
2. LINE BOT과 LINE Beacon의 연계
주의: 하나의 봇이 여러 개의 비콘과 함께 작동할 수 있습니다. 그러나 하나의 비콘은 여러 봇과 함께 사용할 수 없습니다.
3. 비콘 이벤트를 처리하는 프로그램 구현
BEACON 경유 이벤트
{
"events": [
{
"type": "beacon",
"replyToken": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"source": {
"userId": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"type": "user"
},
"timestamp": 1506685872663,
"beacon": {
"hwid": "XXXXXXXXXX",
"type": "enter"
}
}
]
}
필드
유형
Description
유형
문자열
beacon
replyToken
문자열
이 이벤트에 회신하는 데 사용되는 토큰
beacon.hwid
문자열
발견한 비콘 장치의 하드웨어 ID
beacon.type
문자열
비콘 이벤트의 종류
beacon.dm
문자열
(OPTIONAL)
beacon.type
Description
enter
비콘 기기의 수신권 내에 들어갔다.
leave
비콘 장치의 수신권 내에서 나왔다.
banner
비콘 배너를 탭했습니다.
샘플 프로그램
callback.php<?php
$accessToken = 'アクセストークン';
$jsonString = file_get_contents('php://input');
error_log($jsonString);
$jsonObj = json_decode($jsonString);
$message = $jsonObj->{"events"}[0]->{"message"};
$replyToken = $jsonObj->{"events"}[0]->{"replyToken"};
$beacon = $jsonObj->{"events"}[0]->{"beacon"};
if (strpos($beacon->{"hwid"},'XXXXXXXXXX') !== false) {
$messageData = [
'type' => 'text',
'text' => '到着!'
];
} else {
$messageData = [
'type' => 'text',
'text' => $message->{"text"}
];
}
$response = [
'replyToken' => $replyToken,
'messages' => [$messageData]
];
error_log(json_encode($response));
$ch = curl_init('https://api.line.me/v2/bot/message/reply');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($response));
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json; charser=UTF-8',
'Authorization: Bearer ' . $accessToken
));
$result = curl_exec($ch);
error_log($result);
curl_close($ch);
결과
LINE BEACON에 가까워지면, 「도착!」이라고 통지된다!
Reference
이 문제에 관하여(LINE Beacon을 사용해 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/b1008240/items/7f721b102d247b90add4
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<?php
$accessToken = 'アクセストークン';
$jsonString = file_get_contents('php://input');
error_log($jsonString);
$jsonObj = json_decode($jsonString);
$message = $jsonObj->{"events"}[0]->{"message"};
$replyToken = $jsonObj->{"events"}[0]->{"replyToken"};
$beacon = $jsonObj->{"events"}[0]->{"beacon"};
if (strpos($beacon->{"hwid"},'XXXXXXXXXX') !== false) {
$messageData = [
'type' => 'text',
'text' => '到着!'
];
} else {
$messageData = [
'type' => 'text',
'text' => $message->{"text"}
];
}
$response = [
'replyToken' => $replyToken,
'messages' => [$messageData]
];
error_log(json_encode($response));
$ch = curl_init('https://api.line.me/v2/bot/message/reply');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($response));
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json; charser=UTF-8',
'Authorization: Bearer ' . $accessToken
));
$result = curl_exec($ch);
error_log($result);
curl_close($ch);
LINE BEACON에 가까워지면, 「도착!」이라고 통지된다!
Reference
이 문제에 관하여(LINE Beacon을 사용해 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/b1008240/items/7f721b102d247b90add4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)