package io.odeeo.sdk;

import android.util.Log;

import io.odeeo.sdk.callbackData.ImpressionData;
import io.odeeo.sdk.callbackData.AdData;
import io.odeeo.sdk.common.SdkInitializationListener;
import com.unity3d.player.UnityPlayer;

public class OdeeoAndroidHelper
{
    public void initialize(String unityVersion, String SdkVersion, SdkInitializationListener listener, String appKey)
    {
        UnityPlayer.currentActivity.runOnUiThread(new Runnable()
        {
            @Override
            public void run() {
                OdeeoSDK.INSTANCE.setEngineInformation("unity_" + unityVersion, SdkVersion);
                OdeeoSDK.INSTANCE.setOnInitializationListener(listener);
                try
                {
                    OdeeoSDK.INSTANCE.initialize(UnityPlayer.currentActivity, appKey);
                }
                catch(Exception e)
                {
                    Log.e("Unity Bridge", "Initialization Failed");
                }
            }
        });
    }
    
    public String impressionDataString(ImpressionData data)
    {
        String json = "{";
        json += "\"sessionID\" : \"" + data.getSessionID() + "\",";
        json += "\"placementType\" : " + data.getPlacementType().ordinal() + ",";
        json += "\"placementID\" : \"" + data.getPlacementID() + "\",";
        json += "\"country\" : \"" + data.getCountry() + "\",";
        json += "\"payableAmount\" : " + data.getPayableAmount() + ",";
        json += "\"transactionID\" : \"" + data.getTransactionID() + "\",";
        json += "\"customTag\" : \"" + data.getCustomTag() + "\"";
        json += "}";
        
        return json;
    }
    
    public String adDataString(AdData data)
    {
        String json = "{";
        json += "\"eCPM\" : " + data.getECPM() + ",";
        json += "\"transactionID\" : \"" + data.getTransactionID() + "\"";
        json += "}";
        
        return json;
    }
}