Bladeren bron

banner与开屏广告支持跳转发现与看点;
修复用户反馈中显示与提示的错误

zengjiebin 7 jaren geleden
bovenliggende
commit
5514e247d2

+ 5 - 0
app/src/main/java/com/sheep/gamegroup/model/api/ApiService.java

@@ -914,6 +914,11 @@ public interface ApiService {
      */
     @GET("app/awaken/article")
     Observable<BaseMessage> awakenApparticle(@Query("page") int page, @Query("per_page") int per_page);
+    /**
+     * 唤醒业务APP
+     */
+    @GET("app/awaken/article/{id}")
+    Observable<BaseMessage> awakenAppArticle(@Path("id") int id);
 
     /**
      * 唤醒业务打开app内容成功后回调

+ 13 - 20
app/src/main/java/com/sheep/gamegroup/util/CommonUtil.java

@@ -522,20 +522,6 @@ public class CommonUtil {
             case JUMP_EXCHANGE_CMCC://移动积分兑换
                 Jump2View.getInstance().goActExchangeCMCC(context);
                 break;
-            case JUMP_GMAE://游戏详情
-                Jump2View.getInstance().goPlayGameDetail((Activity) context, 0);//TODO 这里差游戏id
-                break;
-            case JUMP_FIND_RECOMMEND://发现--推荐
-            case JUMP_FIND_ACT://发现--活动
-            case JUMP_FIND_INFORMATION://webView资讯
-                Jump2View.getInstance().goFindInformation((Activity) context, "标题", 0);//TODO 这里差标题和资讯的id
-                break;
-            case JUMP_FIND_GMAE://发现中的游戏详情
-                Jump2View.getInstance().goFindGame((Activity) context, 0);//TODO 这里差游戏id
-                break;
-            case JUMP_WATCH_FOCUS://看点
-                Jump2View.getInstance().goWatchFocus((Activity) context, new RouserArticlesEntity());//TODO 这里差看点的id,type, packageName, deepLink, appName
-                break;
             default:
                 String url = entity.getUrl();
                 if (TextUtils.isEmpty(url))
@@ -2284,12 +2270,7 @@ public class CommonUtil {
                         .goTryplayView(activity, null);
                 break;
             case 2:
-                try {
-                    Jump2View.getInstance()
-                            .goTaskDetailView(activity, EntityUtils.getExtInfo(clickedGameObj.getExt()).getId());
-                } catch (Exception e) {
-                    e.printStackTrace();
-                }
+                Jump2View.getInstance().goTaskDetailView(activity, EntityUtils.getExtInfo(clickedGameObj.getExt()).getId());
                 break;
             case 3:
                 Jump2View.getInstance()
@@ -2344,6 +2325,18 @@ public class CommonUtil {
             case 15://小米游戏列表
                 Jump2View.getInstance().goXiaomiGameList(activity, null);
                 break;
+            case JUMP_GMAE://游戏详情
+                Jump2View.getInstance().goPlayGameDetail(activity, EntityUtils.getExtInfo(clickedGameObj.getExt()).getId());
+                break;
+            case JUMP_FIND_RECOMMEND://发现--推荐
+            case JUMP_FIND_ACT://发现--活动
+            case JUMP_FIND_INFORMATION://webView资讯
+            case JUMP_FIND_GMAE://发现中的游戏详情
+                Jump2View.getInstance().goFindItem(activity, EntityUtils.getExtInfo(clickedGameObj.getExt()).getId());
+                break;
+            case JUMP_WATCH_FOCUS://看点
+                Jump2View.getInstance().goWatchFocus(activity, EntityUtils.getExtInfo(clickedGameObj.getExt()).getId());
+                break;
             default:
                 G.showToast(R.string.coming_soon);
                 break;

+ 114 - 0
app/src/main/java/com/sheep/gamegroup/util/Jump2View.java

@@ -23,6 +23,7 @@ import com.sheep.gamegroup.model.entity.DialogConfig;
 import com.sheep.gamegroup.model.entity.DialogEntity;
 import com.sheep.gamegroup.model.entity.FindApp;
 import com.sheep.gamegroup.model.entity.FindItem;
+import com.sheep.gamegroup.model.entity.HomeListEntity;
 import com.sheep.gamegroup.model.entity.LoginEntity;
 import com.sheep.gamegroup.model.entity.NewbieTask;
 import com.sheep.gamegroup.model.entity.NewbieTaskRecord;
@@ -117,6 +118,7 @@ import com.sheep.jiuyan.samllsheep.service.ListenerShotService;
 import com.sheep.jiuyan.samllsheep.utils.G;
 import com.sheep.jiuyan.samllsheep.utils.SpUtils;
 
+import org.afinal.simplecache.ApiKey;
 import org.xutils.ex.DbException;
 
 import java.io.File;
@@ -1811,4 +1813,116 @@ public class Jump2View {
                 G.showToast(activity.getString(R.string.not_install, entity.getApp_name()));
         }
     }
+    /**
+     * 通过id尝试打开一个看点
+     *
+     * @param activity
+     */
+    public void goWatchFocus(final Activity activity, int id) {
+        SheepApp.getInstance().getNetComponent().getApiService().awakenAppArticle(id)
+                        .subscribeOn(Schedulers.io())
+                        .observeOn(AndroidSchedulers.mainThread())
+                        .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
+                            @Override
+                            public void onNext(BaseMessage baseMessage) {
+                                RouserArticlesEntity item = baseMessage.getData(RouserArticlesEntity.class);
+                                if(item == null){
+                                    G.showToast(R.string.error_data);
+                                    return;
+                                }
+                                goWatchFocus(activity, item);
+                            }
+
+                            @Override
+                            public void onError(BaseMessage baseMessage) {
+                                G.showToast(baseMessage);
+                            }
+                        });
+    }
+
+    //通过查询发现打开一个发现
+    public void goFindItem(final Activity activity, int findItemId) {
+        SheepApp.getInstance().getNetComponent().getApiService().getFindDetail(findItemId)
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        FindItem item = baseMessage.getData(FindItem.class);
+                        if(item == null){
+                            G.showToast(R.string.error_data);
+                            return;
+                        }
+                        goFindItem(activity, item);
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        G.showToast(baseMessage);
+                    }
+                });
+    }
+    //打开一个发现
+    public void goFindItem(Activity activity, FindItem item) {
+        switch (item.getType()){//类型 1:游戏 2:咨询 3:转跳 4:任务 5:栏目
+            case 1:
+                Jump2View.getInstance().goFindGame(activity, item);
+                break;
+            case 2:
+                Jump2View.getInstance().goFindInformation(activity, item);
+                break;
+            case 3:
+                openLink(activity, item);
+                break;
+            case 4:
+                Jump2View.getInstance().goTaskDetailView(activity, item.getRelease_task_id());
+                break;
+            case 5:
+                openHomeListItem(activity, item);
+                break;
+        }
+    }
+    /**
+     * 打开一个homelist项
+     * @param item
+     */
+    private void openHomeListItem(final Activity activity, FindItem item) {
+        SheepApp.getInstance().getNetComponent().getApiService().getHomeListItem(item.getHome_list_id())
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        HomeListEntity homeListEntity = baseMessage.getData(HomeListEntity.class);
+                        if(homeListEntity == null){
+                            G.showToast(R.string.error_data);
+                            return;
+                        }
+                        CommonUtil.getInstance().goWhere(activity, homeListEntity, "发现");
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        G.showToast(baseMessage);
+                    }
+                });
+    }
+    /**
+     * 打开一个链接
+     * @param item
+     */
+    private void openLink(Activity activity, FindItem item) {
+        if(TextUtils.isEmpty(item.getUrl())){
+            G.showToast(R.string.error_link);
+            return;
+        }
+        switch (item.getIs_in_url()){//是否外部链接 1:是 0:不是
+            case 1:
+                Jump2View.getInstance().goWeb(activity, item.getUrl());
+                break;
+            default:
+                Jump2View.getInstance().goWeb(activity, item.getUrl(), item.getTitle());
+                break;
+        }
+    }
 }

