如今游戏已经不再是传统游戏厂商的专属,将游戏与自家产品结合当下几乎可以说是互联网厂商的一种新潮流。

在APP中嵌入小游戏之所以能够成为潮流,其实是互联网厂商对于流量永无止境的需求。在此前的流量高速增长红利期结束后,如何获取新的流量,同时巩固现有用户群体,早已成为了各大互联网厂商所面对的共同课题。其实小游戏的引入,正是游戏化设计(Gamification)的典型应用,而游戏化的目地就是通过游戏的方式,为非游戏化产品赋能,而提供更多的展示位与增加用户使用时长,则是如今APP中大量游戏化的核心原因。

如何将小游戏嵌入到产品中?

一个是自主开发,但小游戏开发是需要一定基础的,开发周期长,成本跟人力这块也是相当高的,并且需求没有固定导向的话,很多时候前一个需求没过多久就被后一个推翻了。

另一个是找一款专业靠谱的第三方服务,将心仪的小游戏接入到自身产品。相比较自主开发,省时省力、性价比高这个是接入第三方服务最为突出的特点,可以通过低成本让产品更快、更显著地活过来,想必是产品人梦寐以求的了。这里以群玩服务接入方式作为参考:

  • 方案一:题库接入 开发者通过对接api获得题库问题、答案。自定义玩法、场景等。
  • 方案二:游戏接入 开发者直接嵌入游戏SDK,设置或默认服务内的游戏玩法。支持安卓、iOS系统。可以根据自己的需求,直接应用互动页面或重新设计样式等。

谁是卧底游戏接入

使用步骤

初始化UndercoverPlay

    undercoverPlay = new UndercoverPlay(new UndercoverCallBack() {
        @Override
        public void onWordMessage(String word) {

        }

        @Override
        public void onSay(String uid, int timeLimit) {

        }

        @Override
        public void onVoteList(List<PlayerBean> voteList, int timeLimit) {

        }

        @Override
        public void onVoteResult(List<UVoteResultBean> voteList, List<PlayerBean> overList, int timeLimit) {

        }

        @Override
        public void onGameOver(List<UGameResultBean> resultList) {

        }

        @Override
        public void onRoleCount(int role0Number, int role1Number, int role2Number) {

        }
    });

后续步骤请参考快速使用部分


UndercoverPlay API

/**
 * 结束发言
 */
public void endSay()

/**
 * 投票
 */
public void vote(String uid)

回调

/**
 * 发词
 *
 * @param word 你的词
 */
void onWordMessage(String word);

/**
 * 各个身份人数
 *
 * @param role0Number 平民人数
 * @param role1Number 卧底人数
 * @param role2Number 白板人数
 */
void onRoleCount(int role0Number, int role1Number, int role2Number);

/**
 * 发言
 *
 * @param uid       玩家id
 * @param timeLimit 倒计时
 */
void onSay(String uid, int timeLimit);

/**
 * 投票成员列表
 *
 * @param voteList  可投票的玩家列表
 * @param timeLimit 倒计时
 */
void onVoteList(List<PlayerBean> voteList, int timeLimit);

/**
 * 投票结果
 *
 * @param voteList  投票结果的列表
 * @param overList  淘汰的玩家列表(无人投票的情况下会为多个)
 * @param timeLimit 倒计时
 */
void onVoteResult(List<UVoteResultBean> voteList, List<PlayerBean> overList, int timeLimit);


/**
 * 游戏结束
 *
 * @param resultList 游戏结果列表
 */
void onGameOver(List<UGameResultBean> resultList);

模型

投票结果模型UVoteResultBean

字段 类型 说明
beVoted PlayerBean 被投票人的模型
voteds List<PlayerBean> 投票人的模型列表

通知模型NoticeBean

字段 类型 说明
uid String 玩家id
text String 通知文字
type Integer 1开始游戏 2进入房间 3离开房间 4结束游戏

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