vigour-wrapper
Version:
The native code to wrap vigour apps
202 lines (177 loc) • 7.45 kB
HTML
<html>
<head>
<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1.0, maximum-scale=1.0">
<style>
html, body {
height:100%;
}
button {
font-size:20px;
}
</style>
</head>
<body>
<h1>Vigour.io</h1>
<!--
script will work with http is app has setting in info.plist
http://ste.vn/2015/06/10/configuring-app-transport-security-ios-9-osx-10-11/
-->
<!--script src="http://mtv-develop.vigour.io/build.js"></script-->
<script>
document.write("<h2>"+navigator.userAgent+"</h2>")
</script>
<script>
var loginMessage = {
pluginId: "facebook",
fnName: "login",
opts: {"scope":["public_profile", "email"]},
cbId: 0
}
var logoutMessage = {
pluginId: "facebook",
fnName: "logout",
opts: {},
cbId: 1
}
var initMessage = {
pluginId: "facebook",
fnName: "init",
opts: {},
cbId: 2
}
var envMessage = {
pluginId: "env",
fnName: "init",
opts: {},
cbId: 3
}
var oMessage = {
pluginId: "orientation",
fnName: "init",
opts: {},
cbId: 4
}
var oMessage2 = {
pluginId: "orientation",
fnName: "orientation",
opts: {"orientation":"landscape"},
cbId: 5
}
var oMessage3 = {
pluginId: "orientation",
fnName: "orientation",
opts: {"orientation":"portrait"},
cbId: 6
}
var oMessage4 = {
pluginId: "orientation",
fnName: "locked",
opts: {"locked":true},
cbId: 7
}
var oMessage5 = {
pluginId: "orientation",
fnName: "locked",
opts: {"locked":false},
cbId: 7
}
var oMessage6 = {
pluginId: "pay",
fnName: "getProducts",
opts:{"single": "mtv_play_single_episode_purchase","monthly": "mtv_play_subscription_monthly","yearly": "mtv_play_subscription_annual"},
cbId: 17
}
var oMessage7 = {
pluginId: "pay",
fnName: "buy",
opts: {"id":"mtv_play_single_episode_purchase"},
cbId: 18
}
var linkMessage = {
pluginId: "open",
fnName: "open",
opts: {"url":"http://www.vigour.io"},
cbId: 333
}
//contentURL - the link to be shared
//contentTitle - represents the title of the content in the link
//imageURL - the URL of thumbnail image that appears on the post
//contentDescription - of the content, usually 2-4 sentences
var shareMessage = {
pluginId: "vigour-facebook",
fnName: "share",
opts: {"urlString":"http://www.vigour.io", "title":"some title", "description":"some description", "imageUrlString":"https://www.google.nl/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png"},
cbId: 33
}
window.vigour = {}
window.vigour.native = {}
window.vigour.native.bridge = {}
window.vigour.native.bridge.receive = function receive (event, data, pluginId) {
console.log("**RECEIVE**")
if (pluginId) {
console.log(pluginId)
}
if (event) {
console.log(event)
}
if (data) {
console.log(data)
}
}
window.vigour.native.bridge.result = function receive (cbId, err, response) {
console.log("**RESULT**")
if (err) {
console.log(err)
}
if (cbId) {
console.log(cbId)
if (cbId == 18) {
var div = document.createElement('div');
div.innerHTML = '<h3 style="position:relative;color:red;width:200px;">'+response+'</h3>';
document.body.appendChild(div);
}
}
if (response) {
console.log(response)
}
}
window.vigour.native.bridge.ready = function(err, response, pluginId) {
console.log("**READY**")
if (err) {
console.log(err)
}
else {
if (pluginId) {
console.log("PLUGIN::")
console.log(pluginId)
}
console.log(response[pluginId])
if(pluginId == "vigour.logger") {
console.log("Console log should work in debug mode")
}
else {//generic
if (response["bridge"]) {
window.webkit.messageHandlers.vigourBridgeHandler.postMessage(initMessage)
}
}
}
}
</script>
<button onclick="window.webkit.messageHandlers.vigourBridgeHandler.postMessage(oMessage6)">get products</button>
<button onclick="window.webkit.messageHandlers.vigourBridgeHandler.postMessage(oMessage7)">buy episode</button>
<button onclick="window.webkit.messageHandlers.vigourBridgeHandler.postMessage(oMessage)">orientation</button>
<button onclick="window.webkit.messageHandlers.vigourBridgeHandler.postMessage(oMessage2)">lanscape</button>
<button onclick="window.webkit.messageHandlers.vigourBridgeHandler.postMessage(oMessage3)">portrait</button>
<button onclick="window.webkit.messageHandlers.vigourBridgeHandler.postMessage(oMessage4)">lock true</button>
<button onclick="window.webkit.messageHandlers.vigourBridgeHandler.postMessage(oMessage5)">lock false</button>
<button onclick="window.webkit.messageHandlers.vigourBridgeHandler.postMessage(envMessage)">env</button>
<button onclick="console.log('test1', 'test2', ['a', 'b'])">log</button>
<button onclick="console.log(false, true)">log</button>
<button onclick="window.webkit.messageHandlers.vigourBridgeHandler.postMessage(loginMessage)">login</button>
<button onclick="window.webkit.messageHandlers.vigourBridgeHandler.postMessage(logoutMessage)">logout</button>
<button onclick="window.webkit.messageHandlers.vigourBridgeHandler.postMessage(shareMessage)">share</button>
<button onclick="alert(window.vigour)">webview</button>
<button onclick="window.webkit.messageHandlers.vigourBridgeHandler.postMessage(linkMessage)">link</button>
</body>
</html>