项目分析报告:Pocket – Android Rewards App

项目概述

项目名称: Pocket (Easy Money Rewards)
包名: com.droidoxy.easymoneyrewards
版本: 1.4
平台: Android
开发语言: Java
开发商: DroidOXY

Pocket 是一款 Android 奖励应用,用户通过完成各种任务(如安装应用、观看视频、每日签到等)赚取积分,并可兑换奖励。


功能描述

核心功能

  1. 用户系统: 登录、注册、找回密码
  2. 积分墙 (OfferWall):
    • Adscend Media
    • Super Rewards
    • SuperSonic
    • Adxmi
    • Tapjoy
  3. 视频奖励: 观看视频赚取积分
  4. 每日签到: 每日检查获得积分奖励
  5. 积分兑换 (Redeem): 使用积分兑换奖励
  6. 推送通知: 通过 OneSignal 发送推送
  7. 服务器同步: 用户积分存储在服务器端
  8. 用户追踪: 从 Web 面板追踪用户活动

版本更新历史

版本 日期 更新内容
v1.4 2017-01-01 新增 Adscend Media 和 Super Rewards 积分墙,修复推送通知
v1.3 2016-10-14 新增应用介绍、服务器实现、积分墙功能、用户追踪
v1.2 2016-09-23 新增 SuperSonic 积分墙,修复视频和兑换功能
v1.1 2016-08-26 新增登录注册、SuperSonic 视频、主题
v1.0 2016-08-15 初始版本

主要模块

模块/类 功能说明
AppActivity 应用启动活动
IntroActivity 应用介绍引导
LoginActivity 用户登录
SignupActivity 用户注册
RecoveryActivity 找回密码
MainActivity 主界面(积分墙列表)
RedeemActivity 积分兑换
InstructionsActivity 使用说明
AboutActivity 关于页面
ErrorActivity 错误提示页面
AlarmReceiverActivity 定时任务接收器
MyFirebaseMessagingService Firebase 消息服务
MyFirebaseInstanceIDService Firebase 实例 ID 服务

项目结构

Pocket v1.4/
├── Pocket/                          # Android Studio 项目
│   ├── app/
│   │   └── src/main/
│   │       ├── java/com/droidoxy/easymoneyrewards/
│   │       │   ├── AppActivity.java           # 启动活动
│   │       │   ├── IntroActivity.java         # 介绍引导
│   │       │   ├── LoginActivity.java         # 登录
│   │       │   ├── SignupActivity.java        # 注册
│   │       │   ├── RecoveryActivity.java      # 找回密码
│   │       │   ├── MainActivity.java          # 主界面
│   │       │   ├── RedeemActivity.java        # 积分兑换
│   │       │   ├── InstructionsActivity.java  # 使用说明
│   │       │   ├── AboutActivity.java         # 关于
│   │       │   ├── ErrorActivity.java         # 错误页面
│   │       │   ├── AlarmReceiverActivity.java # 定时任务
│   │       │   ├── BaseActivity.java          # 基础活动
│   │       │   ├── Config.java                # 配置常量
│   │       │   ├── PrefManager.java           # 偏好管理
│   │       │   ├── ConnectionManager.java     # 网络连接管理
│   │       │   ├── CheckSdkConfig.java        # SDK 配置检查
│   │       │   ├── MyApplication.java         # 应用类
│   │       │   ├── MyFirebaseMessagingService.java
│   │       │   ├── MyFirebaseInstanceIDService.java
│   │       │   ├── app/                       # 应用模块
│   │       │   ├── common/                    # 公共组件
│   │       │   ├── constants/                 # 常量定义
│   │       │   └── util/                      # 工具类
│   │       └── AndroidManifest.xml
│   ├── build.gradle
│   └── settings.gradle
├── Pocket v1.3/                     # 旧版本
├── WEBPANEL - v1.4/                 # Web 后端面板
└── ReadMe.txt                       # 说明文档

核心业务逻辑

用户认证流程

