Commit e075b9b3 authored by mengcuiguang's avatar mengcuiguang

每日小短剧

parent c2e06615
...@@ -12,8 +12,8 @@ android { ...@@ -12,8 +12,8 @@ android {
applicationId "com.mints.helivideo" applicationId "com.mints.helivideo"
minSdkVersion rootProject.ext.androidMinSdkVersion minSdkVersion rootProject.ext.androidMinSdkVersion
targetSdkVersion rootProject.ext.androidTargetSdkVersion targetSdkVersion rootProject.ext.androidTargetSdkVersion
versionCode 15 versionCode 1
versionName "1.1.4" versionName "1.0.0"
flavorDimensions "default" flavorDimensions "default"
// dex突破65535的限制 // dex突破65535的限制
...@@ -69,6 +69,7 @@ android { ...@@ -69,6 +69,7 @@ android {
buildConfigField "String", "GROMORE_MY_EXPRESS_CODE", GROMORE_MY_EXPRESS_CODE buildConfigField "String", "GROMORE_MY_EXPRESS_CODE", GROMORE_MY_EXPRESS_CODE
buildConfigField "String", "GROMORE_BANNER_CODE", GROMORE_BANNER_CODE buildConfigField "String", "GROMORE_BANNER_CODE", GROMORE_BANNER_CODE
buildConfigField "String", "GROMORE_FULL_CODE", GROMORE_FULL_CODE buildConfigField "String", "GROMORE_FULL_CODE", GROMORE_FULL_CODE
buildConfigField "String", "GROMORE_HALF_CODE", GROMORE_HALF_CODE
buildConfigField "String", "RELEASE_TALKING_DATA_KEY", RELEASE_TALKING_DATA_KEY buildConfigField "String", "RELEASE_TALKING_DATA_KEY", RELEASE_TALKING_DATA_KEY
buildConfigField "String", "WEIXIN_APP_PAY_ID", WEIXIN_APP_PAY_ID buildConfigField "String", "WEIXIN_APP_PAY_ID", WEIXIN_APP_PAY_ID
buildConfigField "String", "SM_APP_ID", SM_APP_ID buildConfigField "String", "SM_APP_ID", SM_APP_ID
...@@ -95,6 +96,7 @@ android { ...@@ -95,6 +96,7 @@ android {
buildConfigField "String", "GROMORE_MY_EXPRESS_CODE", GROMORE_MY_EXPRESS_CODE buildConfigField "String", "GROMORE_MY_EXPRESS_CODE", GROMORE_MY_EXPRESS_CODE
buildConfigField "String", "GROMORE_BANNER_CODE", GROMORE_BANNER_CODE buildConfigField "String", "GROMORE_BANNER_CODE", GROMORE_BANNER_CODE
buildConfigField "String", "GROMORE_FULL_CODE", GROMORE_FULL_CODE buildConfigField "String", "GROMORE_FULL_CODE", GROMORE_FULL_CODE
buildConfigField "String", "GROMORE_HALF_CODE", GROMORE_HALF_CODE
buildConfigField "String", "RELEASE_TALKING_DATA_KEY", RELEASE_TALKING_DATA_KEY buildConfigField "String", "RELEASE_TALKING_DATA_KEY", RELEASE_TALKING_DATA_KEY
buildConfigField "String", "WEIXIN_APP_PAY_ID", WEIXIN_APP_PAY_ID buildConfigField "String", "WEIXIN_APP_PAY_ID", WEIXIN_APP_PAY_ID
buildConfigField "String", "SM_APP_ID", SM_APP_ID buildConfigField "String", "SM_APP_ID", SM_APP_ID
......
...@@ -11,6 +11,7 @@ import com.bytedance.sdk.openadsdk.mediation.ad.MediationAdSlot; ...@@ -11,6 +11,7 @@ import com.bytedance.sdk.openadsdk.mediation.ad.MediationAdSlot;
import com.mints.helivideo.BuildConfig; import com.mints.helivideo.BuildConfig;
import com.mints.helivideo.ad.AdManager; import com.mints.helivideo.ad.AdManager;
import com.mints.helivideo.ad.AdStatusListener; import com.mints.helivideo.ad.AdStatusListener;
import com.mints.helivideo.common.AppConfig;
import com.mints.helivideo.common.Constant; import com.mints.helivideo.common.Constant;
import com.mints.helivideo.manager.TrackManager; import com.mints.helivideo.manager.TrackManager;
import com.mints.helivideo.utils.AppPreferencesManager; import com.mints.helivideo.utils.AppPreferencesManager;
...@@ -213,17 +214,11 @@ public class FullScreenManager { ...@@ -213,17 +214,11 @@ public class FullScreenManager {
public void onAdClose() { public void onAdClose() {
LogUtil.d(TAG, "gromore预加载 插全屏广告-->onAdClose"); LogUtil.d(TAG, "gromore预加载 插全屏广告-->onAdClose");
int adCount = AppPreferencesManager.INSTANCE.get().getInt(Constant.VEDIO_AD_COUNT, 0);
if (adCount < 50) {
AppPreferencesManager.INSTANCE.get().put(Constant.VEDIO_AD_COUNT, adCount + 1);
}
HashMap<String, Object> vo = new HashMap<>(); HashMap<String, Object> vo = new HashMap<>();
vo.put("adcode", nowAdcode);
vo.put("ecpm", nowEcpm);
vo.put("adSource", nowAdSource);
vo.put("carrierType", carrierType); vo.put("carrierType", carrierType);
vo.put("adid", BuildConfig.GROMORE_VIDEO_CODE); vo.put("ecpmId", AppConfig.gromoreId);
TrackManager.getInstance().reportAddCoinMsg(vo);
if (adStatusListener != null) { if (adStatusListener != null) {
adStatusListener.adClose(vo); adStatusListener.adClose(vo);
} }
......
...@@ -11,6 +11,7 @@ import com.bytedance.sdk.openadsdk.mediation.ad.MediationAdSlot; ...@@ -11,6 +11,7 @@ import com.bytedance.sdk.openadsdk.mediation.ad.MediationAdSlot;
import com.mints.helivideo.BuildConfig; import com.mints.helivideo.BuildConfig;
import com.mints.helivideo.ad.AdManager; import com.mints.helivideo.ad.AdManager;
import com.mints.helivideo.ad.AdStatusListener; import com.mints.helivideo.ad.AdStatusListener;
import com.mints.helivideo.common.AppConfig;
import com.mints.helivideo.common.Constant; import com.mints.helivideo.common.Constant;
import com.mints.helivideo.manager.TrackManager; import com.mints.helivideo.manager.TrackManager;
import com.mints.helivideo.utils.AppPreferencesManager; import com.mints.helivideo.utils.AppPreferencesManager;
...@@ -151,17 +152,11 @@ public class NoPreFullScreenManager { ...@@ -151,17 +152,11 @@ public class NoPreFullScreenManager {
public void onAdClose() { public void onAdClose() {
LogUtil.d(TAG, "gromore实时加载 插全屏广告-->onAdClose nowAdcode=" + nowAdcode); LogUtil.d(TAG, "gromore实时加载 插全屏广告-->onAdClose nowAdcode=" + nowAdcode);
int adCount = AppPreferencesManager.INSTANCE.get().getInt(Constant.VEDIO_AD_COUNT, 0);
if (adCount < 50) {
AppPreferencesManager.INSTANCE.get().put(Constant.VEDIO_AD_COUNT, adCount + 1);
}
HashMap<String, Object> vo = new HashMap<>(); HashMap<String, Object> vo = new HashMap<>();
vo.put("adcode", nowAdcode);
vo.put("ecpm", nowEcpm);
vo.put("adSource", nowAdSource);
vo.put("carrierType", carrierType); vo.put("carrierType", carrierType);
vo.put("adid", BuildConfig.GROMORE_VIDEO_CODE); vo.put("ecpmId", AppConfig.gromoreId);
TrackManager.getInstance().reportAddCoinMsg(vo);
if (adStatusListener != null) { if (adStatusListener != null) {
adStatusListener.adClose(vo); adStatusListener.adClose(vo);
} }
......
...@@ -13,7 +13,6 @@ import com.mints.helivideo.ad.AdManager; ...@@ -13,7 +13,6 @@ import com.mints.helivideo.ad.AdManager;
import com.mints.helivideo.ad.AdStatusListener; import com.mints.helivideo.ad.AdStatusListener;
import com.mints.helivideo.common.Constant; import com.mints.helivideo.common.Constant;
import com.mints.helivideo.manager.TrackManager; import com.mints.helivideo.manager.TrackManager;
import com.mints.helivideo.utils.AppPreferencesManager;
import com.mints.helivideo.utils.LogUtil; import com.mints.helivideo.utils.LogUtil;
import com.mints.helivideo.utils.TimeRender; import com.mints.helivideo.utils.TimeRender;
...@@ -120,7 +119,7 @@ public class HalfScreenManager { ...@@ -120,7 +119,7 @@ public class HalfScreenManager {
private void LoadAd(Activity activity) { private void LoadAd(Activity activity) {
TTAdNative adNativeLoader = TTAdSdk.getAdManager().createAdNative(activity); TTAdNative adNativeLoader = TTAdSdk.getAdManager().createAdNative(activity);
AdSlot adSlot = new AdSlot.Builder() AdSlot adSlot = new AdSlot.Builder()
.setCodeId(BuildConfig.GROMORE_FULL_CODE) .setCodeId(BuildConfig.GROMORE_HALF_CODE)
.setOrientation(TTAdConstant.ORIENTATION_VERTICAL) .setOrientation(TTAdConstant.ORIENTATION_VERTICAL)
.setMediationAdSlot( .setMediationAdSlot(
new MediationAdSlot.Builder() new MediationAdSlot.Builder()
...@@ -174,7 +173,7 @@ public class HalfScreenManager { ...@@ -174,7 +173,7 @@ public class HalfScreenManager {
vo.put("adcode", mTtFullScreenVideoAd.getMediationManager().getShowEcpm().getSlotId()); vo.put("adcode", mTtFullScreenVideoAd.getMediationManager().getShowEcpm().getSlotId());
vo.put("ecpm", mTtFullScreenVideoAd.getMediationManager().getShowEcpm().getEcpm()); vo.put("ecpm", mTtFullScreenVideoAd.getMediationManager().getShowEcpm().getEcpm());
vo.put("adSource", mTtFullScreenVideoAd.getMediationManager().getShowEcpm().getSdkName()); vo.put("adSource", mTtFullScreenVideoAd.getMediationManager().getShowEcpm().getSdkName());
vo.put("adid", BuildConfig.GROMORE_FULL_CODE); vo.put("adid", BuildConfig.GROMORE_HALF_CODE);
vo.put("adType", Constant.GRO_MORE_ADTYPE3); vo.put("adType", Constant.GRO_MORE_ADTYPE3);
TrackManager.getInstance().reporGromeEcpm(vo); TrackManager.getInstance().reporGromeEcpm(vo);
} }
......
...@@ -18,7 +18,7 @@ object Constant { ...@@ -18,7 +18,7 @@ object Constant {
const val IS_FIRST_VIP_BTN = "is_first_agree_btn" const val IS_FIRST_VIP_BTN = "is_first_agree_btn"
const val IS_FIRST_VEDIO = "is_first_vedio" const val IS_FIRST_VEDIO = "is_first_vedio"
const val TAG_NAME = "SUN" const val TAG_NAME = "SUN"
const val MINTS_APP_NAME = "河狸短视频" const val MINTS_APP_NAME = "每日小短剧"
const val MINTS_PKG_NAME = "com.mints.helivideo" const val MINTS_PKG_NAME = "com.mints.helivideo"
const val ACTION_EXIT_APP = "package.exit" const val ACTION_EXIT_APP = "package.exit"
const val LUCKY_FLAG = "LUCKY_FLAG" const val LUCKY_FLAG = "LUCKY_FLAG"
......
package com.mints.helivideo.mvp.presenters; package com.mints.helivideo.mvp.presenters;
import android.content.Context; import android.content.Context;
import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import com.google.gson.JsonObject; import com.google.gson.JsonObject;
import com.mints.helivideo.MintsApplication; import com.mints.helivideo.MintsApplication;
import com.mints.helivideo.common.AppConfig; import com.mints.helivideo.common.AppConfig;
import com.mints.helivideo.common.Constant;
import com.mints.helivideo.common.DeviceInfo; import com.mints.helivideo.common.DeviceInfo;
import com.mints.helivideo.manager.AppHttpManager; import com.mints.helivideo.manager.AppHttpManager;
import com.mints.helivideo.manager.ShumeiManager; import com.mints.helivideo.manager.ShumeiManager;
...@@ -253,9 +255,12 @@ public class TrackPresenter extends BaseTrackPresenter { ...@@ -253,9 +255,12 @@ public class TrackPresenter extends BaseTrackPresenter {
if (baseResponse.getStatus() == 200) { if (baseResponse.getStatus() == 200) {
JsonObject data = baseResponse.getData(); JsonObject data = baseResponse.getData();
if (data != null) { if (data != null) {
String adType = vo.get("adType").toString();
if (TextUtils.equals(adType, Constant.GRO_MORE_ADTYPE2) || TextUtils.equals(adType, Constant.GRO_MORE_ADTYPE4)) {
AppConfig.gromoreId = data.get("ecpmId").getAsString(); AppConfig.gromoreId = data.get("ecpmId").getAsString();
} }
} }
}
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
......
...@@ -57,7 +57,7 @@ class SettingsActivity : BaseActivity(), View.OnClickListener { ...@@ -57,7 +57,7 @@ class SettingsActivity : BaseActivity(), View.OnClickListener {
item_back.setOnClickListener(this) item_back.setOnClickListener(this)
item_phone.setOnClickListener(this) item_phone.setOnClickListener(this)
item_invitedCode.findViewById<TextView>(R.id.tv_title).text = "河狸短视频ID" item_invitedCode.findViewById<TextView>(R.id.tv_title).text = "每日小短剧ID"
val invitedCode = ContextCompat.getDrawable(this, R.mipmap.icon_settings_invite) val invitedCode = ContextCompat.getDrawable(this, R.mipmap.icon_settings_invite)
invitedCode?.setBounds(0, 0, 56, 56) invitedCode?.setBounds(0, 0, 56, 56)
item_invitedCode.findViewById<TextView>(R.id.tv_title) item_invitedCode.findViewById<TextView>(R.id.tv_title)
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginLeft="10dp" android:layout_marginLeft="10dp"
android:layout_marginTop="10dp" android:layout_marginTop="10dp"
android:text="河狸短视频自动续费协议" android:text="每日小短剧自动续费协议"
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="16sp" android:textSize="16sp"
android:textStyle="bold"></TextView> android:textStyle="bold"></TextView>
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
android:layout_marginRight="26dp" android:layout_marginRight="26dp"
android:layout_marginBottom="30dp" android:layout_marginBottom="30dp"
android:text="河狸短视频将读取、写入(包括保存、下载、备份、上传、清理/删除、修改、扫描、检测)照片、媒体内容和文件,用于垃圾清理及加速、安全检测、文件风险扫描、本地照片、媒体内容和文件上传和备份,软件管理、下载安装、视频压缩。(使用场景以您实际触发为准)" android:text="每日小短剧将读取、写入(包括保存、下载、备份、上传、清理/删除、修改、扫描、检测)照片、媒体内容和文件,用于垃圾清理及加速、安全检测、文件风险扫描、本地照片、媒体内容和文件上传和备份,软件管理、下载安装、视频压缩。(使用场景以您实际触发为准)"
android:textSize="14sp" /> android:textSize="14sp" />
<TextView <TextView
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" android:layout_gravity="center_horizontal"
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
android:text="欢迎使用河狸短视频" android:text="欢迎使用每日小短剧"
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="18sp" android:textSize="18sp"
android:textStyle="bold" /> android:textStyle="bold" />
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
android:layout_marginLeft="16dp" android:layout_marginLeft="16dp"
android:layout_marginTop="16dp" android:layout_marginTop="16dp"
android:layout_marginRight="16dp" android:layout_marginRight="16dp"
android:text="欢迎使用河狸短视频,我们非常重视对您的个人信息保护,在您使用河狸短视频服务之前,请您认真阅读《用户注册协议》及《隐私政策》" android:text="欢迎使用每日小短剧,我们非常重视对您的个人信息保护,在您使用每日小短剧服务之前,请您认真阅读《用户注册协议》及《隐私政策》"
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="14sp" /> android:textSize="14sp" />
......
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
android:layout_marginLeft="16dp" android:layout_marginLeft="16dp"
android:layout_marginTop="16dp" android:layout_marginTop="16dp"
android:layout_marginRight="16dp" android:layout_marginRight="16dp"
android:text="我们依据最新的法律,向您说明河狸短视频软件的隐私政策,特向您推送本提示。请您阅读并充分理解相关条款。" android:text="我们依据最新的法律,向您说明每日小短剧软件的隐私政策,特向您推送本提示。请您阅读并充分理解相关条款。"
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="14sp" /> android:textSize="14sp" />
......
<resources> <resources>
<string name="app_name">河狸短视频</string> <string name="app_name">每日小短剧</string>
<string name="notifyTitle">提示</string> <string name="notifyTitle">提示</string>
<string name="setting">设置</string> <string name="setting">设置</string>
<string name="cancel">取消</string> <string name="cancel">取消</string>
...@@ -23,21 +23,21 @@ ...@@ -23,21 +23,21 @@
<string name="bottom_tab_my">提现</string> <string name="bottom_tab_my">提现</string>
<string name="str_agreement_vip">尊敬的河狸短视频用户:\n <string name="str_agreement_vip">尊敬的每日小短剧用户:\n
鉴于本协议是河狸短视频用户(下称“用户”或“您”)(下称 “本公司”或“我们”)关于使用河狸短视频产品提供的自动续费委托扣款服务(下称“本服务”)所订立的协议。您使用本服务前,已经注册成为河狸短视频的用户,且已同意为使用河狸短视频及本服务的相关用户协议及其它平台规则。\n 鉴于本协议是每日小短剧用户(下称“用户”或“您”)(下称 “本公司”或“我们”)关于使用每日小短剧产品提供的自动续费委托扣款服务(下称“本服务”)所订立的协议。您使用本服务前,已经注册成为每日小短剧的用户,且已同意为使用每日小短剧及本服务的相关用户协议及其它平台规则。\n
本协议描述我们与用户之间关于本服务的使用及相关方面的权利义务。本协议构成用户使用我们所提供的本服务之先决条件,除非用户接受本协议条款,否则用户无法使用本服务,用户选择使用本服务的行为将视为同意接受本协议当中的各项条款约束。\n 本协议描述我们与用户之间关于本服务的使用及相关方面的权利义务。本协议构成用户使用我们所提供的本服务之先决条件,除非用户接受本协议条款,否则用户无法使用本服务,用户选择使用本服务的行为将视为同意接受本协议当中的各项条款约束。\n
本协议未约定的内容,以用户在使用河狸短视频时同意的相关用户协议及其它平台规则为准。 【注意】如您未满18周岁,请在监护人陪同下仔细阅读并充分理解本协议,并征得监护人的同意后使用本产品及相关服务。\n 本协议未约定的内容,以用户在使用每日小短剧时同意的相关用户协议及其它平台规则为准。 【注意】如您未满18周岁,请在监护人陪同下仔细阅读并充分理解本协议,并征得监护人的同意后使用本产品及相关服务。\n
本公司有权根据需要不定时地制定、修改本协议或各类规则,经修订的协议、规则一经公布,立即自动生效。对新协议、规则生效之后注册的用户发生法律效力,对于协议、规则生效之前注册的用户,若用户在新规则生效后继续使用本产品提供的各项服务,则表明用户已充分阅读并认可和同意遵守新的协议或规则。\n 本公司有权根据需要不定时地制定、修改本协议或各类规则,经修订的协议、规则一经公布,立即自动生效。对新协议、规则生效之后注册的用户发生法律效力,对于协议、规则生效之前注册的用户,若用户在新规则生效后继续使用本产品提供的各项服务,则表明用户已充分阅读并认可和同意遵守新的协议或规则。\n
若用户拒绝接受新的协议和规则,用户有权放弃或终止继续使用本产品提供的各项服务,但该用户应承担在本产品已经进行的交易下所应承担的任何法律责任,且应遵循该用户发生交易时有效的协议或规则内容。\n 若用户拒绝接受新的协议和规则,用户有权放弃或终止继续使用本产品提供的各项服务,但该用户应承担在本产品已经进行的交易下所应承担的任何法律责任,且应遵循该用户发生交易时有效的协议或规则内容。\n
您点击同意、接受或下一步,或您购买/开通自动续费会员服务的行为均视为您已阅读、理解并同意签署本协议。\n\n 您点击同意、接受或下一步,或您购买/开通自动续费会员服务的行为均视为您已阅读、理解并同意签署本协议。\n\n
一、连续包月服务条款确认及接纳\n 一、连续包月服务条款确认及接纳\n
本公司提供的连续包月服务涉及到的相关知识产权均归本公司所有,受中华人民共和国法律及国际公约的依法保护。本服务协议项下的条款效力范围及于本公司的一切网络服务,用户在完成注册程序并开始使用河狸短视频所提供的自动续费服务时,均应当受本服务协议下的各项条款约束。\n 本公司提供的连续包月服务涉及到的相关知识产权均归本公司所有,受中华人民共和国法律及国际公约的依法保护。本服务协议项下的条款效力范围及于本公司的一切网络服务,用户在完成注册程序并开始使用每日小短剧所提供的自动续费服务时,均应当受本服务协议下的各项条款约束。\n
一旦本协议发生修改,本公司将通过系统提示和/或信息推送和/或后台公告等形式发布,请您务必仔细阅读。如您对本协议的修改有任何问题,可以停止使用本服务并咨询客服,但需要提醒您的是,更新后的本协议自更新版本发布之日起生效。\n\n 一旦本协议发生修改,本公司将通过系统提示和/或信息推送和/或后台公告等形式发布,请您务必仔细阅读。如您对本协议的修改有任何问题,可以停止使用本服务并咨询客服,但需要提醒您的是,更新后的本协议自更新版本发布之日起生效。\n\n
二、自动续费服务相关说明\n 二、自动续费服务相关说明\n
2.1 本服务是基于用户对自动续费需求,在用户已开通本服务的前提下,为避免用户因疏忽或其他原因导致未能及时续费造成损失而推出的服务。用户开通该服务后,即授权本公司可在会员自动续费期限到期前48小时和到期后,委托支付渠道(如支付宝、微信等)代扣下一个计费周期的费用,部分由运营商或支付渠道根据实际情况自行决定扣费周期的以实际扣费时间为准,如手机话费渠道、ios渠道等。选择自动续费的用户,即同意支付渠道在不验证账户密码、支付密码、短信校验码等信息的情况下从账户中扣划下一个计费周期的费用。一旦扣款成功,本公司将开通下一个计费周期的服务,并同时相应延长服务期限。该服务实现的前提是用户已将其河狸短视频用户账号与上述账户绑定,且可成功从其上述账户中扣款。计费周期:如月度、季度、年度等(具体以河狸短视频订购页面提供的为准),会员可自行选择。\n 2.1 本服务是基于用户对自动续费需求,在用户已开通本服务的前提下,为避免用户因疏忽或其他原因导致未能及时续费造成损失而推出的服务。用户开通该服务后,即授权本公司可在会员自动续费期限到期前48小时和到期后,委托支付渠道(如支付宝、微信等)代扣下一个计费周期的费用,部分由运营商或支付渠道根据实际情况自行决定扣费周期的以实际扣费时间为准,如手机话费渠道、ios渠道等。选择自动续费的用户,即同意支付渠道在不验证账户密码、支付密码、短信校验码等信息的情况下从账户中扣划下一个计费周期的费用。一旦扣款成功,本公司将开通下一个计费周期的服务,并同时相应延长服务期限。该服务实现的前提是用户已将其每日小短剧用户账号与上述账户绑定,且可成功从其上述账户中扣款。计费周期:如月度、季度、年度等(具体以每日小短剧订购页面提供的为准),会员可自行选择。\n
2.2 自动续费具体指基于2.1的前提下,本公司通过上述账户收取用户下一计费周期费用的扣费方式。用户需保证本公司可以从上述账户扣款成功,如因账户可扣款余额不足等其他用户自身原因导致的续费失败,应由用户自行承担责任。\n 2.2 自动续费具体指基于2.1的前提下,本公司通过上述账户收取用户下一计费周期费用的扣费方式。用户需保证本公司可以从上述账户扣款成功,如因账户可扣款余额不足等其他用户自身原因导致的续费失败,应由用户自行承担责任。\n
2.3 自动续费服务所涉及或可能衍生的相关一切知识产权权利均由本公司依法所有,用户不得因使用自动续费服务而自动获得其任一或全部权利。\n 2.3 自动续费服务所涉及或可能衍生的相关一切知识产权权利均由本公司依法所有,用户不得因使用自动续费服务而自动获得其任一或全部权利。\n
2.4 本公司将根据自身产品和服务的调整以及中华人民共和国有关法律、法规的变化,不断地完善服务质量并依此修改服务条款。本公司有权就服务协议随时更新,并在河狸短视频产品相应服务页面进行显著、及时的提示。\n 2.4 本公司将根据自身产品和服务的调整以及中华人民共和国有关法律、法规的变化,不断地完善服务质量并依此修改服务条款。本公司有权就服务协议随时更新,并在每日小短剧产品相应服务页面进行显著、及时的提示。\n
2.5 本公司建议用户,定期关注本服务协议的条款。当用户认为本服务协议之任一或全部条款的调整不可接受时,请及时终止对本公司所提供之相关服务。\n\n 2.5 本公司建议用户,定期关注本服务协议的条款。当用户认为本服务协议之任一或全部条款的调整不可接受时,请及时终止对本公司所提供之相关服务。\n\n
三、自动续费服务协议有效期限及终止\n 三、自动续费服务协议有效期限及终止\n
3.1 本协议自用户选择接受并使用本服务后生效。除非本公司或用户主动明确地取消了自动续费,否则用户获得的自动续费服务视为持续有效、不受次数限制。\n 3.1 本协议自用户选择接受并使用本服务后生效。除非本公司或用户主动明确地取消了自动续费,否则用户获得的自动续费服务视为持续有效、不受次数限制。\n
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
四、自动续费服务双方的权利和义务\n 四、自动续费服务双方的权利和义务\n
4.1 本公司扣除的下一计费周期费用,并同时延长对应服务有效期。\n 4.1 本公司扣除的下一计费周期费用,并同时延长对应服务有效期。\n
4.2 如在扣费过程出现问题,本公司应与用户密切配合查明原因,各自承担己方过错造成的损失;若因双方各自存在不均等过错造成损失,应由双方按过错程度承担对应程度的责任;双方共负责任的,由双方均摊责任。\n 4.2 如在扣费过程出现问题,本公司应与用户密切配合查明原因,各自承担己方过错造成的损失;若因双方各自存在不均等过错造成损失,应由双方按过错程度承担对应程度的责任;双方共负责任的,由双方均摊责任。\n
4.3 本公司可根据自身业务开展或技术升级等情况变更或修改本协议的有关服务内容、规则及条款。本公司在做出上述变更或修改前,在河狸短视频产品相应服务页面进行显著、及时的提示。\n 4.3 本公司可根据自身业务开展或技术升级等情况变更或修改本协议的有关服务内容、规则及条款。本公司在做出上述变更或修改前,在每日小短剧产品相应服务页面进行显著、及时的提示。\n
4.4 本服务由用户自主选择是否取消,若用户未取消服务,则视为用户同意本公司继续按照一定规则进行续费扣款(长期有效、不受次数限制)。一旦完成扣款,本公司将为用户开通下一个计费周期服务。\n 4.4 本服务由用户自主选择是否取消,若用户未取消服务,则视为用户同意本公司继续按照一定规则进行续费扣款(长期有效、不受次数限制)。一旦完成扣款,本公司将为用户开通下一个计费周期服务。\n
4.5 对于所选择的支付渠道,用户有义务定期关注并确保该支付方式的账户下有充足的余额用于满足自动续费服务的应用。如因前述原因(包括但不限于余额不足)而导致无法完成自动续费服务,则本公司有权在不再作另行通知的前提下,暂停用户通过自动续费服务所接入的相关服务。\n\n 4.5 对于所选择的支付渠道,用户有义务定期关注并确保该支付方式的账户下有充足的余额用于满足自动续费服务的应用。如因前述原因(包括但不限于余额不足)而导致无法完成自动续费服务,则本公司有权在不再作另行通知的前提下,暂停用户通过自动续费服务所接入的相关服务。\n\n
五、退费\n 五、退费\n
......
...@@ -56,3 +56,4 @@ GROMORE_MY_EXPRESS_CODE="102413160" ...@@ -56,3 +56,4 @@ GROMORE_MY_EXPRESS_CODE="102413160"
GROMORE_DRAW_CODE="102405069" GROMORE_DRAW_CODE="102405069"
GROMORE_BANNER_CODE="102405532" GROMORE_BANNER_CODE="102405532"
GROMORE_FULL_CODE="102405532" GROMORE_FULL_CODE="102405532"
GROMORE_HALF_CODE="102405532"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment