I am trying to write a Jumptap android plugin and need help.
Right now my code is supposed to initialize one of jumptaps ad views and expose it to the C# script.
I keep getting this error:
01-23 23:06:58.556: A/libc(31570): Fatal signal 11 (SIGSEGV) at 0xdeadd00d (code=1), thread 31617 (UnityMain)
Jumptap info here:
https://support.jumptap.com/index.php/Jumptap_Android_SDK_Integration
JumptapPlugin.java
package com.thistlebit.unity.jumptap;
import android.app.Activity;
public class JumptapPlugin {
public static JumptapPluginInitializer createAdViewActivity(Activity currentActivity, String publisherId, String siteId, String spotId)
{
JumptapPluginInitializer initializer = new JumptapPluginInitializer(currentActivity, publisherId, siteId, spotId);
currentActivity.runOnUiThread(initializer);
return initializer;
}
}
JumptapPluginInitializer.java
package com.thistlebit.unity.jumptap;
import com.jumptap.adtag.*;
import com.jumptap.adtag.utils.JtException;
import android.app.Activity;;
public class JumptapPluginInitializer implements Runnable {
JtAdWidgetSettings settings;
Activity currentActivity;
boolean ready;
JtAdView adView;
JumptapPluginInitializer(Activity currentActivity, String publisherId, String siteId, String spotId)
{
ready = false;
JtAdWidgetSettingsFactory.createWidgetSettings();
settings.setPublisherId(publisherId);
settings.setSiteId(siteId);
settings.setSpotId(spotId);
}
public boolean JtAdViewReady()
{
return ready;
}
public JtAdView getAdView()
{
return adView;
}
@Override
public void run()
{
try {
adView = new JtAdView(currentActivity, settings);
ready = true;
} catch (JtException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Plugintest.cs
using UnityEngine;
using System.Collections;
using System.Runtime.InteropServices;
using System;
public class PluginTest : MonoBehaviour
{
public string publisherID;
public string spotID;
public string siteID;
AndroidJavaObject currentActivity;
AndroidJavaObject JtAdView = null, jumptapPlugin;
// Use this for initialization
void Start ()
{
Debug.Log("Getting current activity.");
AndroidJavaClass jc = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
currentActivity = jc.GetStatic<AndroidJavaObject>("currentActivity");
jc = new AndroidJavaClass("com.thistlebit.unity.jumptap.JumptapPlugin");
jumptapPlugin = jc.CallStatic<AndroidJavaObject>("createAdViewActivity", currentActivity, publisherID, spotID, siteID);
}
void Update()
{
if(JtAdView == null jumptapPlugin.Call<bool>("JtAdViewReady"))
{
JtAdView = jumptapPlugin.Call<AndroidJavaObject>("getAdView");
}
}
}
Thankyou,
Spinnernicholas