跳到主要内容鸿蒙金融理财全栈项目——生态合作、用户运营、数据变现 | 极客日志TypeScriptPay大前端
鸿蒙金融理财全栈项目——生态合作、用户运营、数据变现
鸿蒙金融理财全栈项目涵盖生态合作、用户运营及数据变现三大核心模块。生态合作实现金融机构、支付渠道及数据分析平台的对接架构;用户运营通过增长、留存与转化策略提升活跃度;数据变现提供数据服务与产品开发能力。项目基于 ArkTS 语言构建,包含单例模式工具类封装与页面交互逻辑,支持编译部署至鸿蒙设备,旨在打造高扩展性的金融级应用解决方案。
蓝绿部署7 浏览 鸿蒙金融理财全栈项目:生态合作、用户运营、数据变现
内容承接与核心价值
本文基于金融场景的生态合作、用户运营、数据变现要求,设计并实现鸿蒙金融理财全栈项目的核心功能。
学习目标:
- 掌握鸿蒙金融理财项目的生态合作设计与实现;
- 实现金融机构合作、支付渠道合作、数据分析合作;
- 理解用户运营在金融场景的核心设计与实现;
- 实现用户增长、用户留存、用户转化;
- 掌握数据变现在金融场景的设计与实现;
- 实现数据服务、数据产品、数据变现;
- 优化金融理财项目的用户体验(生态合作、用户运营、数据变现)。
学习重点:
- 鸿蒙金融理财项目的生态合作设计原则;
- 用户运营在金融场景的应用;
- 数据变现在金融场景的设计要点。
一、生态合作基础
1.1 生态合作定义
生态合作是指金融理财项目与其他金融机构、支付渠道、数据分析平台等进行合作,共同推动业务发展,主要包括以下方面:
- 金融机构合作:与银行、券商、基金公司等金融机构合作;
- 支付渠道合作:与支付宝、微信支付等支付渠道合作;
- 数据分析合作:与数据分析平台合作,分析用户行为数据。
1.2 生态合作架构
生态合作采用分层架构,由以下部分组成:
- 金融机构合作层:负责与金融机构的合作;
- 支付渠道合作层:负责与支付渠道的合作;
- 数据分析合作层:负责与数据分析平台的合作。
二、生态合作实战
2.1 实战目标
基于金融场景的生态合作要求,实现以下功能:
- 金融机构合作:与金融机构的合作;
- 支付渠道合作:与支付渠道的合作;
- 数据分析合作:与数据分析平台的合作。
2.2 金融机构合作实现
1. 金融机构合作工具类
entry/src/main/ets/utils/FinancialInstitutionCooperationUtil.ets
import cooperation from '@ohos.cooperation';
// 金融机构合作工具类
export class FinancialInstitutionCooperationUtil {
private static instance: FinancialInstitutionCooperationUtil | null = null;
private cooperationHelper: cooperation.CooperationHelper | null = null;
// 单例模式
static getInstance(): FinancialInstitutionCooperationUtil {
if (!FinancialInstitutionCooperationUtil.instance) {
FinancialInstitutionCooperationUtil.instance = new FinancialInstitutionCooperationUtil();
}
return FinancialInstitutionCooperationUtil.instance;
}
// 初始化金融机构合作工具
async init(): Promise<void> {
if (!this.cooperationHelper) {
this.cooperationHelper = cooperation.createCooperationHelper();
}
}
// 获取金融机构列表
async getFinancialInstitutionList(): Promise<Array<cooperation.FinancialInstitution>> {
if (!this.cooperationHelper) {
return [];
}
const result = await this.cooperationHelper.getFinancialInstitutionList();
return result;
}
// 与金融机构合作
async cooperateWithFinancialInstitution(institutionId: number): Promise<cooperation.CooperationResult> {
if (!this.cooperationHelper) {
return null;
}
const result = await this.cooperationHelper.cooperateWithFinancialInstitution(institutionId);
return result;
}
}
2. 金融机构合作应用
entry/src/main/ets/pages/FinancialInstitutionCooperationPage.ets
import { FinancialInstitutionCooperationUtil } from '../utils/FinancialInstitutionCooperationUtil';
@Entry
@Component
struct FinancialInstitutionCooperationPage {
@State financialInstitutionList: Array<cooperation.FinancialInstitution> = [];
build() {
Column({ space: 16 }) {
Text('金融机构合作').fontSize(18).fontWeight(FontWeight.Bold).textColor('#000000');
ListComponent({ data: this.financialInstitutionList, renderItem: (item: cooperation.FinancialInstitution, index: number) => {
Row({ space: 16 }) {
Image(item.logoUrl).width(80).height(80).objectFit(ImageFit.Cover).borderRadius(8);
Column({ space: 8 }) {
Text(item.name).fontSize(16).fontWeight(FontWeight.Bold).textColor('#000000');
Text(item.description).fontSize(14).textColor('#666666').maxLines(2).textOverflow({ overflow: TextOverflow.Ellipsis });
}.layoutWeight(1);
ButtonComponent({ text: '合作', onClick: async () => {
await this.cooperateWithFinancialInstitution(item.institutionId);
}, disabled: false });
}.width('100%').height('auto').padding(16).backgroundColor('#FFFFFF').borderRadius(8).margin({ bottom: 8 });
}, onItemClick: (item: cooperation.FinancialInstitution, index: number) => {} });
}.width('100%').height('100%').padding(16).backgroundColor('#F5F5F5');
}
aboutToAppear() {
FinancialInstitutionCooperationUtil.getInstance().init();
this.getFinancialInstitutionList();
}
async getFinancialInstitutionList(): Promise<void> {
this.financialInstitutionList = await FinancialInstitutionCooperationUtil.getInstance().getFinancialInstitutionList();
}
async cooperateWithFinancialInstitution(institutionId: number): Promise<void> {
const result = await FinancialInstitutionCooperationUtil.getInstance().cooperateWithFinancialInstitution(institutionId);
if (result.success) {
promptAction.showToast({ message: '与金融机构合作成功' });
} else {
promptAction.showToast({ message: '与金融机构合作失败' });
}
}
}
2.3 支付渠道合作实现
1. 支付渠道合作工具类
entry/src/main/ets/utils/PaymentChannelCooperationUtil.ets
import payment from '@ohos/payment';
// 支付渠道合作工具类
export class PaymentChannelCooperationUtil {
private static instance: PaymentChannelCooperationUtil | null = null;
private paymentHelper: payment.PaymentHelper | null = null;
static getInstance(): PaymentChannelCooperationUtil {
if (!PaymentChannelCooperationUtil.instance) {
PaymentChannelCooperationUtil.instance = new PaymentChannelCooperationUtil();
}
return PaymentChannelCooperationUtil.instance;
}
async init(): Promise<void> {
if (!this.paymentHelper) {
this.paymentHelper = payment.createPaymentHelper();
}
}
async getPaymentChannelList(): Promise<Array<payment.PaymentChannel>> {
if (!this.paymentHelper) {
return [];
}
const result = await this.paymentHelper.getPaymentChannelList();
return result;
}
async cooperateWithPaymentChannel(channelId: number): Promise<payment.CooperationResult> {
if (!this.paymentHelper) {
return null;
}
const result = await this.paymentHelper.cooperateWithPaymentChannel(channelId);
return result;
}
}
2. 支付渠道合作应用
entry/src/main/ets/pages/PaymentChannelCooperationPage.ets
import { PaymentChannelCooperationUtil } from '../utils/PaymentChannelCooperationUtil';
@Entry
@Component
struct PaymentChannelCooperationPage {
@State paymentChannelList: Array<payment.PaymentChannel> = [];
build() {
Column({ space: 16 }) {
Text('支付渠道合作').fontSize(18).fontWeight(FontWeight.Bold).textColor('#000000');
ListComponent({ data: this.paymentChannelList, renderItem: (item: payment.PaymentChannel, index: number) => {
Row({ space: 16 }) {
Image(item.logoUrl).width(80).height(80).objectFit(ImageFit.Cover).borderRadius(8);
Column({ space: 8 }) {
Text(item.name).fontSize(16).fontWeight(FontWeight.Bold).textColor('#000000');
Text(item.description).fontSize(14).textColor('#666666').maxLines(2).textOverflow({ overflow: TextOverflow.Ellipsis });
}.layoutWeight(1);
ButtonComponent({ text: '合作', onClick: async () => {
await this.cooperateWithPaymentChannel(item.channelId);
}, disabled: false });
}.width('100%').height('auto').padding(16).backgroundColor('#FFFFFF').borderRadius(8).margin({ bottom: 8 });
}, onItemClick: (item: payment.PaymentChannel, index: number) => {} });
}.width('100%').height('100%').padding(16).backgroundColor('#F5F5F5');
}
aboutToAppear() {
PaymentChannelCooperationUtil.getInstance().init();
this.getPaymentChannelList();
}
async getPaymentChannelList(): Promise<void> {
this.paymentChannelList = await PaymentChannelCooperationUtil.getInstance().getPaymentChannelList();
}
async cooperateWithPaymentChannel(channelId: number): Promise<void> {
const result = await PaymentChannelCooperationUtil.getInstance().cooperateWithPaymentChannel(channelId);
if (result.success) {
promptAction.showToast({ message: '与支付渠道合作成功' });
} else {
promptAction.showToast({ message: '与支付渠道合作失败' });
}
}
}
2.4 数据分析合作实现
1. 数据分析合作工具类
entry/src/main/ets/utils/DataAnalysisCooperationUtil.ets
import analysis from '@ohos/analysis';
// 数据分析合作工具类
export class DataAnalysisCooperationUtil {
private static instance: DataAnalysisCooperationUtil | null = null;
private analysisHelper: analysis.AnalysisHelper | null = null;
static getInstance(): DataAnalysisCooperationUtil {
if (!DataAnalysisCooperationUtil.instance) {
DataAnalysisCooperationUtil.instance = new DataAnalysisCooperationUtil();
}
return DataAnalysisCooperationUtil.instance;
}
async init(): Promise<void> {
if (!this.analysisHelper) {
this.analysisHelper = analysis.createAnalysisHelper();
}
}
async getDataAnalysisPlatformList(): Promise<Array<analysis.DataAnalysisPlatform>> {
if (!this.analysisHelper) {
return [];
}
const result = await this.analysisHelper.getDataAnalysisPlatformList();
return result;
}
async cooperateWithDataAnalysisPlatform(platformId: number): Promise<analysis.CooperationResult> {
if (!this.analysisHelper) {
return null;
}
const result = await this.analysisHelper.cooperateWithDataAnalysisPlatform(platformId);
return result;
}
}
2. 数据分析合作应用
entry/src/main/ets/pages/DataAnalysisCooperationPage.ets
import { DataAnalysisCooperationUtil } from '../utils/DataAnalysisCooperationUtil';
@Entry
@Component
struct DataAnalysisCooperationPage {
@State dataAnalysisPlatformList: Array<analysis.DataAnalysisPlatform> = [];
build() {
Column({ space: 16 }) {
Text('数据分析合作').fontSize(18).fontWeight(FontWeight.Bold).textColor('#000000');
ListComponent({ data: this.dataAnalysisPlatformList, renderItem: (item: analysis.DataAnalysisPlatform, index: number) => {
Row({ space: 16 }) {
Image(item.logoUrl).width(80).height(80).objectFit(ImageFit.Cover).borderRadius(8);
Column({ space: 8 }) {
Text(item.name).fontSize(16).fontWeight(FontWeight.Bold).textColor('#000000');
Text(item.description).fontSize(14).textColor('#666666').maxLines(2).textOverflow({ overflow: TextOverflow.Ellipsis });
}.layoutWeight(1);
ButtonComponent({ text: '合作', onClick: async () => {
await this.cooperateWithDataAnalysisPlatform(item.platformId);
}, disabled: false });
}.width('100%').height('auto').padding(16).backgroundColor('#FFFFFF').borderRadius(8).margin({ bottom: 8 });
}, onItemClick: (item: analysis.DataAnalysisPlatform, index: number) => {} });
}.width('100%').height('100%').padding(16).backgroundColor('#F5F5F5');
}
aboutToAppear() {
DataAnalysisCooperationUtil.getInstance().init();
this.getDataAnalysisPlatformList();
}
async getDataAnalysisPlatformList(): Promise<void> {
this.dataAnalysisPlatformList = await DataAnalysisCooperationUtil.getInstance().getDataAnalysisPlatformList();
}
async cooperateWithDataAnalysisPlatform(platformId: number): Promise<void> {
const result = await DataAnalysisCooperationUtil.getInstance().cooperateWithDataAnalysisPlatform(platformId);
if (result.success) {
promptAction.showToast({ message: '与数据分析平台合作成功' });
} else {
promptAction.showToast({ message: '与数据分析平台合作失败' });
}
}
}
三、用户运营实战
3.1 实战目标
- 用户增长:获取新用户;
- 用户留存:提高用户留存率;
- 用户转化:促进用户转化为付费用户。
3.2 用户增长实现
1. 用户增长工具类
entry/src/main/ets/utils/UserGrowthUtil.ets
import growth from '@ohos/growth';
// 用户增长工具类
export class UserGrowthUtil {
private static instance: UserGrowthUtil | null = null;
private growthHelper: growth.GrowthHelper | null = null;
static getInstance(): UserGrowthUtil {
if (!UserGrowthUtil.instance) {
UserGrowthUtil.instance = new UserGrowthUtil();
}
return UserGrowthUtil.instance;
}
async init(): Promise<void> {
if (!this.growthHelper) {
this.growthHelper = growth.createGrowthHelper();
}
}
async getNewUsers(): Promise<Array<growth.NewUser>> {
if (!this.growthHelper) {
return [];
}
const result = await this.growthHelper.getNewUsers();
return result;
}
async promoteUserGrowth(): Promise<growth.UserGrowthResult> {
if (!this.growthHelper) {
return null;
}
const result = await this.growthHelper.promoteUserGrowth();
return result;
}
}
2. 用户增长应用
entry/src/main/ets/pages/UserGrowthPage.ets
import { UserGrowthUtil } from '../utils/UserGrowthUtil';
@Entry
@Component
struct UserGrowthPage {
@State newUsers: Array<growth.NewUser> = [];
build() {
Column({ space: 16 }) {
Text('用户增长').fontSize(18).fontWeight(FontWeight.Bold).textColor('#000000');
ListComponent({ data: this.newUsers, renderItem: (item: growth.NewUser, index: number) => {
Row({ space: 16 }) {
Image(item.avatarUrl).width(80).height(80).objectFit(ImageFit.Cover).borderRadius(8);
Column({ space: 8 }) {
Text(item.name).fontSize(16).fontWeight(FontWeight.Bold).textColor('#000000');
Text(`注册时间:${item.registrationTime}`).fontSize(14).textColor('#666666');
Text(`注册渠道:${item.registrationChannel}`).fontSize(14).textColor('#666666');
}.layoutWeight(1);
}.width('100%').height('auto').padding(16).backgroundColor('#FFFFFF').borderRadius(8).margin({ bottom: 8 });
}, onItemClick: (item: growth.NewUser, index: number) => {} });
ButtonComponent({ text: '促进用户增长', onClick: async () => {
await this.promoteUserGrowth();
}, disabled: false });
}.width('100%').height('100%').padding(16).backgroundColor('#F5F5F5');
}
aboutToAppear() {
UserGrowthUtil.getInstance().init();
this.getNewUsers();
}
async getNewUsers(): Promise<void> {
this.newUsers = await UserGrowthUtil.getInstance().getNewUsers();
}
async promoteUserGrowth(): Promise<void> {
const result = await UserGrowthUtil.getInstance().promoteUserGrowth();
if (result.success) {
promptAction.showToast({ message: '促进用户增长成功' });
} else {
promptAction.showToast({ message: '促进用户增长失败' });
}
}
}
3.3 用户留存实现
1. 用户留存工具类
entry/src/main/ets/utils/UserRetentionUtil.ets
import retention from '@ohos/retention';
// 用户留存工具类
export class UserRetentionUtil {
private static instance: UserRetentionUtil | null = null;
private retentionHelper: retention.RetentionHelper | null = null;
static getInstance(): UserRetentionUtil {
if (!UserRetentionUtil.instance) {
UserRetentionUtil.instance = new UserRetentionUtil();
}
return UserRetentionUtil.instance;
}
async init(): Promise<void> {
if (!this.retentionHelper) {
this.retentionHelper = retention.createRetentionHelper();
}
}
async getUserRetentionData(): Promise<retention.UserRetentionData> {
if (!this.retentionHelper) {
return null;
}
const result = await this.retentionHelper.getUserRetentionData();
return result;
}
async improveUserRetention(): Promise<retention.UserRetentionResult> {
if (!this.retentionHelper) {
return null;
}
const result = await this.retentionHelper.improveUserRetention();
return result;
}
}
2. 用户留存应用
entry/src/main/ets/pages/UserRetentionPage.ets
import { UserRetentionUtil } from '../utils/UserRetentionUtil';
@Entry
@Component
struct UserRetentionPage {
@State userRetentionData: retention.UserRetentionData | null = null;
build() {
Column({ space: 16 }) {
Text('用户留存').fontSize(18).fontWeight(FontWeight.Bold).textColor('#000000');
if (this.userRetentionData) {
Text(`次日留存率:${this.userRetentionData.nextDayRetentionRate}%`).fontSize(14).textColor('#000000');
Text(`7 日留存率:${this.userRetentionData.sevenDayRetentionRate}%`).fontSize(14).textColor('#666666');
Text(`30 日留存率:${this.userRetentionData.thirtyDayRetentionRate}%`).fontSize(14).textColor('#666666');
}
ButtonComponent({ text: '提高用户留存率', onClick: async () => {
await this.improveUserRetention();
}, disabled: false });
}.width('100%').height('100%').padding(16).backgroundColor('#F5F5F5');
}
aboutToAppear() {
UserRetentionUtil.getInstance().init();
this.getUserRetentionData();
}
async getUserRetentionData(): Promise<void> {
this.userRetentionData = await UserRetentionUtil.getInstance().getUserRetentionData();
}
async improveUserRetention(): Promise<void> {
const result = await UserRetentionUtil.getInstance().improveUserRetention();
if (result.success) {
promptAction.showToast({ message: '提高用户留存率成功' });
} else {
promptAction.showToast({ message: '提高用户留存率失败' });
}
}
}
3.4 用户转化实现
1. 用户转化工具类
entry/src/main/ets/utils/UserConversionUtil.ets
import conversion from '@ohos/conversion';
// 用户转化工具类
export class UserConversionUtil {
private static instance: UserConversionUtil | null = null;
private conversionHelper: conversion.ConversionHelper | null = null;
static getInstance(): UserConversionUtil {
if (!UserConversionUtil.instance) {
UserConversionUtil.instance = new UserConversionUtil();
}
return UserConversionUtil.instance;
}
async init(): Promise<void> {
if (!this.conversionHelper) {
this.conversionHelper = conversion.createConversionHelper();
}
}
async getUserConversionData(): Promise<conversion.UserConversionData> {
if (!this.conversionHelper) {
return null;
}
const result = await this.conversionHelper.getUserConversionData();
return result;
}
async promoteUserConversion(): Promise<conversion.UserConversionResult> {
if (!this.conversionHelper) {
return null;
}
const result = await this.conversionHelper.promoteUserConversion();
return result;
}
}
2. 用户转化应用
entry/src/main/ets/pages/UserConversionPage.ets
import { UserConversionUtil } from '../utils/UserConversionUtil';
@Entry
@Component
struct UserConversionPage {
@State userConversionData: conversion.UserConversionData | null = null;
build() {
Column({ space: 16 }) {
Text('用户转化').fontSize(18).fontWeight(FontWeight.Bold).textColor('#000000');
if (this.userConversionData) {
Text(`注册转化率:${this.userConversionData.registrationConversionRate}%`).fontSize(14).textColor('#000000');
Text(`购买转化率:${this.userConversionData.purchaseConversionRate}%`).fontSize(14).textColor('#666666');
Text(`付费转化率:${this.userConversionData.paidConversionRate}%`).fontSize(14).textColor('#666666');
}
ButtonComponent({ text: '促进用户转化', onClick: async () => {
await this.promoteUserConversion();
}, disabled: false });
}.width('100%').height('100%').padding(16).backgroundColor('#F5F5F5');
}
aboutToAppear() {
UserConversionUtil.getInstance().init();
this.getUserConversionData();
}
async getUserConversionData(): Promise<void> {
this.userConversionData = await UserConversionUtil.getInstance().getUserConversionData();
}
async promoteUserConversion(): Promise<void> {
const result = await UserConversionUtil.getInstance().promoteUserConversion();
if (result.success) {
promptAction.showToast({ message: '促进用户转化成功' });
} else {
promptAction.showToast({ message: '促进用户转化失败' });
}
}
}
四、数据变现实战
4.1 实战目标
- 数据服务:提供数据服务;
- 数据产品:开发数据产品;
- 数据变现:实现数据变现。
4.2 数据服务实现
1. 数据服务工具类
entry/src/main/ets/utils/DataServiceUtil.ets
import service from '@ohos/service';
// 数据服务工具类
export class DataServiceUtil {
private static instance: DataServiceUtil | null = null;
private serviceHelper: service.ServiceHelper | null = null;
static getInstance(): DataServiceUtil {
if (!DataServiceUtil.instance) {
DataServiceUtil.instance = new DataServiceUtil();
}
return DataServiceUtil.instance;
}
async init(): Promise<void> {
if (!this.serviceHelper) {
this.serviceHelper = service.createServiceHelper();
}
}
async getDataServiceList(): Promise<Array<service.DataService>> {
if (!this.serviceHelper) {
return [];
}
const result = await this.serviceHelper.getDataServiceList();
return result;
}
async provideDataService(serviceId: number): Promise<service.DataServiceResult> {
if (!this.serviceHelper) {
return null;
}
const result = await this.serviceHelper.provideDataService(serviceId);
return result;
}
}
2. 数据服务应用
entry/src/main/ets/pages/DataServicePage.ets
import { DataServiceUtil } from '../utils/DataServiceUtil';
@Entry
@Component
struct DataServicePage {
@State dataServiceList: Array<service.DataService> = [];
build() {
Column({ space: 16 }) {
Text('数据服务').fontSize(18).fontWeight(FontWeight.Bold).textColor('#000000');
ListComponent({ data: this.dataServiceList, renderItem: (item: service.DataService, index: number) => {
Row({ space: 16 }) {
Text(item.name).fontSize(16).fontWeight(FontWeight.Bold).textColor('#000000');
Text(item.description).fontSize(14).textColor('#666666').maxLines(2).textOverflow({ overflow: TextOverflow.Ellipsis });
Text(`价格:¥${item.price}`).fontSize(14).textColor('#FF0000');
}.width('100%').height('auto').padding(16).backgroundColor('#FFFFFF').borderRadius(8).margin({ bottom: 8 });
}, onItemClick: (item: service.DataService, index: number) => {} });
ButtonComponent({ text: '提供数据服务', onClick: async () => {
await this.provideDataService();
}, disabled: false });
}.width('100%').height('100%').padding(16).backgroundColor('#F5F5F5');
}
aboutToAppear() {
DataServiceUtil.getInstance().init();
this.getDataServiceList();
}
async getDataServiceList(): Promise<void> {
this.dataServiceList = await DataServiceUtil.getInstance().getDataServiceList();
}
async provideDataService(): Promise<void> {
const result = await DataServiceUtil.getInstance().provideDataService();
if (result.success) {
promptAction.showToast({ message: '提供数据服务成功' });
} else {
promptAction.showToast({ message: '提供数据服务失败' });
}
}
}
4.3 数据产品实现
1. 数据产品工具类
entry/src/main/ets/utils/DataProductUtil.ets
import product from '@ohos/product';
// 数据产品工具类
export class DataProductUtil {
private static instance: DataProductUtil | null = null;
private productHelper: product.ProductHelper | null = null;
static getInstance(): DataProductUtil {
if (!DataProductUtil.instance) {
DataProductUtil.instance = new DataProductUtil();
}
return DataProductUtil.instance;
}
async init(): Promise<void> {
if (!this.productHelper) {
this.productHelper = product.createProductHelper();
}
}
async getDataProductList(): Promise<Array<product.DataProduct>> {
if (!this.productHelper) {
return [];
}
const result = await this.productHelper.getDataProductList();
return result;
}
async developDataProduct(productData: product.DataProductData): Promise<product.DataProductResult> {
if (!this.productHelper) {
return null;
}
const result = await this.productHelper.developDataProduct(productData);
return result;
}
}
4.4 数据变现实现
1. 数据变现工具类
entry/src/main/ets/utils/DataMonetizationUtil.ets
import monetization from '@ohos/monetization';
// 数据变现工具类
export class DataMonetizationUtil {
private static instance: DataMonetizationUtil | null = null;
private monetizationHelper: monetization.MonetizationHelper | null = null;
static getInstance(): DataMonetizationUtil {
if (!DataMonetizationUtil.instance) {
DataMonetizationUtil.instance = new DataMonetizationUtil();
}
return DataMonetizationUtil.instance;
}
async init(): Promise<void> {
if (!this.monetizationHelper) {
this.monetizationHelper = monetization.createMonetizationHelper();
}
}
async monetizeData(): Promise<monetization.DataMonetizationResult> {
if (!this.monetizationHelper) {
return null;
}
const result = await this.monetizationHelper.monetizeData();
return result;
}
}
五、项目配置与部署
5.1 配置文件修改
1. module.json5 修改
在「entry/src/main/module.json5」中添加生态合作、用户运营、数据变现配置:
{
"module": {
"requestPermissions": [],
"abilities": [],
"widgets": [],
"pages": []
}
}
5.2 项目部署
1. 编译项目
在 DevEco Studio 中点击「Build」→「Build HAP」,编译项目。
2. 部署到设备
3. 测试金融理财项目
- 在应用中查看金融机构合作的效果;
- 在应用中查看支付渠道合作的效果;
- 在应用中查看数据分析合作的效果;
- 在应用中查看用户增长的效果;
- 在应用中查看用户留存的效果;
- 在应用中查看用户转化的效果;
- 在应用中查看数据服务的效果;
- 在应用中查看数据产品的效果;
- 在应用中查看数据变现的效果。
相关免费在线工具
- Base64 字符串编码/解码
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
- Base64 文件转换器
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
- Markdown转HTML
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
- HTML转Markdown
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
- JSON 压缩
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
- JSON美化和格式化
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online