+ 1 - 1
app/src/main/java/com/sheep/gamegroup/view/activity/FeedbackAct.java

@@ -85,7 +85,7 @@ public class FeedbackAct extends BaseActivity {
 
                     @Override
                     public void onNext(BaseMessage baseMessage) {
-                        G.showToast(baseMessage);
+                        G.showToast("反馈成功");
                         finish();
                     }
                 });

+ 20 - 1
app/src/main/java/com/sheep/gamegroup/view/activity/SplashAct.java

@@ -23,6 +23,7 @@ import com.bumptech.glide.Glide;
 import com.sheep.gamegroup.absBase.BaseActivity;
 import com.sheep.gamegroup.model.entity.Advertising;
 import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.entity.RouserArticlesEntity;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.util.DataUtil;
 import com.sheep.gamegroup.util.GlideImageLoader;
@@ -44,6 +45,12 @@ import pub.devrel.easypermissions.EasyPermissions;
 import rx.android.schedulers.AndroidSchedulers;
 import rx.schedulers.Schedulers;
 
+import static com.sheep.gamegroup.util.CommonUtil.JUMP_FIND_ACT;
+import static com.sheep.gamegroup.util.CommonUtil.JUMP_FIND_GMAE;
+import static com.sheep.gamegroup.util.CommonUtil.JUMP_FIND_INFORMATION;
+import static com.sheep.gamegroup.util.CommonUtil.JUMP_FIND_RECOMMEND;
+import static com.sheep.gamegroup.util.CommonUtil.JUMP_GMAE;
+import static com.sheep.gamegroup.util.CommonUtil.JUMP_WATCH_FOCUS;
 import static com.sheep.gamegroup.util.UMConfigUtils.Event.AD_SPLASH;
 
 /**
@@ -393,7 +400,19 @@ public class SplashAct extends BaseActivity implements EasyPermissions.Permissio
                     Jump2View.getInstance().goSignCardAct(activity, null);
                     break;
                 case 15://小米游戏列表
-                    Jump2View.getInstance().goXiaomiGameList((Activity) activity, null);
+                    Jump2View.getInstance().goXiaomiGameList(activity, null);
+                    break;
+                case JUMP_GMAE://游戏详情
+                    Jump2View.getInstance().goPlayGameDetail(activity, advertising.getLink_id());
+                    break;
+                case JUMP_FIND_RECOMMEND://发现--推荐
+                case JUMP_FIND_ACT://发现--活动
+                case JUMP_FIND_INFORMATION://webView资讯
+                case JUMP_FIND_GMAE://发现中的游戏详情
+                    Jump2View.getInstance().goFindItem(activity, advertising.getLink_id());
+                    break;
+                case JUMP_WATCH_FOCUS://看点
+                    Jump2View.getInstance().goWatchFocus(activity, advertising.getLink_id());
                     break;
             }
         }

+ 5 - 1
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtPlayGame.java

@@ -225,7 +225,11 @@ public class FgtPlayGame extends BaseFragment {
                 .setOnBannerListener(new OnBannerListener() {
                     @Override
                     public void OnBannerClick(int i) {
-                        CommonUtil.getInstance().clickBanner(activity,i, slideshowEtyLists);
+                        try {
+                            CommonUtil.getInstance().clickBanner(activity, i, slideshowEtyLists);
+                        } catch (Exception e) {
+                            G.showToast(e.getMessage());
+                        }
                     }
                 });
 

+ 5 - 1
app/src/main/java/com/sheep/gamegroup/view/fragment/FgtSmallSheep.java

@@ -1415,7 +1415,11 @@ public class FgtSmallSheep extends BaseFragment implements SmallSheepContract.Vi
                 .setOnBannerListener(new OnBannerListener() {
                     @Override
                     public void OnBannerClick(int i) {
-                        CommonUtil.getInstance().clickBanner(activity, i, slideshowEtyLists);
+                        try {
+                            CommonUtil.getInstance().clickBanner(activity, i, slideshowEtyLists);
+                        } catch (Exception e) {
+                            G.showToast(e.getMessage());
+                        }
                     }
                 });
 

+ 1 - 1
app/src/main/res/layout/act_feedback_layout.xml

@@ -75,7 +75,7 @@
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
                         android:layout_marginStart="5dp"
-                        android:hint="@string/feedback_notice_input_email_address"
+                        android:hint="@string/feedback_notice_input_qq"
                         android:gravity="top"
                         android:text=""
                         android:lines="2"

+ 1 - 0
app/src/main/res/values/strings.xml

@@ -25,6 +25,7 @@
     <string name="feedback_notice_hellow">致亲爱的您:\n\u3000\u3000我们会重视您提出的每一个建议。您的批评与建议是我们前进的动力,感谢您对小绵羊的支持!</string>
     <string name="feedback_notice_end">小绵羊项目组全体人员</string>
     <string name="feedback_notice_input_advice">请输入您的建议&#8230;</string>
+    <string name="feedback_notice_input_qq">请输入您的QQ号码</string>
     <string name="feedback_notice_input_email_address">请输入您的邮箱地址</string>
     <string name="contact_qq">联系QQ\t</string>
     <string name="contact_email">联系邮箱</string>