如果他到达城市中的6个站点,我想在用户端存储6个布尔值。 我可以在Messenger Webview中使用LocalStorage甚至Cookie吗?
如果我关闭Webview并再次打开它,数据是否还会存在?
答案 0 :(得分:0)
经过测试,可以。 因此,您可以像在服务器上的botfile app.js中一样轻松地打开Webview的按钮:
function openWebview(sender_psid, text,button_text){
let button_response = {
"attachment": {
"type": "template",
"payload": {
"template_type": "button",
"text": text,
"buttons": [
{
"type":"web_url",
"url":"<URL>",
"title":button_text,
"webview_height_ratio": "compact",
"messenger_extensions": "true",
"fallback_url": "<FB_URL>"
}
],
}
}
}
callSendAPI(sender_psid, button_response);
}
要完整...
function callSendAPI(sender_psid, response) {
// Construct the message body
let request_body = {
"recipient": {
"id": sender_psid
},
"message": response
}
request({
"uri": "https://graph.facebook.com/v2.6/me/messages",
"qs": { "access_token": PAGE_ACCESS_TOKEN },
"method": "POST",
"json": request_body
}, (err, res, body) => {
if (!err) {
console.log('message sent!')
} else {
console.error("Unable to send message:" + err);
}
});
}
在客户端的index.html上,您可以通过示例轻松存储简单数据:
<div id='myDiv'>nothing for the moment</div>
<script>
localStorage.setItem('key1','myValue1')
var test = localStorage.getItem('key1')
document.getElementById('myDiv').innerHTML = test
</script>
您现在将在Facebook Messenger Webview上看到“ myValue1”