Leadbolt реализует ошибку
Я пытался внедрить рекламу Leadbolt в свое приложение, но не могу установить Adlistener на контроллере. Методы, которые я могу добавить, не похожи на методы, описанные в PDF. Я могу показывать рекламу в своем приложении, но не могу использовать слушателей.
Это мой код:
final Activity act = this;
myController = new AdController(act, MY_LB_SECTION_ID, new AdListener() {
@Override
public void onDismissScreen(Ad arg0) {
// TODO Auto-generated method stub
}
@Override
public void onFailedToReceiveAd(Ad arg0, ErrorCode arg1) {
// TODO Auto-generated method stub
}
@Override
public void onLeaveApplication(Ad arg0) {
// TODO Auto-generated method stub
}
@Override
public void onPresentScreen(Ad arg0) {
// TODO Auto-generated method stub
}
@Override
public void onReceiveAd(Ad arg0) {
// TODO Auto-generated method stub
}
});
myController.loadAd();
Я получаю ошибку: конструктор AdController(Activity, String, new AdListener(){}) не определен
Это код из pdf- файла, но эти методы, по-видимому, неизвестны для eclipse:
final Activity act = this;
AdController myController = new AdController(act,
"MY_LB_SECTION_ID", new AdListener() {
public void onAdLoaded() {
}
public void onAdClicked() {
}
public void onAdClosed() {
act.finish();
}
public void onAdCompleted() {
act.finish();
}
public void onAdFailed() {
act.finish();
}
public void onAdProgress() {
}
public void onAdAlreadyCompleted() {
act.finish();
}
public void onAdHidden() {} // function is deprecated
public void onAdPaused() {
act.finish();
}
public void onAdResumed() {
}
});
myController.loadAd();
Есть идеи, что я делаю не так? Я ничего не добавил в Манифест.
3 ответа
Для Leadbolt:
Оказалось, что com.pad.android.listener.AdListener; или com.Leadbolt.AdListener; столкнулся с импортом com.google.ads.AdListener; который является AdMob AdListener. Вот почему я не могу добавить оператор импорта.
Вы должны расширить свою документацию, поэтому, если ваш слушатель сталкивается с любыми другими рекламными сетями, как использовать его, потому что это не очевидно. MobFox также использует com.adsdk.sdk.AdListener.
Чтобы использовать AdListener при использовании AdListeners в других рекламных сетях, моя первая строка выглядит так:
public class MainActivity extends Activity implements AdListener, com.google.ads.AdListener {
Первый - MobFox, второй - AdMob. Я не реализовал AdListener от Leadbolt, потому что я использую его в коде:
AdController myController = new AdController(act, MY_LB_SECTION_ID_BANNER_ALL, new com.pad.android.listener.AdListener() {
Таким образом, это работает.
Из PDF-файла, на который вы ссылались:
Как только этот код будет включен, зайдите на портал издателя и добавьте раздел "App Ad (SDK)" и используйте значок "Получить код", чтобы получить значение "MY_LB_SECTION_ID".
MY_LB_SECTION_ID
это целочисленный идентификатор, а не строка.
У меня была та же проблема, так как я также использую AdMob одновременно, но я нашел более простой способ это исправить.
Вместо того, чтобы использовать:
AdController ad = new AdController(act, "MY_LB_SECTION_ID", new AdListener() {
...
}
Я использовал:
AdController ad = new AdController(act, "MY_LB_SECTION_ID", new com.<leadbolt_package_name>.AdListener() {
...
}
Учитывая, что я использовал этот импорт:
import com.<leadbolt_package_name>.AdController; // in my case, it was something like 'fgadcbgxysr'
Это будет читать непосредственно метод библиотеки LeadBolt, а не конфликтующий метод. Надеюсь, что это поможет другим пользователям, хотя мой ответ пришел поздно.