Как показывать видеорекламу (AdColony)

У меня есть приложение, в которое я хочу интегрировать ВИДЕО РЕКЛАМУ от AdColony.

Когда пользователь нажимает на кнопку, срабатывает метод loadAd(), а затем onRequestFilled. Но после вызова show() ничего не происходит.

Вот класс со всеми методами, которые у меня есть для AdColony.

public class AdColonyAds {

private  final String ZONE_ID = "vzac61b40e83e8436c9e";
private  final String APP_ID_ADCOLONY = "appa567471ee29646b5b5";
private AdColonyInterstitial ad;
private AdColonyInterstitialListener listener;
private AdColonyAdOptions ad_options;
private String uniqueID;


private Activity activity;

public AdColonyAds(Activity activity) {
    this.activity = activity;
    uniqueID = UUID.randomUUID().toString();
}


public void initAdColony(){
    AdColonyAppOptions app_options = new AdColonyAppOptions()
            .setUserID(uniqueID);

    AdColony.configure( activity, app_options, APP_ID_ADCOLONY, ZONE_ID );

    AdColonyUserMetadata metadata = new AdColonyUserMetadata()
            .setUserAge( 26 )
            .setUserEducation( AdColonyUserMetadata.USER_EDUCATION_BACHELORS_DEGREE )
            .setUserGender( AdColonyUserMetadata.USER_MALE );

    ad_options = new AdColonyAdOptions()
            .enableConfirmationDialog( true )
            .enableResultsDialog( true )
            .setUserMetadata( metadata );

    AdColony.setRewardListener( new AdColonyRewardListener()
    {
        @Override
        public void onReward( AdColonyReward reward )
        {
            reward.getRewardAmount();
        }
    } );

    listener = new AdColonyInterstitialListener() {
        @Override
        public void onRequestFilled(AdColonyInterstitial adColonyInterstitial) {
            Toast.makeText(activity,"Ready",Toast.LENGTH_SHORT).show();
             adColonyInterstitial.show();
        }
    };
}

public void showAdColony(){
    ad.show();
}

public void loadAd(){
    AdColony.requestInterstitial( ZONE_ID, listener, ad_options );
}

}


person Рома Кокош    schedule 17.06.2017    source источник


Ответы (1)


Возможно, вам потребуется установить переменную экземпляра ad в прослушивателе onRequestFilled для использования после метода showAdColony.

listener = new AdColonyInterstitialListener() {
    @Override
    public void onRequestFilled(AdColonyInterstitial adColonyInterstitial) {
        ad = adColonyInterstitial;
    }
};
person Toru    schedule 20.09.2017