Flutter奖励系统插件rewardrally的使用

Flutter奖励系统插件rewardrally的使用

前置条件

Reward Rally账户

要注册Reward Rally账户,请通过电话(+91 8925841838)或发送电子邮件至指定邮箱(contact@rewardrally.in)联系我们。一旦联系到我们,我们将为您创建一个账户以便继续流程。

Reward Rally账户所需信息:

  • 组织名称
  • 组织邮箱地址
  • 用户名
  • 电话号码

我们将为您的组织生成一个客户端ID和密钥。您提供的用户应该是那些将访问管理面板进行配置的人。我们会使用给定的电话号码创建一个管理员,以便您可以访问组织的Reward Rally账户。

请注意,集成需要一个活跃的Reward Rally账户,并且您应该拥有相应的登录凭证。

安装

通过以下命令安装rewardrally插件:

flutter pub add rewardrally

使用

导入rewardrally包

在您的小部件中导入rewardrally包:

import 'package:rewardrally/rewardrally.dart';

替换客户端凭据

在下面的代码中替换客户端凭据。

初始化RewardRally

传递以下参数初始化RewardRally:

  • clientId
  • clientSecret
  • userId
  • appId
RewardRallyConfig.initialize(clientId, clientSecret, userId, appId);
await RewardRallyService.init();

在小部件中放置LeaderBoard

在您希望渲染排行榜的地方放置以下标签,并传递所需的参数,例如userIdappId(应用ID)。

LeaderBoard(
  applicationId: <应用ID>,
  userId: <用户ID>,
  overLayPosition: OverLayPositionModel(
    top: 50.0, right: 10.0, left: null, bottom: null),
)

更新游戏操作

调用updateGameAction()函数从RewardRallyService更新用户的排行榜分数。传递所需的参数,例如userIdgameActionId。您可以通过配置面板获取GameActionId

RewardRallyService.updateGameAction(userId, gameActionId, '', '');

安全报告

如果您发现我们库或服务中的安全问题,请尽可能详细地将其报告至contact@rewardrally.in。收到信息后,我们将尽快与您联系。

许可证

版权所有 © Peninsular Research Operation. 保留所有权利。

联系方式

如需提问、反馈或报告问题,请联系contact@rewardrally.in。

关键词

RewardRally 游戏化 Flutter 角度 用户参与度和留存率 提高客户留存率 员工参与度 员工留存率 提高客户参与度


示例代码

import 'package:flutter/material.dart';
import 'package:rewardrally/rewardrally.dart';

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();

  // 替换为您的客户端ID、客户端密钥、用户ID和应用ID
  RewardRallyConfig.initialize('your_client_id', 'your_client_secret', 'your_user_id', 'your_app_id');
  await RewardRallyService.init();

  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      debugShowCheckedModeBanner: false,
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({Key? key, required this.title}) : super(key: key);
  final String title;

  [@override](/user/override)
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  Future<void> _incrementCounter() async {
    await RewardRallyService.updateGameAction('your_user_id', 'your_game_action_id', '', '');
    setState(() {
      _counter++;
    });
  }

  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Bus Booking',
      debugShowCheckedModeBanner: false,
      theme: ThemeData(primarySwatch: Colors.lightGreen),
      home: Scaffold(
        body: Layout(title: ""),
        floatingActionButton: FloatingActionButton(
          onPressed: _incrementCounter,
          tooltip: 'Increment',
          child: Icon(Icons.add),
        ),
      ),
    );
  }
}

更多关于Flutter奖励系统插件rewardrally的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html

1 回复

更多关于Flutter奖励系统插件rewardrally的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


使用 rewardrally 插件在 Flutter 中实现奖励系统

rewardrally 是一个 Flutter 插件,用于在应用中实现奖励系统。它可以帮助你轻松地管理和展示用户的奖励、积分、等级等信息。以下是使用 rewardrally 插件的基本步骤和示例代码。

1. 添加依赖

首先,在 pubspec.yaml 文件中添加 rewardrally 插件的依赖:

dependencies:
  flutter:
    sdk: flutter
  rewardrally: ^1.0.0  # 请使用最新版本

然后运行 flutter pub get 来安装依赖。

2. 初始化 RewardRally

在你的应用的 main 函数中初始化 RewardRally

import 'package:flutter/material.dart';
import 'package:rewardrally/rewardrally.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await RewardRally.initialize();
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Reward Rally',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: RewardRallyHomePage(),
    );
  }
}

3. 创建奖励页面

创建一个页面来展示用户的奖励信息。你可以使用 RewardRally 提供的 API 来获取用户的积分、等级等信息。

import 'package:flutter/material.dart';
import 'package:rewardrally/rewardrally.dart';

class RewardRallyHomePage extends StatefulWidget {
  @override
  _RewardRallyHomePageState createState() => _RewardRallyHomePageState();
}

class _RewardRallyHomePageState extends State<RewardRallyHomePage> {
  int userPoints = 0;
  int userLevel = 1;

  @override
  void initState() {
    super.initState();
    _loadUserData();
  }

  Future<void> _loadUserData() async {
    userPoints = await RewardRally.getUserPoints();
    userLevel = await RewardRally.getUserLevel();
    setState(() {});
  }

  Future<void> _earnPoints(int points) async {
    await RewardRally.earnPoints(points);
    _loadUserData();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Reward Rally'),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Text(
              'Points: $userPoints',
              style: TextStyle(fontSize: 24),
            ),
            Text(
              'Level: $userLevel',
              style: TextStyle(fontSize: 24),
            ),
            SizedBox(height: 20),
            ElevatedButton(
              onPressed: () => _earnPoints(10),
              child: Text('Earn 10 Points'),
            ),
          ],
        ),
      ),
    );
  }
}

4. 使用 RewardRally API

RewardRally 提供了一些常用的 API,例如:

  • RewardRally.earnPoints(int points): 增加用户的积分。
  • RewardRally.getUserPoints(): 获取用户的当前积分。
  • RewardRally.getUserLevel(): 获取用户的当前等级。
  • RewardRally.resetUserData(): 重置用户的积分和等级。

你可以根据你的应用需求调用这些 API 来实现不同的功能。

5. 自定义奖励系统

rewardrally 插件提供了基本的积分和等级管理功能,但你可以根据需要进行扩展。例如,你可以自定义等级规则、奖励机制等。

6. 处理奖励逻辑

你可以在用户完成特定任务时调用 RewardRally.earnPoints(int points) 来奖励用户积分。当用户的积分达到一定数量时,可以升级用户的等级。

Future<void> _checkLevelUp() async {
  int points = await RewardRally.getUserPoints();
  int level = await RewardRally.getUserLevel();
  if (points >= level * 100) {
    await RewardRally.levelUp();
    setState(() {});
  }
}
回到顶部