2017-02-14 35 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()方法提高你的價值。