中国APP出海之路,早已从满足用户功能及市场需求,转变为兼顾用户市场、政治因素、法律政策等的多维度考量,充满挑战。APP出海尚且如此艰难,想要进一步变现更不必说。

本篇的初衷不是来营造焦虑的,而是传递一个APP出海提升数据的好方法,走过路过的互联网出海小伙伴,以下内容不要错过!

首先,看一组2021年10月份APP非游戏出海排行榜数据:

在 10 月的中国非游戏应用出海畅销榜中,短视频/直播依然是最热门的出海赛道,除了排名前三的 TikTok、BIGO LIVE、Likee 以外,YoYoMicoLiveMeAhlanWePlayHagoEleLive 同样在海外取得了出色的成绩,这些app不难发现它们都有一个共同点,没错,它们都是泛娱乐app

众所周知,社交和游戏被称为永恒的刚需,社交app相比于游戏拉新难,但留存高,游戏则正好相反,社交+游戏的形式正好可以互相拉动。而出海畅销榜中的大部分社交app都是通过在app内植入互动小游戏,吸引用户,提高用户间的互动频率,从而提升了产品的留存粘性及变现能力

app出海的企业可以借鉴这一方法,为产品植入契合品牌的互动小游戏。植入方式一个是自主开发,但小游戏开发是需要一定基础的,开发周期长,成本跟人力也相对较高,并且需求没有固定导向的话,很多时候前一个需求没过多久就被后一个推翻了;另一个是找专业第三方小游戏服务,将心仪的小游戏接入到产品,对比自主开发,这种方法明显比较省时省力,性价比也高,有些专业第三方服务还能从不同维度助力企业构建差异化竞争优势,并持续在用户增长活跃留存等方面获得有效突破

接入小游戏方法(以群玩服务为例):

接入方法icon-default.png?t=M4ADhttps://www.grouplay.cn/document/index/dhome

  • 方案一:题库接入 开发者通过对接api获得题库问题、答案。自定义玩法、场景等。

  • 方案二:游戏接入 开发者直接嵌入游戏SDK,设置或默认服务内的游戏玩法。支持安卓、iOS系统。可以根据自己的需求,直接应用互动页面或重新设计样式等。

使用步骤

第一步

在布局文件中使用画板View

        <com.duyu.gamesdk.paint.PaintView
            android:id="@+id/paint_view"
            android:layout_width="match_parent"
            android:layout_height="325dp" />

第二步

在代码中初始化PaintPlay

        paintPlay = new PaintPlay(new PaintCallBack() {
        @Override
        public void onReady(int timeLimit) {

        }

        @Override
        public void onSelectMessage(PaintSelectBean paintSelectBean) {

        }

        @Override
        public void onPaintMessage(PaintQuestionBean paintQuestionBean) {

        }

        @Override
        public void onPlayerAnswerMessage(PlayerAnswerBean playerAnswerBean) {

        }

        @Override
        public void onRightAnswerMessage(AnswerBean answerBean) {

        }

        @Override
        public void onGameOverRank(List<PlayerBean> list) {

        }
    });

第三步

将PaintView和PaintPlay绑定起来

paintView.bindPaintPlay(paintPlay);

*** PaintView的部分功能均需要绑定PaintPlay并连接服务器后才能正常使用

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


PaintView API

/**
 * 初始化一些参数
 * @param paintSize     画笔大小(px)
 * @param paintColor    画笔颜色
 * @param eraserSize    橡皮檫大小(px)
 * @param bgColor       画布背景颜色
 */
public void initPaint(int paintSize, String paintColor, int eraserSize, int bgColor)

/**
 * 设置是否为橡皮檫
 * @param isEraser true-橡皮檫模式 false-画笔模式
 */
public void setIsEraser(boolean isEraser)

/**
 * 画笔大小
 * @param size px
 */
public void setPaintSize(int size)

/**
 * 画笔颜色
 */
public void setPaintColor(int color)

/**
 * 橡皮擦大小
 * @param size px
 */
public void setEraserSize(int size)

/**
 * 背景颜色
 */
public void setBgColor(int color)

/**
 * 前进
 */
public void forward()

/**
 * 后退
 */
public void back()

/**
 * 清除画板
 */
public void clear()

PaintPlay API

/**
 * 选题
 * @param word 题目
 */
public void selectWord(String word)

/**
 * 答题
 * @param answer 答案
 */
public void answer(String answer)
/**
 * 换一批题目
 */
public void changeQuestion()

回调

/**
 * 开始游戏倒计时
 * @param timeLimit 秒
 */
void onReady(int timeLimit);

/**
 * 题目选择
 *
 * @param paintSelectBean 题目选择模型
 */
void onSelectMessage(PaintSelectBean paintSelectBean);
/**
 * 绘画
 *
 * @param paintQuestionBean 题目绘画模型
 */
void onPaintMessage(PaintQuestionBean paintQuestionBean);

/**
 * 玩家回答问题
 *
 * @param playerAnswerBean 回答问题模型
 */
void onPlayerAnswerMessage(PlayerAnswerBean playerAnswerBean);

/**
 * 正确答案
 *
 * @param answerBean 正确答案模型
 */
void onRightAnswerMessage(AnswerBean answerBean);

/**
 * 游戏结束排名
 *
 * @param playerList 玩家列表
 */
void onGameOverRank(List<PlayerBean> playerList);

模型

题目选择模型PaintSelectBean

字段类型说明
uidString选词人的id
choiceList<String>词语列表
choiceTimeLimitInteger倒计时

题目绘画模型PaintQuestionBean

字段类型说明
uidString绘画人的id
timeLimitInteger倒计时
tipsString提示
answerString题目答案(仅绘画人有)

回答问题模型PlayerAnswerBean

字段类型说明
uidString玩家id
isRightInteger1-正确 2-错误 3-不处理
answerString玩家的答案
scoreInteger答对该题增加的分数

正确答案模型AnswerBean

字段类型说明
answerString正确答案
Logo

致力于链接即构和开发者,提供实时互动和元宇宙领域的前沿洞察、技术分享和丰富的开发者活动,共建实时互动世界。

更多推荐