Мы используем App Game Kit для одного из наших приложений и пытаемся удалить AdMob, чтобы использовать Chartboost. AGK использует интерпретатор своего языка, который проходит через NDK на java. У них есть класс AGKHelper
, который является точкой входа для команд, которые в настоящее время вызывают Facebook, AdMob, диалоговое окно с предупреждением и некоторые другие действия. Каждый из методов в AGKHelper
запускает события через Runnable
классы. Вот пример их процедуры создания предупреждающего диалога:
public class AGKHelper {
//just a sample of what's in there many other methods exist
public static void ShowMessage( Activity act, String msg )
{
RunnableMessage run = new RunnableMessage();
run.act = act;
run.msg = msg;
act.runOnUiThread( run );
}
}
Теперь о классе RunnableMessage
, который создает диалоговое окно предупреждения.
class RunnableMessage implements Runnable
{
public Activity act;
public String msg;
public void run() {
AlertDialog alertDialog;
alertDialog = new AlertDialog.Builder(act).create();
alertDialog.setTitle("Message");
alertDialog.setMessage(msg);
alertDialog.setButton( DialogInterface.BUTTON_POSITIVE, "OK", new DialogInterface.OnClickListener(){public void onClick(DialogInterface dialog, int which) {}});
alertDialog.show();
}
}
Также существует CreateAd()
метод, который создает объявления для AdMob с использованием runOnUiThread()
, но с WindowManager
для показа рекламы. Насколько мы можем судить, мы ДОЛЖНЫ использовать Runnable
, чтобы активировать Chartboost. Мы следовали интеграции SDK Chartboost и застряли при создании нашего Runnable
для него. Все Runnables
, которые использует AGKHelper
, также ссылаются на NativeActivity
, мы полагаем, передав его в качестве параметра методу, например ShowMessage()
, а затем выполняя с ним что-то в классе Runnable для каждого из этих методов. Такие как
AlertDialog.Builder(act) //for the message
ad = new AdView(act, AdSize.BANNER, pubID); //for AdMob - RunnableAd
feed.dialog(act, "feed", parameters,new DialogListener() {} // for RunnableFacebook
К сожалению, не существует способа передать NativeActivity
исполняемому объекту Chartboost. У нас очень мало опыта работы с java, поэтому мы учимся на ходу и чувствуем, что добиваемся прогресса, но тогда ничего не происходит.
Есть ли у кого-нибудь полный пример класса Runnable
, который показывает Chartboost? Мы были бы очень признательны за помощь. Я бы хотел рассказать больше о классе AGKHelper
, например, о полном методе RunnableAd()
, но он длинный и заполнен настройками WindowsManager
. RunnableMessage
- самый короткий пример, который я могу привести. Спасибо.