Q&A

rhymix push 등록하는 메소드가 있나요?

2023.07.03 08:36
150
0
CMS/프레임워크 Rhymix 2.1
개발 언어 PHP 7.4

캡처.JPG

 

개발에 힘쓰시는 분들께, 그리고 이 글에 관심가져 주신 분들께. 먼저 감사의 인사를 드립니다.

 

-

 

저는 로그인(또는 가입?) 시점에 다음의 코드가 실행되는 것으로 파악했습니다.

 

Rhymix\Modules\Member\Controllers\Device::getInstance()->autoRegisterDevice($member_info->member_srl);

 

그 시점에 $_POST['device_token'], $_SERVER['HTTP_X_DEVICE_TOKEN'], $_COOKIE['device_token'] 셋 중 하나를 넘기면 되고요.

 

여기까지 Core 기능이나, 저는 가입이 아닌 <button ~>알림 연동</button> 같은 버튼을 클릭한 시점에 token 값을 받고자 합니다. (용도는 firebase + web push)

 

관련 코드는 이미 있긴하나, 혹시 rhymix 에서 완성된 ajax 모듈 메소드가 있다면 그 쪽을 활용하는게 맞을 것 같습니다.

 

제가 놓친 메소드가 있을까요? (번거로우시면 Yes or No 만 알려주셔도 좋습니다)

 

시간 내어 읽어주셔서 감사합니다.

엘카 Lv. 3

댓글 2

  • 2023.07.03 08:45 #1772232

    로그인이나 회원가입 시점 외에 현재 로그인한 사용자에게 특정한 토큰을 직접 등록시켜 주는 액션은 현재로서는 없습니다. 전체적인 설계가 로그인 시점에 등록하는 데 최적화되어 있다 보니...

     

    wrapper 역할을 해줄 AJAX 액션을 하나 따로 만드셔서

     

    $oDeviceController = Rhymix\Modules\Member\Controllers\Device::getInstance();

    $oDeviceController->procMemberRegisterDevice($member_srl, $device_token);

    $device_key = $oDeviceController->get('device_key');

     

    이렇게 내부적으로 호출하면 아이디/비번 체크를 건너뛰고 해당 $member_srl 앞으로 토큰이 등록됩니다. autoRegisterDevice에서 내부적으로 호출하는 과정을 그대로 쓰는 것이지요. 원하시는 동작에 그나마 가장 가까운 플로우가 아닐까 싶습니다.

  • 2023.07.03 08:50 #1772239
    네, 많은 도움 되었습니다.
    감사합니다^^