2017-02-14 13 views
0

ビデオ広告の視聴が終了すると増分したい。ボタンをクリックするとstartRevMobSession()機能が呼び出されますが、ビデオが利用できない場合は増えます。 Androidスタジオを使用していますビデオ広告の視聴を終了すると増分

ダブルカウンター= 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(); 
    } 

第2のタイプは、お客様の要件です。最初に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()方法では、あなたの価値を高めます。

関連する問題