2017-02-14 21 views
0

我想在完成观看视频广告时增加。我在按钮点击时调用startRevMobSession()函数,但当没有视频时,它也会增加..任何人都请告诉我它的正确实现。 我正在使用Android Studio完成观看视频广告时的增量

Double counter = 0.0;

双加= 0.0005;

String strCounter; 

SharedPreferences sharedpreferences; 

RevMob revmob; 
RevMobFullscreen video; 
private boolean videoIslodaded; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_video1); 
} 

public void startRevMobSession() { 
    videoIslodaded = false; 
    //RevMob's Start Session method: 
    revmob = RevMob.startWithListener(this, new RevMobAdsListener() { 
     @Override 
     public void onRevMobSessionStarted() { 
      loadVideo(); //Cache the video once the session is stared 
     } 
     @Override 
     public void onRevMobSessionNotStarted(String message) { 
      //If the session fails, no ad will be displayed. 
     } 
    },"<YOUR_APP_ID>"); 
} 

public void loadVideo(){ 
    video = revmob.createVideo(this,new RevMobAdsListener(){ 
     @Override 
     public void onRevMobVideoLoaded() { 
      videoIslodaded = true; //Video ready to be displayed 
      showVideo(); 
     } 
     @Override 
     public void onRevMobVideoStarted() { 
      videoIslodaded = false; 
     } 
     @Override 
     public void onRevMobAdNotReceived(String message) { 
      videoIslodaded = false; //Ad failed to load; 
     } 
    }); 
} 

public void showVideo(){ 
    if(videoIslodaded) video.showVideo(); 
} 

public void watch1_btn(View view){ 

    startRevMobSession(); 

    sharedpreferences = getSharedPreferences("MyPREFERENCES", Context.MODE_PRIVATE); 
    counter = Double.longBitsToDouble(sharedpreferences.getLong("key",Double.doubleToLongBits(0))); 
    counter = counter+adding; 
    strCounter = Double.toString(counter); 

    sharedpreferences = getSharedPreferences("MyPREFERENCES", Context.MODE_PRIVATE); 
    SharedPreferences.Editor editor = sharedpreferences.edit(); 
    editor.putLong("key", Double.doubleToRawLongBits(counter)); 
    editor.commit(); 
} 
} 

回答

0

添加VideoFinished听众:

public void loadVideo(){ 
    video = revmob.createVideo(this,new RevMobAdsListener(){ 
     @Override 
     public void onRevMobVideoLoaded() { 
      videoIslodaded = true; //Video ready to be displayed 
      showVideo(); 
     } 

     @Override 
     public void onRevMobVideoStarted() { 
      videoIslodaded = false; 
     } 

     @Override 
     public void onRevMobAdNotReceived(String message) { 
      videoIslodaded = false; //Ad failed to load; 
     } 

     @Override 
     public void onRevMobVideoFinished(){ 
      Log.w("RevMob video finished playing"); 
      //Add your count here 
     } 
    }); 
} 

你也可以添加此监听器,如果您的视频是奖励(您需要查看完整视频):由支持

@Override 
    public void onRevMobRewardedVideoFinished() { 
     Log.w("RevMob Rewarded Video finished playing."); 
    } 

    @Override 
    public void onRevMobRewardedVideoCompleted() { 
     Log.w("RevMob Rewarded Video completed. You earned a coin!"); 
     //Add your count here 
    } 
+0

但这种方法是奖励视频广告我使用普通的视频广告,onRevMobRewardedVideoCompleted()函数不工作那里有任何其他的想法? –

+0

使用onRevMobVideoFinished()。我把它放在第一个代码片段 – Santi

+0

,只完成视频没有完成。我想在视频完成时执行并且也由用户关闭 –

0

两种类型的视频RevMob AdNetwork。

  1. 视频
  2. 奖赏视频

第一类是普通的视频,只要你想显示视频如使用。当你将屏幕从一个转移到另一个时。当我检查你的要求时,我建议你使用奖励视频。如果你仍然想坚持视频广告没有问题。如果有视频,请致电showVideo(),然后增加您的值,否则不会。

