Selaa lähdekoodia

[增加]游可盈广告增加日志文件

zeki 4 vuotta sitten
vanhempi
commit
fa61457999

+ 19 - 6
app/src/main/java/com/sheep/gamegroup/util/FileUtil.java

@@ -5,12 +5,7 @@ import android.text.TextUtils;
 
 import com.sheep.jiuyan.samllsheep.BuildConfig;
 
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStreamReader;
+import java.io.*;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -138,6 +133,23 @@ public class FileUtil {
     }
 
     /**
+     * 追加文件:使用FileOutputStream
+     *
+     * @param filePath
+     * @param content
+     */
+    public static void addContentToFile(String filePath, String content) {
+        try {
+            // 打开一个写文件器,构造函数中的第二个参数true表示以追加形式写文件
+            FileOutputStream fos = new FileOutputStream(filePath, true);
+            fos.write(content.getBytes());
+            fos.close();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
+    /**
      * 保存文件:使用FileWriter
      *
      * @param filePath
@@ -163,6 +175,7 @@ public class FileUtil {
 
     /**
      * 获取最后一个split字符后的所有字符串
+     *
      * @param filename
      * @param split
      * @return

+ 167 - 85
app/src/main/java/com/sheep/gamegroup/view/activity/DataGoAct.java

@@ -1,7 +1,12 @@
 package com.sheep.gamegroup.view.activity;
 
+import android.Manifest;
+import android.content.pm.PackageManager;
 import android.os.Bundle;
+import android.os.Environment;
 import android.support.annotation.Nullable;
+import android.support.v4.app.ActivityCompat;
+import android.support.v4.content.ContextCompat;
 import android.view.View;
 import android.widget.FrameLayout;
 import android.widget.TextView;
@@ -11,6 +16,7 @@ import com.jasmine.cantaloupe.ui.widget.AdFrameLayout;
 import com.lygame.wrapper.ad.LySplashAdBuilder;
 import com.lygame.wrapper.interfaces.*;
 import com.lygame.wrapper.sdk.LySdk;
+import com.sheep.gamegroup.util.FileUtil;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.G;
@@ -19,6 +25,12 @@ import com.tencent.klevin.base.callback.KleinResponseCallback;
 import com.tencent.klevin.base.view.BaseActivity;
 import com.tencent.klevin.util.AdUtils;
 
+import java.io.File;
+import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
 import java.util.concurrent.atomic.AtomicReference;
 
 import static com.tencent.klevin.base.okhttp.ErrorCode.*;
@@ -34,10 +46,14 @@ public class DataGoAct extends BaseActivity {
     AdFrameLayout flSplashYT;
     TextView yt_splash_skip_view;
 
+    String dataFileName;
+    String sdCardFileName;
+
     @Override
     public void onCreate(@Nullable @org.jetbrains.annotations.Nullable Bundle bundle) {
         super.onCreate(bundle);
         setContentView(R.layout.act_data_go);
+        requestPermissions();
         zk_root = findViewById(R.id.zk_root);
         flSplashYT = findViewById(R.id.fv_splash_yt);
         yt_splash_skip_view = findViewById(R.id.splash_skip_view);
@@ -56,10 +72,61 @@ public class DataGoAct extends BaseActivity {
         findViewById(R.id.btn_zk_courage).setOnClickListener(v -> {
             showZKCourage();
         });
+
+        dataFileName = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "backUPFiles" + File.separator + "YKYSuccessLog" + ".txt";
+        sdCardFileName = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "backUPFiles" + File.separator + "YKYEventLog" + ".txt";
+        File dataFile = new File(dataFileName);
+        File sdcardFile = new File(sdCardFileName);
+        try {
+            if (!dataFile.exists()) {
+                dataFile.createNewFile();
+            }
+            if (!sdcardFile.exists()) {
+                sdcardFile.createNewFile();
+            }
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+
+        //标记开启
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        String dateStr = simpleDateFormat.format(new Date());
+        FileUtil.addContentToFile(dataFileName, "\n\n\n" + dateStr + "\n");
+        FileUtil.addContentToFile(sdCardFileName, "\n\n\n" + dateStr + "\n");
+
+    }
+
+    //请求权限
+    public boolean requestPermissions() {
+        List<String> permissions = new ArrayList<>();
+        boolean result = true;
+        if (ContextCompat.checkSelfPermission(
+                this,
+                Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
+            permissions.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
+            permissions.add(Manifest.permission.READ_EXTERNAL_STORAGE);
+            result = false;
+        }
+        if (permissions.size() > 0) {
+            String[] permissionArrays = new String[permissions.size()];
+            permissionArrays = permissions.toArray(permissionArrays);
+            ActivityCompat.requestPermissions(this, permissionArrays, 1111);
+        }
+        return result;
     }
 
+    int splashTotalCount = 0;
+    int splashSuccessCount = 0;
+
+    int videoTotalCount = 0;
+    int videoSuccessCount = 0;
+
     //展示游可盈广告
     private void launchYKYSplash() {
+
+        splashTotalCount++;
+        FileUtil.addContentToFile(dataFileName, "YKY  splash total:" + splashTotalCount + "\n");
+
         String data = "{\"placements\":[{\"pos_id\":" + 30112 + ",\"ad_count\":1}]}";
         //"{\"placements\":[{\"pos_id\":" + posId + ",\"ad_count\":1}]}";
         KleinManager.getInstance().prepareAD(
@@ -70,20 +137,24 @@ public class DataGoAct extends BaseActivity {
                 new KleinResponseCallback() {
                     @Override
                     public void onSuccess(int i) {
-                        G.showToast("游可盈-onSuccess" + i);
+                        G.showToast("游可盈-onSuccess" + i + "\n");
                     }
 
                     @Override
                     public void onFail(int i) {
+                        FileUtil.addContentToFile(sdCardFileName, "YKY splash onFail:" + i + "\n");
                         //拉取广告错误或超时,直接跳过
                         G.showToast("游可盈-onFail" + i);
                     }
 
                     @Override
                     public void onEvent(int i) {
+                        FileUtil.addContentToFile(sdCardFileName, "YKY splash onEvent:" + i + "\n");
                         switch (i) {
                             case KLSplashAdEvent_AdShowSucc:
                                 G.showToast("游可盈-广告展示成功");
+                                splashSuccessCount++;
+                                FileUtil.addContentToFile(dataFileName, "开屏成功数:" + splashSuccessCount + "\n");
                                 break;
                             case KLSplashAdEvent_AdTap:
                                 G.showToast("游可盈-点击广告");
@@ -99,6 +170,94 @@ public class DataGoAct extends BaseActivity {
         );
     }
 
+    //展示游可盈video 
+    private void showYKYCourage() {
+        preAd(true);
+    }
+
+    //预加载video 
+    private void preAd(boolean shouldShow) {
+
+        videoTotalCount++;
+        FileUtil.addContentToFile(dataFileName, "YKY video total:" + videoTotalCount + "\n");
+
+        int posId = 30113;
+        int duration = 0;
+        //String data = "{\"placements\":[{\"pos_id\":" + posId + ",\"ad_count\":" + releaseTask.getTask().getVideo_num() + "}],\"ad_reward_trigger\":1, \"ad_reward_duration\":" + duration + ", \"ad_reward_automute\":1}";
+        String data = "{\"placements\":[{\"pos_id\":" + posId + ",\"ad_count\":1}],\"ad_reward_trigger\":1, \"ad_reward_duration\":" + duration + ", \"ad_reward_automute\":1}";
+
+        KleinManager.getInstance().loadEncourageAD(SheepApp.getInstance().getApplicationContext(), data, new KleinResponseCallback() {
+
+            @Override
+            public void onSuccess(int i) {
+                handleSuccess(i, shouldShow);
+            }
+
+            @Override
+            public void onFail(int i) {
+                G.showToast("游可盈video 加载onFail" + i);
+            }
+
+            @Override
+            public void onEvent(int i) {
+                G.showToast("游可盈video 加载onEvent" + i);
+                handleEvent(i);
+            }
+        });
+    }
+
+    //播放video 
+    private void showAd() {
+        KleinManager.getInstance().showAD(DataGoAct.this, AdUtils.TYPE_AD_REWARD,
+                new KleinResponseCallback() {
+
+                    @Override
+                    public void onSuccess(int i) {
+
+                        handleSuccess(i, false);
+                    }
+
+                    @Override
+                    public void onFail(int i) {
+                        FileUtil.addContentToFile(sdCardFileName, "YKY video onFail:" + i + "\n");
+                        G.showToast("游可盈video onFail" + i);
+                    }
+
+                    @Override
+                    public void onEvent(int i) {
+                        FileUtil.addContentToFile(sdCardFileName, "YKY video onEvent:" + i + "\n");
+                        if (i == KLSplashAdEvent_AdShowSucc) {
+                            videoSuccessCount++;
+                            FileUtil.addContentToFile(dataFileName, "YKY video success count:" + videoSuccessCount + "\n");
+                        }
+                        handleEvent(i);
+                    }
+                });
+    }
+
+    private void handleSuccess(int i, boolean shouldShow) {
+        if (i == KLSplashAdEvent_CreativeDownloadSuccess) {
+            if (shouldShow) showAd();
+        }
+    }
+
+    private void handleEvent(int i) {
+        switch (i) {
+            case KLSplashAdEvent_MeetTheRewardConditions:
+                //满足领奖条件,去领奖
+                G.showToast("游可盈video 触发奖励(未真正获取)");
+                break;
+            case KLSplashAdEvent_AdPlayCompletion:
+                //一个视频播放结束
+                G.showToast("游可盈video 播放结束");
+                break;
+            case KLSplashAdEvent_AdSkip:
+                //用户点击关闭了界面
+                G.showToast("游可盈video 关闭");
+                break;
+        }
+    }
+
     //展示优投开屏广告(新增boolean state:false----定值) 重要 mForceGoMain跳转主页 请参照此方法调用,否则可能导致广告展示链路断开 导致收益下降!!!
     private void launchYTSplash() {
         if (flSplashYT != null)
@@ -198,93 +357,16 @@ public class DataGoAct extends BaseActivity {
         });
     }
 
-    //展示游可盈激励视频
-    private void showYKYCourage() {
-        preAd(true);
-    }
-
-    //预加载激励视频
-    private void preAd(boolean shouldShow) {
-        int posId = 30113;
-        int duration = 0;
-        //String data = "{\"placements\":[{\"pos_id\":" + posId + ",\"ad_count\":" + releaseTask.getTask().getVideo_num() + "}],\"ad_reward_trigger\":1, \"ad_reward_duration\":" + duration + ", \"ad_reward_automute\":1}";
-        String data = "{\"placements\":[{\"pos_id\":" + posId + ",\"ad_count\":1}],\"ad_reward_trigger\":1, \"ad_reward_duration\":" + duration + ", \"ad_reward_automute\":1}";
-
-        KleinManager.getInstance().loadEncourageAD(SheepApp.getInstance().getApplicationContext(), data, new KleinResponseCallback() {
-
-            @Override
-            public void onSuccess(int i) {
-                handleSuccess(i, shouldShow);
-            }
-
-            @Override
-            public void onFail(int i) {
-                G.showToast("游可盈激励视频加载onFail" + i);
-            }
-
-            @Override
-            public void onEvent(int i) {
-                handleEvent(i);
-            }
-        });
-    }
-
-    //播放激励视频
-    private void showAd() {
-        KleinManager.getInstance().showAD(DataGoAct.this, AdUtils.TYPE_AD_REWARD,
-                new KleinResponseCallback() {
-
-                    @Override
-                    public void onSuccess(int i) {
-                        handleSuccess(i, false);
-                    }
-
-                    @Override
-                    public void onFail(int i) {
-                        G.showToast("游可盈激励视频onFail" + i);
-                    }
-
-                    @Override
-                    public void onEvent(int i) {
-                        handleEvent(i);
-                    }
-                });
-    }
-
-    private void handleSuccess(int i, boolean shouldShow) {
-        if (i == KLSplashAdEvent_CreativeDownloadSuccess) {
-            if (shouldShow) showAd();
-        }
-    }
-
-    private void handleEvent(int i) {
-        switch (i) {
-            case KLSplashAdEvent_MeetTheRewardConditions:
-                //满足领奖条件,去领奖
-                G.showToast("游可盈激励视频触发奖励(未真正获取)");
-                break;
-            case KLSplashAdEvent_AdPlayCompletion:
-                //一个视频播放结束
-                G.showToast("游可盈激励视频播放结束");
-                break;
-            case KLSplashAdEvent_AdSkip:
-                //用户点击关闭了界面
-                G.showToast("游可盈激励视频关闭");
-                break;
-        }
-    }
-
-
     private AtomicReference<IRewardVideoController> videoControllerRef = new AtomicReference<>();
 
-    //展示掌酷激励视频
+    //展示掌酷video 
     private void showZKCourage() {
         int adId = 52917;
 
         LySdk.loadRewardVideo(DataGoAct.this, String.valueOf(adId), new IRewardVideoLoadCallback() {
             @Override
             public void onFailed(int i, String s) {
-                G.showToast("掌酷激励视频onFailed" + i + "  " + s);
+                G.showToast("掌酷video onFailed" + i + "  " + s);
             }
 
             @Override
@@ -295,27 +377,27 @@ public class DataGoAct extends BaseActivity {
                     controller.show(new IRewardVideoPlayCallback() {
                         @Override
                         public void onAdShow() {
-                            G.showToast("掌酷激励视频展示成功");
+                            G.showToast("掌酷video 展示成功");
                         }
 
                         @Override
                         public void onInterTriggered() {
-                            G.showToast("掌酷激励视频点击");
+                            G.showToast("掌酷video 点击");
                         }
 
                         @Override
                         public void onAdClose() {
-                            G.showToast("掌酷激励视频关闭");
+                            G.showToast("掌酷video 关闭");
                         }
 
                         @Override
                         public void onVideoComplete() {
-                            G.showToast("掌酷激励视频播放完成");
+                            G.showToast("掌酷video 播放完成");
                         }
 
                         @Override
                         public void onRewarded() {
-                            G.showToast("掌酷激励视频触发奖励(未真正获取)");
+                            G.showToast("掌酷video 触发奖励(未真正获取)");
                         }
                     });
                 } else {

+ 9 - 0
app/src/main/res/layout/act_data_go.xml

@@ -82,6 +82,15 @@
             android:layout_height="match_parent"
             android:orientation="vertical"/>
 
+    <TextView
+            android:text="数据优化 1.0 带日志文件"
+            android:textSize="16dp"
+            android:textColor="@color/white"
+            android:layout_margin="64dp"
+            android:gravity="center"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"/>
+
     <LinearLayout
             xmlns:android="http://schemas.android.com/apk/res/android"
             android:layout_width="match_parent"