2017-02-14 6 views
0

Я хочу увеличить время просмотра видеообъявления. Я вызываю функцию startRevMobSession() при нажатии кнопки, но она увеличивается и при отсутствии видео. Кто-нибудь скажет мне ее правильную реализацию. Я использую Android Studioприращение при завершении просмотра видеообъявлений

Двойной счетчик = 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. Награды Видео

Первый тип является нормальным видео, используется всякий раз, когда вы хотите показать видео, например. когда вы переносите экран из одного в другой. Когда я проверю ваше требование, я рекомендую вам использовать Reward Video. Если вы все еще хотите придерживаться видеообъекта без проблем. Вызовите 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() методе слушателя увеличить значение.

Смежные вопросы