public void loadVideo(){ 

     video = revmob.createVideo(currentActivity,new RevMobAdsListener(){ 
      @Override 
      public void onRevMobVideoLoaded() { 
       videoIsLoaded = true; //Video ready to be displayed 
      } 
      @Override 
      public void onRevMobVideoStarted() { 
       videoIsLoaded = false; 
      } 
      @Override 
      public void onRevMobAdNotReceived(String message) { 
       videoIsLoaded = false; //Ad failed to load; 
      } 

      @Override 
      public void onRevMobAdClicked() { 
       Log.i("RevMob", "Video clicked."); 
      } 

      @Override 
      public void onRevMobAdDismissed() { 
       Log.i("RevMob", "Video dismissed."); 
      } 


      @Override 
      public void onRevMobVideoNotCompletelyLoaded() { 
       Log.i("RevMob", "Video has not been completely loaded."); 
       //You tried to show it but it's not loaded yet 
      } 

      @Override 
      public void onRevMobVideoFinished(){ 
       Log.i("RevMob", "Video finished playing"); 
      } 
     }); 
    } 


    public void showVideo(){ 
     if(videoIsLoaded) { 

      sharedpreferences = getSharedPreferences("MyPREFERENCES", Context.MODE_PRIVATE); 
      counter = Double.longBitsToDouble(sharedpreferences.getLong("key",Double.doubleToLongBits(0))); 
      counter = counter+adding; 
      strCounter = Double.toString(counter); 

      sharedpreferences = getSharedPreferences("MyPREFERENCES", Context.MODE_PRIVATE); 
      SharedPreferences.Editor editor = sharedpreferences.edit(); 
      editor.putLong("key", Double.doubleToRawLongBits(counter)); 
      editor.commit(); 
      video.showVideo();     
     } 
     else loadVideo(); 
    } 

第二种类型是您的要求。首先调用loadVideo()并附加监听器。当您的视频通过onRevMobRewardedVideoLoaded()方法加载时启用标志。通过该标志检查是你的报酬视频即可显示,如果是节目的奖励对话框(UI),并通过该对话框按钮接口调用showRewardedVideo()

public void loadRewardedVideo(){ 
     rewardedVideo = revmob.createRewardedVideo(currentActivity, new RevMobAdsListener(){ 
      @Override 
      public void onRevMobRewardedVideoLoaded() { 
       rewardedVideoIsLoaded = true; 
       Log.i("RevMob","Rewarded Video ready to be displayed"); 
      } 
      @Override 
      public void onRevMobAdNotReceived(String message) { 
       rewardedVideoIsLoaded = false; 
       Log.i("RevMob","Rewarded Video failed to load"); 
      } 

      @Override 
      public void onRevMobAdDismissed() { 
       Log.i("RevMob", "Video dismissed."); 
      } 

      @Override 
      public void onRevMobRewardedVideoNotCompletelyLoaded() { 
       Log.i("RevMob", "RevMob Rewarded Video not completely loaded."); 
       //You tried to show it but it's not loaded yet 
      } 

      @Override 
      public void onRevMobRewardedVideoStarted() { 
       rewardedVideoIsLoaded = false; 
      } 
      @Override 
      public void onRevMobRewardedVideoCompleted() { 
       Log.i("RevMob", "Rewarded Video completed. You earned a coin!"); 
       //User dismissed post-roll static ad 

      sharedpreferences = getSharedPreferences("MyPREFERENCES", Context.MODE_PRIVATE); 
      counter = Double.longBitsToDouble(sharedpreferences.getLong("key",Double.doubleToLongBits(0))); 
      counter = counter+adding; 
      strCounter = Double.toString(counter); 

      sharedpreferences = getSharedPreferences("MyPREFERENCES", Context.MODE_PRIVATE); 
      SharedPreferences.Editor editor = sharedpreferences.edit(); 
      editor.putLong("key", Double.doubleToRawLongBits(counter)); 
      editor.commit(); 


       loadRewardedVideo(); 
      } 
      @Override 
      public void onRevMobAdClicked() { 
       Log.i("RevMob", "Rewarded Video clicked. You earned a coin!"); 
       //User clicked on post-roll static ad 
      } 

      @Override 
      public void onRevMobRewardedVideoFinished() { 
       Log.i("RevMob", "RevMob Rewarded Video finished playing."); 
       //The video itself reached its end 
       loadRewardedVideo(); 
      } 

      @Override 
      public void onRevMobRewardedPreRollDisplayed() { 
       Log.i("RevMob", "RevMob Rewarded Video Pre-Roll displayed"); 
      } 
     }); 
    } 

public boolean showRewardedVideo(){ 
    if(rewardedVideoIsLoaded) rewardedVideo.showRewardedVideo(); 
    return rewardedVideoIsLoaded; 
} 

在听者的onRevMobRewardedVideoCompleted()方法提高你的价值。