sns 딥링크 전달 관련 문의 드립니다.
본문
작업내용은 영카트로 하이브리드 앱만들고 있습니다.
deeplink.js
앱에서 웹킷으로 deeplink 를 전달 받았습니다.
-------------
function getdeeplink(deeplink) {
alert(deeplink);
)
------------
전달 받은것을
카톡 공유 할때 사용을 할려고 합니다.
/plugin/sns/item.sns.skin.php
---
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
$sns_url = $seometa['url']; ---> 이 url 이 공유할때 리턴되는 url 인듯합니다.
---
그래서,
js 파일에 deeplink 정보를 가져와
if ($deeplink) { // 딥링크가 있으면
$sns_url = $deeplink; // 딥링크 넣어주고
} else {
$sns_url = $seometa['url']; // 없으면 기존 유지
}
이렇게 할려고 하는되요
1) js 파일에서 deeplink 정보를 php 파일에 가져올수 있는 방법이 있는지요?
2) 위방법말고 다른 방법이 있는지요?
고수님들 조언 구합니다.
답변 4
의도하는 동작이 맞을지 모르겠습니다.
deeplink.js
function getdeeplink() {
return 'twitter://user?username=who';
}
<?php
$deeplink = null;
$seometa = ['url' => 'https://localhost/foo/bar'];
if ($deeplink) { // 딥링크가 있으면
$sns_url = $deeplink; // 딥링크 넣어주고
} else {
$sns_url = $seometa['url']; // 없으면 기존 유지
}
?>
<script src="deeplink.js"></script>
<script>
document.addEventListener('DOMContentLoaded', function () {
var link_url = document.getElementById('link_url');
if (link_url != null && typeof getdeeplink == 'function') {
var deeplink = getdeeplink();
if (link_url.href != deeplink) {
link_url.href = deeplink;
}
}
}, false);
</script>
<a id="link_url" href="<?php echo $sns_url; ?>"><?php echo $sns_url; ?></a>
ajax로
$.get("파일.php?sns_url="+$deeplink, function (data) {
})
이런식으로 전송하시면 됩니다.
!-->
스크립트 에서 URL 활용하시면됩니다.
예를 들어 test.php는 전달 받은 deeplink 정보를 처리할 PHP 파일의 경로라고하면
window.location.href = 'test.php?deeplink=' + deeplink;
URL 매개변수는 "?" 와 함께 deeplink 변수에 저장된 값을 전달 해라 뭐이런거죠.
답변 모두 감사합니다.
위에부분은 해봤는되요. 일단 저장이 안되니 연결이 안 되더라구요.
그래서, 배르만님 아이디어를 조금 보태서 php 에서 안하고 스크립트로 처리 했습니다.
너무 국한 되게 생각하다보니 이러네요 ㅋㅋ
답변 주신 분들 감사합니다.
혹시 저 처럼 고민 하시눈 분들 조금이나마 도움이 되시라고 적어 봄니다. ^^~
* deeplink.js
---
function getdeeplink(deeplink) {
//alert(deeplink);
sessionStorage.setItem('deeplink', deeplink)
}
---
* /plugin/sns/item.sns.skin.php // sns 공유관련 파일에
---
<a class="dropdown-item" href="javascript:void(0)" onclick="kakao_link('<?php echo str_replace(array('%27', '\''), '', $sns_txt); ?>', '<?php echo $sns_url; ?>','<?php echo $seometa['img']['src'];?>')">
카카오톡
</a>
<script>
function kakao_link(text, sns_url, img) {
var _text = text;
var _sns_url = sns_url;
var _img = img;
// 딥링크 가져오기
deeplink = sessionStorage.getItem("deeplink");
if (deeplink) {
_sns_url = deeplink;
}
kakaolink_send(_text, _sns_url, _img);
}
</script>
---