2017-06-17 67 views
1

我有一個應用程序,我想在其中整合來自AdColony的VIDEO AD。如何顯示視頻廣告(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); 
} 

}

回答

1

您可能需要在onRequestFilled監聽器設置ad實例變量從showAdColony方法之後使用。

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