- Home /
configure/inject backgorund in facebook canvas
I have my game made with unity and with facebook integrated.All works nice, but i cant change background image, i dont know anything about html :). I can do manualy with developer tools in chrome, but i cant do injecting code. i have this code.\
private void ConfigureCanvas(){
Debug.Log("CONFIGURE FACEBOOK CANVAS ");
// INJECT TOP ADS
string injectionAdsFacebook =
"var headerElement = document.createElement('div'); " +
"headerElement.id = ('adsWebFacebook') ; " +
"headerElement.textContent = ('Check out our other great games: ...');" +
"headerElement.style.width = 400; " +
"headerElement.style.height = 200; " +
"headerElement.style.marginLeft = (window.innerWidth - 400)/2;" +
"headerElement.style.marginRight = (window.innerWidth - 400)/2;" +
"var body = document.getElementById('unityPlayerEmbed');" +
"var insertionPoint = body.children[0]; " +
"body.insertBefore(headerElement, insertionPoint);";
Application.ExternalEval(injectionAdsFacebook);
// Execute javascript in iframe to keep the player centered and recalculate resolution
string javaScript = @"
window.onresize = function() {
var width = window.innerWidth;
var height = window.innerHeight;
var marginX = width * 0.1;
var marginY = height *0.1;
var appHeight = (( window.innerHeight - marginY) / 500) * 500;
var appWidth = (appHeight *16) /10;
if(appWidth > window.innerWidth){
appWidth = (( window.innerWidth - marginX) / 800) * 800;
appHeight = (appWidth *10) /16;
}
var unity = UnityObject2.instances[0].getUnity();
var unityDiv = document.getElementById(""unityPlayerEmbed"");
unity.style.width = appWidth + ""px"";
unity.style.height = appHeight + ""px"";
unityDiv.style.marginLeft = (width - appWidth)/2 + ""px"";
unityDiv.style.marginTop = (height - appHeight)/2 + ""px"";
unityDiv.style.marginRight = (width - appWidth)/2 + ""px"" ;
unityDiv.style.marginBottom = (height - appHeight)/2 + ""px"";
}
window.onresize(); // force it to resize now";
Application.ExternalCall(javaScript);
string changeCanvasBackground =
"var body = document.getElementsByTagName('body');" +
"body[0].background-image = \"url('https://tictacpuzzlesfb.parseapp.com/backgroundsFaceCanvas/spaceCanvasBack.png')\";" +
"body[0].background-size = 'cover'";
Application.ExternalEval(changeCanvasBackground);
}
Well if any can give me a solution, i think this would be pretty easy for a html programmer,if i can i want do with ExternalEval(changaCanvasBackground),every time i get a error like its a bad assigment i try many options and ever get the same error
P.d: sorry for my english, its pretty low :)
var body = document.getElementsByTagName('body')[0];
body.style.backgroundImage = 'url(http://example.com/background.jpg)';
many attempts I forgot to put .style. XD Yeah its working on html build by unity,but in facebook with unity integration dont use html they use binary, .unity3D,then i need modigy facebook hmtl.I think the problem its i cant get the correct "body" see.
http://postimg.org/image/x3cevfew7/
I need get the selected line body in image,how i can reach??? Thanks!!! any help would be appreciate
Your answer
![](https://koobas.hobune.stream/wayback/20220613150337im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Facebook external eval ? 1 Answer
How create customize bg on facebook, unity WebGl? 0 Answers
Unable to connect to Update Server 1 Answer
Web Player SendMessage Array Parameters 1 Answer
communication with the webpage... 1 Answer