0
Answered

hey, can i add my avatar to an android application ?

Orly 7 months ago in SitePal Gold • updated by Gil Sideman 6 months ago 12

hey, i want to add the character at my app, is there a way of doing it using java script ?

Under review


Yes - you can do so using a webview in your app.

If you want the character to be loaded locally (installed with the app) we support that model as well - but under a different license - if that's of interest to you pls send us a note to sales@sitepal.com.


hey, when i try to use the webview in my app, im putting the html given but for some reason it wont load,

i'm thinking maybe im using the wrong HTML code, which one should i use ? 

Hi Orly - can you post a link to your page where the problem is evident? 

This will allow us to review your code and advise. 

Regards

Gil

yes, thank you very much!


the java: 

package com.example.orly.avatartest;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.Html;
import android.view.View;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        String url = "file:///android_assets/EmbedExample.html";
        WebView view = (WebView)this.findViewById(R.id.myavatar);
        view.getSettings().setJavaScriptEnabled(true);
        view.loadUrl(url);
        view.setWebViewClient(new Mybrowser());
            }
    public void Bpositive(View view) {
        startActivity(new Intent(getApplicationContext(),ActivityGood.class));
        // Kabloey
    }
    public void Bnegative(View view) {
        startActivity(new Intent(getApplicationContext(),Activity_negative.class));
        // Kabloey
    }
    private class Mybrowser extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    }
    
    }

xml: 

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.orly.avatartest.MainActivity">
    <WebView
        android:id="@+id/myavatar"
        android:layout_width="0dp"
        android:layout_height="300dp"
        tools:ignore="MissingConstraints"
        tools:layout_constraintTop_creator="1"
        tools:layout_constraintRight_creator="1"
        android:layout_marginStart="8dp"
        android:layout_marginEnd="8dp"
        app:layout_constraintRight_toRightOf="parent"
        android:layout_marginTop="8dp"
        tools:layout_constraintLeft_creator="1"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
    <Button
        android:id="@+id/Bpositive"
        android:layout_width="104dp"
        android:layout_height="51dp"
        android:layout_marginBottom="101dp"
        android:layout_marginStart="53dp"
        android:text="@string/positive"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        tools:layout_constraintBottom_creator="1"
        tools:layout_constraintLeft_creator="1"
        android:onClick="Bpositive"/>
    <Button
        android:id="@+id/Bnegative"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/negative"
        tools:layout_constraintRight_creator="1"
        android:layout_marginEnd="74dp"
        app:layout_constraintRight_toRightOf="parent"
        tools:layout_constraintTop_creator="1"
        tools:layout_constraintBottom_creator="1"
        app:layout_constraintBottom_toBottomOf="@+id/Bpositive"
        app:layout_constraintTop_toTopOf="@+id/Bpositive"
        android:onClick="Bnegative"/>
</android.support.constraint.ConstraintLayout>

html :(downloaded from this website)

<HTML>
<HEAD>
<TITLE>Example</TITLE>
</HEAD>
<BODY>
<OBJECT id="VHSS" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0" WIDTH=400 HEIGHT=300><PARAM NAME="movie" VALUE="http://vhss-d.oddcast.com/vhss_v5.swf?doc=http%3A%2F%2Fvhss-d.oddcast.com%2Fphp%2FplayScene%2Facc%3D6329007%2Fss%3D2555857%2Fsl%3D0%3Fembedid%3Db8f105847a6c09ee3345492cdd489740&acc=6329007&bgcolor=0x&embedid=b8f105847a6c09ee3345492cdd489740"><PARAM NAME=quality VALUE=high><param name="allowScriptAccess" value="always"><PARAM NAME=scale VALUE=noborder><PARAM NAME=bgcolor VALUE="transparent"><PARAM NAME="wmode" VALUE="transparent"><EMBED src="http://vhss-d.oddcast.com/vhss_v5.swf?doc=http%3A%2F%2Fvhss-d.oddcast.com%2Fphp%2FplayScene%2Facc%3D6329007%2Fss%3D2555857%2Fsl%3D0%3Fembedid%3Db8f105847a6c09ee3345492cdd489740&acc=6329007&bgcolor=0x&embedid=b8f105847a6c09ee3345492cdd489740" swLiveConnect=true NAME="VHSS" quality=high allowscriptaccess="always" scale=noborder wmode="transparent" WIDTH=400 HEIGHT=300 TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></EMBED></OBJECT>
</BODY>
</HTML>


Hi Orly - 

You are not using the right embed code.

The embed code you noted here is the old (deprecated) embed code which requires Flash.

Please select the "Standard Web Page" - this will work in HTML5 including on mobile.

Let me know how goes.

Best

Gil 

hey Gil, thank you,

is this the right code ? 

<script type="text/javascript" src="//vhss-d.oddcast.com/vhost_embed_functions_v2.php?acc=6329007&js=1"></script><script type="text/javascript">AC_VHost_Embed(6329007,300,400,'',1,1, 2555859, 0,1,0,'edb155830fea96fced5505d9cc156ca0',0);</script>


Hi Orly - it looks like you are trying to load a local file - and that file is not present where your code thinks it should be.. Suggest taking another look at your setup.

That said - I don't think you should be using a local html file at all. You may run into problems with your embedded SitePal scene if loaded into a local file - this is not a supported and tested scenario.


I would suggest to have the html file posted on your web server and loaded from there.

As a first step - try loading one of our support example pages - so for example, load this page:

http://www.oddcast.com/support1/sayAudio.html


If the performance/latency of loading from the web is less than ideal for your app, please note my previous comment - 

If you want the character to be loaded locally (installed with the app) we support that model as well - but under a different license - if that's of interest to you pls send us a note to sales@sitepal.com.


Best,

Gil


thank you so much for the patience! 

i think for the moment the loading from web server is fine, and works with the page you gave me. 

how do i do that with my scenarios? 

 

You need to setup a simple html page on your web server. 

For starters - create a very basic page - 


<html>

<header>

</header>

<body>


Your embed code here


</body>

</html>


Then load that page into your web view.

Once that works, you would then modify the page to address your application needs (whatever they may be).


note: if you will be using dynamic TTS (sayText or sayAIResponse) then you also need to setup the page domain as a licensed domain in your SitePal account.


To do that: open ‘Account Info”. Your licensed domains are listed at bottom left. One of the domain names configured there must be identical to the page URL – if you strip away the
preceding “http://” and any path information. For example –
Browser address line is: http://www.mycompany.com/abcd/index.html
Licensed domain name should be: www.mycompany.com


Hope this helps,

Gil