瀏覽代碼

[컨텐츠][New] 앱리뷰 표시 조건 변경: 6회이상 앱 실행(스플래시) + 회원 + 마지막 페이지(함께 본 컨텐츠)
- 10일 이내 조건도 추가 필요

hyodong.min 7 年之前
父節點
當前提交
eb1fa323bb

+ 19 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/activity/MainActivity.java

@@ -4,7 +4,9 @@
 package kr.co.zumo.app.lifeplus.activity;
 
 import android.content.Intent;
+import android.util.Log;
 
+import kr.co.zumo.app.lifeplus.model.LifeplusPreferences;
 import kr.co.zumo.app.lifeplus.model.SuperModel;
 import kr.co.zumo.app.lifeplus.supervisor.ScreenID;
 
@@ -34,11 +36,28 @@ public class MainActivity extends ActivityBaseScreen {
         }
       }
     }
+    if (screenId == ScreenID.MAIN && SuperModel.getInstance().isReviewCounted() == false) {
+      countForReview();
+    }
 
     // 첫 화면 표시
     launchScreen(screenId);
   }
 
+  protected void countForReview() {
+    SuperModel.getInstance().setReviewCounted();
+    /**
+     * 회원 + 10일 이내 6회 이상 진입 + 함께 본 컨텐츠 페이지 일 경우 1회만 노출
+     */
+    int count = SuperModel.getInstance().getPreferences().getCountForReview();
+    if (SuperModel.getInstance().isActiveMember() && count < LifeplusPreferences.REVIEW_COMPLETED) {
+      ++count;
+      Log.i("APP# MainActivity | countForReview", "|" + "remove count ++ " + count);
+
+      SuperModel.getInstance().getPreferences().setCountForReview(count);
+    }
+  }
+
   @Override
   protected void onAfterNewIntent(Intent intent) {
   }

+ 14 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/model/SuperModel.java

@@ -54,6 +54,7 @@ public final class SuperModel implements IMemberStatus {
   private int screenHeight;
   private boolean hasContentsLink;
   private boolean isUnlocked;
+  private boolean isReviewCounted;
 
   private int memberStatus = 0;
   private LifeplusPreferences preferences;
@@ -330,6 +331,19 @@ public final class SuperModel implements IMemberStatus {
     isUnlocked = unlocked;
   }
 
+
+  /**
+   * 앱 처음 실행 후 리뷰를 위한 카운트를 했는지 확인
+   *
+   * @return
+   */
+  public boolean isReviewCounted() {
+    return isReviewCounted;
+  }
+
+  public void setReviewCounted() {
+    isReviewCounted = true;
+  }
   /***********************************
    * IMemberStatus
    ***********************************/

+ 4 - 5
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/contents/ContentsBaseModel.java

@@ -16,6 +16,7 @@ import kr.co.zumo.app.lifeplus.bean.api.ContentsFlagRequestBean;
 import kr.co.zumo.app.lifeplus.bean.api.LifeplusAPIBean;
 import kr.co.zumo.app.lifeplus.bean.api.LifeplusContentsBean;
 import kr.co.zumo.app.lifeplus.bean.api.LifeplusData;
+import kr.co.zumo.app.lifeplus.model.LifeplusPreferences;
 import kr.co.zumo.app.lifeplus.model.Model;
 import kr.co.zumo.app.lifeplus.model.SuperModel;
 import kr.co.zumo.app.lifeplus.model.module.APIError;
@@ -130,12 +131,10 @@ public abstract class ContentsBaseModel extends Model {
   }
 
   /**
-   * 리뷰 다이얼로그를 표시하기 위한 카운트
-   *
-   * @param count
+   * 리뷰 했음 표시
    */
-  public void setCountForReview(int count) {
-    SuperModel.getInstance().getPreferences().setCountForReview(count);
+  public void setReviewCompleted() {
+    SuperModel.getInstance().getPreferences().setCountForReview(LifeplusPreferences.REVIEW_COMPLETED);
   }
 
   /**

+ 1 - 0
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/contents/ContentsModel.java

@@ -14,6 +14,7 @@ import kr.co.zumo.app.lifeplus.bean.api.LifeplusAPIBean;
 import kr.co.zumo.app.lifeplus.bean.api.LifeplusData;
 import kr.co.zumo.app.lifeplus.bean.api.SeriesItemBean;
 import kr.co.zumo.app.lifeplus.bean.api.StringRequestBean;
+import kr.co.zumo.app.lifeplus.model.LifeplusPreferences;
 import kr.co.zumo.app.lifeplus.model.module.APIContentsDetailModule;
 import kr.co.zumo.app.lifeplus.model.module.APIError;
 import kr.co.zumo.app.lifeplus.model.module.APIModuleSimpleListener;

+ 4 - 14
app/src/main/java/kr/co/zumo/app/lifeplus/view/screen/contents/ContentsPresenter.java

@@ -223,17 +223,6 @@ public class ContentsPresenter extends ContentsBasePresenter<ContentsModel, ICon
     // -> 공유/북마크(페이지 단위)로 진입
     view.setVisibleDotDotDot(false);
 
-    /**
-     * 5회 이상 진입 + 마지막 페이지 일 경우.
-     */
-    int count = model.getCountForReview();
-    if (count < LifeplusPreferences.REVIEW_COMPLETED) {
-      ++count;
-
-      // fixme 12/5 오픈에서는 제외
-      model.setCountForReview(count);
-    }
-
   }
 
   @Override
@@ -418,13 +407,14 @@ public class ContentsPresenter extends ContentsBasePresenter<ContentsModel, ICon
     }
 
     /**
-     *  5회 이상 && 마지막 페이지
+     *  회원일 경우, 10일 이내 6회 이상 && 함께 본 컨텐츠 페이지
+     *  // fixme 조건 변경 필요: 마지막 페이지 => 한께 본 컨텐츠 페이지
      */
     int reviewCount = model.getCountForReview();
-    if (reviewCount >= 5 && reviewCount != LifeplusPreferences.REVIEW_COMPLETED && model.isLastPage()) {
+    if (reviewCount >= 6 && reviewCount != LifeplusPreferences.REVIEW_COMPLETED && model.isLastPage()) {
 
       // 리뷰 한 것으로 표시
-      model.setCountForReview(LifeplusPreferences.REVIEW_COMPLETED);
+      model.setReviewCompleted();
 
       reviewDialog = new DialogBuilder<AppReviewDialog, ICustomDialogListener>(getFragmentManager(), DialogID.APP_REVIEW)
         .listener(new ICustomDialogListener<AppReviewDialog>() {