开源小说APP源码-摇钱书CMS免费下载 暂无演示

开源小说APP源码-摇钱书CMS免费下载

售价:
¥15 金币
  • 尊贵会员用户购买价格 : 15金币
  • SVIP超级会员会员购买价格 :9金币
  • 终身SVIP超级会员购买价格 : 免费
QQ咨询
  • 免费售前咨询
  • 免费安装指导
  • 付费安装资源
  • 付费终身升级
  • QQ保障售后服务
  • 网站应急咨询顾问

升级尊贵会员
享受全站VIP待遇

1002+
会员已经加入
  • 文章介绍
  • 评价建议
  • 产品优势

    开源小说APP源码-摇钱书CMS免费下载插图

    子渠道管理功能

    可新增新的子渠道,对生成的多个包进行数据分开统计,并且可进行删除渠道,编辑渠道名称、渠道地址的操作

    内置预留广告位

    预留开屏、悬浮、底部、顶部等位置进行放置广告,并进行编辑

    APP推送管理

    给用户推送消息的设置,自定义编辑推送标题、消息内容、书籍的选择、URL地址。对推送的数据进行统计,可准确确认推送到达数

    首次打开为指定页面

    可设置APP首次打开为指定页面,可指定打开app任意小说任意章节

    极速体验产品优势

    首家原生开发移动端App最新软件体验、功能强大、后台一站式管理多个终端

    精品研发团队

    不定时更新产品新功能,永久实时同步

    版权计划

    全面实施,对接市面主流书城API,解决内容问题

    后台介绍

    app排版内容管理

    可自定义app内任意书籍展现位置包含:首页管理、书架管理、分类管理、BANNER管理

    支付统计

    可统计今日充值、昨日充值、本月充值、累计充值、并能选择特定的渠道查询其订单类型、支付状态、支付方式、支付时间显示所有

    用户统计功能

    对注册APP用户的,id、昵称、头像、电话、三方标识、三方类型、用户机型、渠道来源、注册时间等进行统计,并可查询指定用户信

    APP升级更新版本

    记录使用过的版本、更新的内容、版本状态

    用户反馈

    添加用户反馈入口,帮助用户更好体验产品,也让产品更懂用户

    签到/分享功能

    统计在APP内进行签到的人数,签到用户信息,签到的时间等

    1.适用范围

    Java8

    Kotlin:1.3.11

    Gradle:3.1.2

    Android Studio:3.2

    2.集成准备

    在配置CC阅读android客户端前,请先申请阿里热修复,友盟统计,新浪,QQ,微信等第三方平台的appkey,广告目前接入的是广点通广告,如需要,申请广点通广告位。如需推送功能,目前支持小米推送及华为推送,请申请相应功能。

    阿里热修复   https://help.aliyun.com/product/51340.html

    友盟统计   https://www.umeng.com

    新浪微博   https://open.weibo.com/

    QQ   https://connect.qq.com/index.html

    微信   https://open.weixin.qq.com/

    广点通   https://e.qq.com/dev/index.html

    小米推送   https://dev.mi.com/console/appservice/push.html

    华为推送   https://developer.huawei.com/consumer/cn/service/hms/pushservice.html

    支付宝   https://open.alipay.com/platform/home.htm

    阿里短信 https://help.aliyun.com/product/44282.html

    微信支付   https://pay.weixin.qq.com/index.php/core/home/login?return_url=%2F

    3.配置文件

    1.在Android Studio工程中的App模块中的SophixStubApplication文件中配置阿里热修复的相关信息:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    @Override
    protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    // 如果需要使用MultiDex,需要在此处调用。
    MultiDex.install(this);
    initSophix();
    }
    private void initSophix() {
    String appVersion = "0.0.0";
    try {
    appVersion = this.getPackageManager()
    .getPackageInfo(this.getPackageName(), 0)
    .versionName;
    catch (Exception e) {}
    final SophixManager instance = SophixManager.getInstance();
    instance.setContext(this)
    .setAppVersion(appVersion)
    .setSecretMetaData("appkey""appsecret""appsecretToken")
    .setEnableDebug(true)
    .setEnableFullLog()
    .setPatchLoadStatusStub(new PatchLoadStatusListener() {
    @Override
    public void onLoad(final int mode, final int code, final String info, final int handlePatchVersion) {
    if (code == PatchStatus.CODE_LOAD_SUCCESS) {
    Log.i(TAG, "sophix load patch success!");
    else if (code == PatchStatus.CODE_LOAD_RELAUNCH) {
    // 如果需要在后台重启,建议此处用SharePreference保存状态。
    Log.i(TAG, "sophix preload patch success. restart app to make effect.");
    }
    }
    }).initialize();
    }

    如不需要此功能,在AndroidManifest.xml中修改application的name为BookStoreApplication,并在BookStoreApplication类的onCreate方法中注释或删除SophixManager.getInstance().queryAndLoadNewPatch()

    2.在Android Studio工程中的App模块中的BookStoreApplication文件中,配置友盟相关信息及三方信息,用于三方登录及分享功能:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    UMConfigure.init(this, "友盟key",”渠道”, UMConfigure.DEVICE_TYPE_PHONE, "")
    setScenarioType(this, MobclickAgent.EScenarioType.E_UM_NORMAL)
    /**
    * 设置组件化的Log开关
    * 参数: boolean 默认为false,如需查看LOG设置为true
    */
    UMConfigure.setLogEnabled(BuildConfig.DEBUG_MODE)
    PlatformConfig.setWeixin("appkey""appsecret")
    PlatformConfig.setSinaWeibo("appkey""appsecret""授权回调地址")
    PlatformConfig.setQQZone("appkey""appsecret")
    注意QQ除了在这儿配置外,在AndroidManifest.xml中也需要配置
    /**
    * 友盟-QQ
    */
    <activity
    android:name="com.tencent.tauth.AuthActivity"
    android:launchMode="singleTask"
    android:noHistory="true">
    <intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="tencentAPPKEY" />
    </intent-filter>
    </activity>
    在AndroidManifest.xml还需要配置友盟的渠道
    /**
    * Channel ID用来标识App的推广渠道,作为推送消息时给用户分组的一个维度
    */
    <meta-data
    android:name="UMENG_CHANNEL"
    android:value="${CHANNEL_VALUE}" />

    3.在Android Studio工程中的App模块中的BookStoreApplication文件中,配置推送相关功能。小米推送:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    private fun initMiuiPush() {
    if (shouldInit()) {
    MiPushClient.registerPush(this, "AppID""AppKey")
    }
    // 打开Log
    val newLogger = object : LoggerInterface {
    override fun setTag(tag: String) {
    // ignore
    }
    override fun log(content: String, t: Throwable) {
    Log.d(TAG, content, t)
    }
    override fun log(content: String) {
    Log.d(TAG, content)
    }
    }
    Logger.setLogger(this, newLogger)
    }
    华为推送主要配置在AndroidManifest.xml中:
    /**
    * 华为推送
    */
    <meta-data
    android:name="com.huawei.hms.client.appid"
    android:value="appid=******" />
    <meta-data
    android:name="com.huawei.hms.version"
    android:value="2.6.1.301" />
    华为推送接收到的数据为scheme类型,需要自信配置相应参数
    /**
    * 接入HMSSDK 需要注册的应用下载服务 | Access HMSSDK need to register app download service
    */
    <service
    android:name="com.huawei.updatesdk.service.deamon.download.DownloadService"
    android:exported="false" />
    <activity android:name=".book_push.HuaWeiReceiverActivity">
    <intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <data
    android:host="自定义域名"
    android:path="/地址"
    android:scheme="customscheme" />
    </intent-filter>
    </activity>

    4.在CommenTag文件中,配置广点通广告:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    const val AD_APPKEY = "******"
    // 开屏页广告位
    const val AD_SPLASH_KEY = "******"
    //阅读页底部广告位
    const val AD_BANNER_KEY = "******"
    //阅读页章节末尾广告位
    const val AD_NATIVE_IMAGE = "******"
    //首页banner最后一页展示广告位
    const val AD_NATIVE_BANNER_IMAGE = "******"

    5.配置友盟统计多渠道,在config.gradle中定义渠道名称(示例中为渠道cc1/cc2/cc3/cc4)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    channel = [
    "cc1"  '"cc1"',
    "cc2"  '"cc2"',
    "cc3"  '"cc3"',
    "cc4"  '"cc4"',
    "cc5"  '"cc5"'
    ]
    在app模块中的build.gradle中引用相应渠道同时,在readviewlibrary中的build.gradle中应用相应渠道
    productFlavors {
    cc1 {
    manifestPlaceholders = [CHANNEL_VALUE:channel["cc1"]]
    buildConfigField "String""DEBUG_CHANNEL", channel["cc1"]
    versionCode rootProject.ext.android_version.ccVersionCode
    versionName rootProject.ext.android_version.ccVersionName
    }
    cc2 {
    manifestPlaceholders = [CHANNEL_VALUE: channel["cc2"]]
    buildConfigField "String""DEBUG_CHANNEL", channel["cc2"]
    versionCode rootProject.ext.android_version.ccVersionCode
    versionName rootProject.ext.android_version.ccVersionName
    }
    cc3 {
    manifestPlaceholders = [CHANNEL_VALUE: channel["cc3"]]
    buildConfigField "String""DEBUG_CHANNEL", channel["cc3"]
    versionCode rootProject.ext.android_version.ccVersionCode
    versionName rootProject.ext.android_version.ccVersionName
    }
    cc4 {
    manifestPlaceholders = [CHANNEL_VALUE: channel["cc4"]]
    buildConfigField "String""DEBUG_CHANNEL", channel["cc4"]
    versionCode rootProject.ext.android_version.ccVersionCode
    versionName rootProject.ext.android_version.ccVersionName
    }
    }
    productFlavors {
    cc1 {
    buildConfigField "String""DEBUG_CHANNEL", rootProject.ext.channel["cc1"]
    }
    cc2 {
    buildConfigField "String""DEBUG_CHANNEL", rootProject.ext.channel["cc2"]
    }
    cc3 {
    buildConfigField "String""DEBUG_CHANNEL", rootProject.ext.channel["cc3"]
    }
    cc4 {
    buildConfigField "String""DEBUG_CHANNEL", rootProject.ext.channel["cc4"]
    }
    }

    6.微信支付配置,注意微信登录及微信支付结果回调类WXEntryActivity和WXPayEntryActivity是在包名文件夹下的wxapi中,属于最外层的一级文件夹。

    7.关于友盟配置签名文件,在app模块下的build.gradle中配置应用的签名文件

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    signingConfigs {
    debug {
    toreFile file('jks文件地址')
    storePassword "*********"
    keyAlias "*****"
    keyPassword "*********"
    }
    release {
    storeFile file('jks文件地址')
    storePassword "*******"
    keyAlias "*****"
    keyPassword "**********"
    }
    }

    爱搜源码 » 开源小说APP源码-摇钱书CMS免费下载

    发表评论