[킴스큐] 모바일에서 카카오스토리 연결하는 방법
게시판 기준으로 설명드리겠습니다.
아래의 순서대로 해보세요.
1. js 추가
- 아래 소스를 해당 테마 _main.js 파일에 추가해주요.
// 카카오스토리 링크 js 시작
/*
Copyright 2012 KAKAO
*/
(function (window, undefined) {
var kakao = {};
window.kakao = window.kakao || kakao;
var uagent = navigator.userAgent.toLocaleLowerCase();
if (uagent.search("android") > -1) {
kakao.os = "android";
if (uagent.search("chrome") > -1) {
kakao.browser = "android+chrome";
}
} else if (uagent.search("iphone") > -1 || uagent.search("ipod") > -1 || uagent.search("ipad") > -1) {
kakao.os = "ios";
}
var app = {
talk: {
base_url: "kakaolink://sendurl?",
apiver: "2.0.1",
store: {
android: "market://details?id=com.kakao.talk",
ios: "http://itunes.apple.com/app/id362057947"
},
package: "com.kakao.talk"
},
story: {
base_url: "storylink://posting?",
apiver: "1.0",
store: {
android: "market://details?id=com.kakao.story",
ios: "http://itunes.apple.com/app/id486244601"
},
package: "com.kakao.story"
}
};
kakao.link = function (name) {
var link_app = app[name];
if (!link_app) return { send: function () {
throw "No App exists";
}};
return {
send: function (params) {
var _app = this.app;
params['apiver'] = _app.apiver;
var full_url = _app.base_url + serialized(params);
var install_block = (function (os) {
return function () {
window.location = _app.store[os];
};
})(this.os);
if (this.os == "ios") {
var timer = setTimeout(install_block, 2 * 1000);
window.addEventListener('pagehide', clearTimer(timer));
window.location = full_url;
} else if (this.os == "android") {
if (this.browser == "android+chrome") {
window.location = "intent:" + full_url + "#Intent;package=" + _app.package + ";end;";
} else {
var iframe = document.createElement('iframe');
iframe.style.visibility = 'hidden';
iframe.src = full_url;
iframe.onload = install_block;
document.body.appendChild(iframe);
}
}
},
app: link_app,
os: kakao.os,
browser: kakao.browser
};
function serialized(params) {
var stripped = [];
for (var k in params) {
if (params.hasOwnProperty(k)) {
stripped.push(k + "=" + encodeURIComponent(params[k]));
}
}
return stripped.join("&");
}
function clearTimer(timer) {
return function () {
clearTimeout(timer);
window.removeEventListener('pagehide', arguments.callee);
};
}
};
}(window));
// 카카오스토리 링크 js 끝
2. php 소스 추가
해당 테마 view.php 페이지 상단에 아래의 소스를 추가해주세요.
이 것은 원하는 이미지를 보내기 위한 것입니다.
만약 대표 이미지가 있다면 이 곳에서 하나 만들어서 위치를 정해주고
아래 스크립트에 넣어주면 됩니다.
<?php
$exp = explode(']',str_replace('[','',trim($_R['upload'])));
$UP=db_fetch_array(db_query("select * from ".$table['s_upload']." where uid=".$exp[0],$DB_CONNECT));
$o_img = './files/'.$UP['folder'].'/'.$UP['tmpname'];// 원본이미지
$t_img=getUploadImage($_R['upload'],$_R['d_regis'],$_R['content'],'jpg|jpeg');//썸네일
$b_img="대표 이미지 주소";// 대표 이미지 사용할 경우
?>
3. 카카오스토리 링크연동 스크립트 추가
역시 해당 테마 view.php 페이지 하단 스크립트 출력되는 부분에
아래 스크립트를 추가해주세요
// 카카오스토리 링크 연동 스크립트 시작
<script type="text/javascript">
function executeKakaoStoryLink()
{
kakao.link("story").send({
var kims_tit = "<?php echo urlencode($_HS['title'])?>";
var kims_sbj = "<?php echo urlencode($R['subject'])?>";
var kims_img="<?php echo $t_img?>"; // 썸네일 이미지 주소
post : "<?php echo urlencode($g['url_root'].($_HS['rewrite']?($_HS['usescode']?'/'.$r:'').'/b/'.$R['bbsid'].'/'.$R['uid']:'/?'.($_HS['usescode']?'r='.$r.'&':'').'m='.$m.'&bid='.$R['bbsid'].'&uid='.$R['uid']))?>",
appid : "<?php echo $g['s']?>", // 홈피주소
appver : "1.0",
appname : "<?php echo $_HS['name']?>", // 홈피이름
urlinfo : JSON.stringify({title:kims_tit, desc:kims_sbj, imageurl:[kims_img], type:"article"})
});
}
</script>
// 카카오스토리 링크 연동 스크립트 끝
4. 클릭요소에 onclick 이벤트 적용하기
카카오스토리 링크 버튼 혹은 기타 링크에 아래와 같이 스크립트 연동을 해줍니다.
1) 이미지일 경우
<img src="카카오스토리 이미지" alt="카카오스토리 링크" title="게시글을 카카오스토리로 보내기" onclick="executeKakaoStoryLink();" />
2) 텍스트일 경우
<a href="#" alt="카카오스토리 링크" title="게시글을 카카오스토리로 보내기" onclick="executeKakaoStoryLink();" />카카오스토리로 글보내기</a>
태그
▼ 이 게시물의 댓글 + 0
* 엮인글 + 0
1