연락처를 모르는 사람끼리를 LINE에서 통신시키는 방법(전회 그랑프리 수상 Bot의 구조)

이번 목적



LINE BOT AWARDS(2017년 개최)에서 그랑프리를 받은 「앤드 핸드」가 실현하고 있는 「연락처를 모르는 사람끼리를 LINE으로 통신시키는 방법」에 대해 해설한다 ( 【9/3】LINE BOOT AWARDS 공식 여름 강습 ~Messaging API + Pay편~ 에서의 일반 사단법인 PLAYERS의 세션에서 발표한 내용에 가필). 

해설하는 Bot(AWARDS 응모 시점)의 개요




  • 도움이 필요한 사람과 그것을 지원하는 사람을 연결한다.
  • 도움이 필요한 사람과 지원하는 사람은 연락처를 교환하지 않고 상호 작용할 수 있습니다.

  • 이용기술



    LINE Beacon LINE Developers 해당 페이지


  • 자신이 친구 등록을 하고 있는 채널에 연결한 Beacon에 접근하면 자신의 스마트폰으로부터 서버에 통지가 간다.
  • 메시지에 Beacon을 식별할 수 있는 ID와 자신의 사용자 ID가 들어 있다.
  • Beacon을 식별할 수 있는 ID: beacon.hwid
  • 자신의 사용자 ID: source.userId


  • BeaconEvent 샘플
    {  
       "replyToken":"nHuyWiB7yP5Zw52FIkcQobQuGDX...",
       "type":"beacon",
       "timestamp":1462629479859,
       "source":{  
          "type":"user",
          "userId":"U4af4980629..."
       },
       "beacon":{  
          "hwid":"d41d8cd...",
          "type":"enter"
       }
    }
    

    PUSH API LINE Developers 해당 페이지



  • 사용자 ID를 지정하여 메시지를 보낼 수 있습니다 (유사한 ID가 있으므로 혼동하지 않도록주의).
  • 사용자 ID = Webhook 이벤트 객체 에서 반환되는 userId
  • 사용자 ID ≠ REPLY TOKEN
  • 사용자 ID ≠ LINE ID

  • 선택한 LINE@의 플랜에 따라서는 이용할 수 없기 때문에 주의.

  • 실현 방법


  • 사전에 도움이 필요한 사람의 사용자 ID와 소지하고 있는 Beacon의 ID를 묶어서 서버에서 관리.
  • 도움이 필요한 사람이 Beacon을 ON하면 근처에 있는 사용자의 사용자 ID가 서버에 통지된다.
  • 서버는 "도움이 필요한 사람의 사용자 ID", "근처에 있는 사용자"쌍방의 사용자 ID를 갖고 있기 때문에, PushAPI 로 쌍방에 메세지를 송신할 수 있다.

  • 마지막으로



    LINE Beacon의 활용은 거기까지 진행되지 않았지만, 이용 방법에 따라서는 색다른 봇을 실현하는 것이 가능해진다.
    부디, 활용해 주셨으면 한다.

    좋은 웹페이지 즐겨찾기