启动 → Intro(首次) → Login/Signup → MainActivity
                ↓
           服务器验证
                ↓
           获取用户积分

积分赚取流程

  1. 用户点击积分墙项目
  2. 跳转到第三方积分墙 SDK
  3. 用户完成任务(安装应用、观看视频等)
  4. 第三方 SDK 回调通知应用
  5. 更新用户积分(本地 + 服务器)

积分兑换流程

  1. 用户选择兑换项目
  2. 检查积分是否足够
  3. 提交兑换请求到服务器
  4. 从 Web 面板处理兑换请求

推送通知流程

  1. 应用注册 OneSignal 和 FCM
  2. 获取设备 Token 并发送到服务器
  3. 从 Web 面板发送推送
  4. 用户设备接收通知

核心代码文件

文件路径 说明
AppActivity.java 应用启动入口,检查网络和登录状态
IntroActivity.java 应用介绍引导页面
LoginActivity.java 用户登录逻辑
SignupActivity.java 用户注册逻辑
MainActivity.java 主界面,显示积分墙列表
RedeemActivity.java 积分兑换功能
PrefManager.java SharedPreferences 管理
Config.java 应用配置常量
ConnectionManager.java 网络连接状态管理
MyFirebaseMessagingService.java Firebase 消息接收处理

技术栈

第三方 SDK 集成

SDK 用途
Adscend Media 积分墙
Super Rewards 积分墙
SuperSonic 积分墙和视频广告
Adxmi 积分墙和横幅广告
Tapjoy 积分墙和插页式广告
OneSignal 推送通知
Firebase Cloud Messaging 消息推送

Android 权限

<!-- 基本权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<!-- 广告相关 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.GET_TASKS" />

<!-- 推送通知 -->
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

<!-- 可选权限 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

后端依赖

WebPanel (单独购买)

重要: Pocket 应用必须配合 WebPanel 才能正常工作

WebPanel 功能:

  • 用户管理
  • 积分管理
  • 推送通知发送
  • 兑换请求处理
  • 用户活动追踪
  • 数据统计分析

下载链接:http://codyhub.com/item/pocket-backend-webpanel/ [1]


配置说明

需要配置的内容

  1. 广告 ID: 在各积分墙 SDK 后台获取并配置
  2. Firebase 配置: 添加 google-services.json
  3. OneSignal 配置: 配置 App ID 和 Sender ID
  4. API 地址: 配置 WebPanel 的 API 地址
  5. 应用主题: 可自定义主题颜色和样式

安全特性

  1. 服务器端积分存储: 防止本地篡改
  2. 用户追踪: 记录用户所有活动
  3. 网络验证: 所有操作需联网验证
  4. 权限管理: 运行时权限请求处理

商业模式

盈利方式

  1. 积分墙广告: 用户完成任务,开发者获得广告收入
  2. 视频广告: 观看视频获得分成
  3. 插页式广告: 应用内展示广告

用户激励

  1. 完成积分墙任务获得积分
  2. 每日签到获得积分
  3. 观看视频获得积分
  4. 积分兑换现金或礼品卡

总结

Pocket 是一款功能完整的 Android 奖励应用,集成了多个主流积分墙 SDK 和广告平台。应用采用客户端 – 服务器架构,用户数据存储在服务器端,确保数据安全。配合 WebPanel 可以实现完整的用户管理和运营功能。

优势特点:

  • 集成多个主流积分墙 SDK
  • 完善的用户认证系统
  • 服务器端积分管理,安全可靠
  • 支持推送通知和用户追踪
  • 代码结构清晰,易于定制

注意事项:

  • 必须购买并配置 WebPanel 才能正常运行
  • 需要在各广告平台注册获取广告 ID
  • 需要配置 Firebase 和 OneSignal 服务

引用链接

[1]http://codyhub.com/item/pocket-backend-webpanel/


资源在线 » Pocket 是一款 Android 奖励应用,用户通过完成各种任务(如安装应用、观看视频、每日签到等)赚取积分,并可兑换奖励。

常见问题FAQ

发表评论