跳转至

查看/退出弹出窗口

该促销提供游戏评论弹出窗口和游戏退出弹出窗口供游戏使用。来自玩家的正面评分和用户评论会影响其他用户使用该游戏的决定。众所周知,提供诱导弹出窗口可以将用户参与度提高5到10倍。您可以使用Hive提供的功能,或直接在游戏中实现它们并链接到市场URL(可以在应用市场中撰写应用评论的位置)。

弹出类型 描述
Hive 评价弹出窗口 一个弹出窗口,鼓励用户在下载游戏应用的市场中留下评分和评论。
原生评价弹出窗口 (Android/iOS) 一个弹出窗口,鼓励用户在游戏内立即留下评分和评论,而无需转到市场。


下面是一个流程图,展示了两种类型的审核弹出操作的过程。

Hive 评价弹窗

这是一个弹出窗口,使用 Hive 界面引导用户到市场,鼓励他们留下评分和评论。Hive 评论弹出窗口可以使用提供的默认弹出窗口或使用不同的界面进行自定义。

设置类型 描述
默认设置 提供的默认弹出窗口
自定义设置 自定义用户界面弹出窗口
Note

在配置 Hive 评价弹窗时,您需要将应用市场的URL链接(可以在应用市场中评分和写评论的位置的链接)插入到弹窗中。

Hive 评审弹出条件

在 Hive SDK 中,审核弹出窗口的推荐条件如下。

  • 在用户安装后首次启动游戏的5分钟内显示评价提示
  • 当用户在游戏中有积极体验时显示(例如,通关、获得奖励)
  • 建议多次显示,但不应造成用户的不适
Note

谷歌和苹果禁止提供激励措施以鼓励高评分,尤其是谷歌禁止提及任何激励措施。

Hive 评论弹窗的功能如下。

  • 如果用户点击关闭 (X)按钮,则评论弹出窗口将在同一设备上不再显示。
  • 如果用户点击稍后提醒我按钮,则评论弹出窗口可能会在同一设备上再次显示。
  • 如果应用版本发生变化,它将再次显示给已经参与或拒绝的用户。
  • 显示评论弹出窗口的条件以及显示次数必须根据Hive的条件直接在游戏中实现。

显示 Hive 评价弹窗

  • Hive 评论弹出截图

要显示 Hive 评价弹窗,请调用 Promotion 类的 showReview() 方法。根据在控制台的 Promotion > App Settings 中所做的设置,将显示默认样式或自定义样式的评价弹窗。(请参阅开发者网站上的 Operation > Promotion > App Settings

API 参考: Promotion .showReview

using hive;    
    Promotion.showReview((ResultAPI result, PromotionEventType viewEventType) => {    
    if (result.isSuccess()) {    
    // call successful    
    }    
});
#include "HivePromotion.h"

FHivePromotion::ShowReview(FHivePromotionViewDelegate::CreateLambda([this](const FHiveResultAPI& Result, const EHivePromotionEventType& PromotionEventType) {
        if (Result.IsSuccess()) {
                // API 调用成功
        }
}));

API 参考: Promotion ::showReview

#include <HIVE_SDK_Plugin/HIVE_CPP.h>    
    using namespace std;    
    using namespace hive;    
    Promotion::showReview([=](ResultAPI const & result, PromotionEventType viewEventType) {    
         if (result.isSuccess()) {    
             // call successful    
         }    
});

API 参考: Promotion.showReview

import com.hive.Promotion    
    import com.hive.ResultAPI    
    Promotion.showReview(object : Promotion.PromotionViewListener {    
         override fun onPromotionView(result: ResultAPI, promotionEventType: Promotion.PromotionViewResultType) {    
             if (result.isSuccess) {    
                 // call successful    
             }    
         }    
})

API 参考: Promotion .INSTANCE.showReview

import com.hive.Promotion;    
    import com.hive.ResultAPI;    
    Promotion.INSTANCE.showReview((result, promotionEventType) -> {    
         if (result.isSuccess()) {    
             // call successful    
         }    
});

API 参考: PromotionInterface .showReview

import HIVEService    
    PromotionInterface.showReview() { result, viewResultType in    
    if result.isSuccess() {    
    // call successful    
    }    
}

API 参考: HIVEPromotion showReview

#import <HIVEService/HIVEService-Swift.h>    
    [HIVEPromotion showReview: ^(ResultAPI *result, HIVEPromotionViewResultType viewResultType) {    
         if ([result isSuccess]) {    
             // API call successful    
         }    
}];

本地评论弹窗

这是一个弹出窗口,允许用户在应用内立即留下星级评分和评论,而无需移动到应用市场。

Android原生评论弹窗条件

Hive SDK 提供了一项功能,允许在游戏运行时使用 Android 环境的用户留下评论。与现有的评论弹出窗口不同,满意度评分可以在不转到市场的情况下进行,如果您响应评论请求,将直接带您到写作页面。Android 原生评论弹出窗口将根据 Google 提供的政策显示,如下所示。

Warning

促销类的 showNativeReview() 方法可以在使用 Google Play 商店时应用。

  • 审核弹窗的可见性根据谷歌的内部政策决定,无法随意更改。
  • 如果应用程序 ID 连接到谷歌市场,则可以在安装了 Google Play 商店的 Android 设备上显示。
  • 为了增强用户隐私保护并防止 API 滥用,建议根据谷歌 Play 应用内审核 API指南调用 API。
  • 可见性还根据谷歌的内部政策决定,适用于正在开发中的版本。要设置为持续可见,请参考谷歌提供的应用内审核测试指南。

显示 Android 原生评论弹窗

  • 安卓原生评论弹窗截图

iOS 原生评论弹窗条件

Hive SDK 提供了一项功能,允许在 iOS 环境中使用游戏的用户在游戏运行时留下评论。与现有的评论弹出窗口不同,它允许在不跳转到市场的情况下进行满意度评估,如果用户响应评论请求,他们会立即被带到写作页面。使用 iOS 原生评论弹出窗口的条件如下。

  • 即使您使用Hive中常见的评论弹出窗口,它也可以与iOS原生评论弹出窗口同时使用。
  • 如果您使用游戏中开发的自定义评论弹出窗口,则无法与iOS原生评论弹出窗口同时使用。

根据苹果提供的政策,将显示iOS原生审核弹窗。

  • 曝光、文本、用户界面等的顺序不能随意更改。
  • 每个应用程序每年每个设备仅显示弹出窗口3次,显示受苹果内部政策的限制,因此不能随意更改。
  • 如果用户在设备设置中禁用了应用内评分和评论项目,则不会显示。
  • 在开发中的构建中,无论曝光次数如何,始终会显示,但评分不能提交到市场。
  • 使用TestFlight分发的应用程序将不会显示。

显示 iOS 原生评论弹窗

  • iOS 原生审核弹窗截图

要显示本地评论弹出窗口,请调用Promotion类的showNativeReview()方法。

API 参考: Promotion .showNativeReview

using hive;    

Promotion.showNativeReview();

API 参考: Promotion ::showNativeReview

#include <HIVE_SDK_Plugin/HIVE_CPP.h>    
    using namespace std;    
    using namespace hive;    

Promotion::showNativeReview(NULL);
#include "HivePromotion.h"

FHivePromotion::ShowReview(FHivePromotionViewDelegate::CreateLambda([this](const FHiveResultAPI& Result, const EHivePromotionEventType& PromotionEventType) {
        // Native review callback is no longer supported
}));

API 参考: Promotion.showNativeReview

import com.hive.Promotion    
    import com.hive.ResultAPI    

Promotion.showNativeReview()

API 参考: Promotion .INSTANCE.showNativeReview

import com.hive.Promotion;    
    import com.hive.ResultAPI;    

Promotion.INSTANCE.showNativeReview()

API 参考: PromotionInterface.showNativeReview

import HIVEService    

PromotionInterface.showNativeReview()

API 参考: HIVEPromotion showNativeReivew

#import <HIVEService/HIVEService-Swift.h>    

[HIVEPromotion showNativeReivew];

结束弹出

退出弹窗是一个询问用户是否退出游戏的弹窗,同时请求确认是否接收配备有 Hive 的游戏推荐列表。

Note

由于政策原因,iOS 设备上不提供游戏退出弹窗,仅在 Android 设备上可用。

Note

如果您直接实现结束弹出窗口并通过更多游戏按钮链接到m.withhive.com的游戏页面,则无法使用自定义视图。您必须通过设备上安装的浏览器导航到该URL。

退出弹窗条件

根据Android应用开发指南,当用户在游戏过程中触摸设备的返回按钮时,应实现导航到当前页面的上一页。因此,当用户在游戏过程中触摸设备的返回按钮时,游戏应暂停,并询问用户是否继续或退出游戏。当没有上一页可以返回时,显示退出弹窗。通常,当用户在游戏大厅时,没有上一页可以返回。

显示退出弹窗

  • 结束弹出窗口截图

要显示退出弹出窗口,请调用Promotion类的showExit()方法。在退出弹出窗口出现后,如果用户点击退出按钮,promotionEventType将被赋值为PromotionEventType.EXIT。 这是一个显示退出弹出窗口的示例代码。由于苹果政策,iOS设备没有提供退出弹出窗口,因此没有iOS示例代码。

API 参考: hive.Promotion.showExit

using hive;    

    hive.Promotion.showExit(ResultAPI result, PromotionEventType viewEventType) => {    
         if (!result.isSuccess()) {    
             return;    
         }    

         // 调用成功    
         if (viewEventType == PromotionEventType.EXIT) {    
             //TODO:    
             // 实现应用程序终止功能    
             Application.Quit();    
         }    
});
#include "HivePromotion.h"

FHivePromotion::ShowExit(FHivePromotionViewDelegate::CreateLambda([this](const FHiveResultAPI& Result, const EHivePromotionEventType& PromotionEventType) {
        if (!Result.IsSuccess()) {
                return;
        }

        if (PromotionEventType == EHivePromotionEventType::EXIT) {
                // TODO: 实现应用退出功能
                // e.g.) UKismetSystemLibrary::QuitGame(GetWorld(), nullptr, EQuitPreference::Quit, false);
        }
}));

API 参考: Promotion::showExit

#include <HIVE_SDK_Plugin/HIVE_CPP.h>    
    using namespace std;    
    using namespace hive;    

    Promotion::showExit([=](ResultAPI result, PromotionEventType viewEventType) {    
         if (!result.isSuccess()) {    
             return;    
         }    

         // 调用成功    
         if (viewEventType == PromotionEventType::EXIT) {    
             //TODO:    
             // 实现应用程序终止功能    
             // Cocos2d-x 引擎用户    
             exit(0);    
             // 虚幻引擎用户    
             UKismetSystemLibrary::QuitGame(GetWorld(), nullptr, EQuitPreference::Quit, false);    
         }    
});

API 参考: com.hive.Promotion.showExit

import com.hive.Promotion    
    import com.hive.ResultAPI    

    Promotion.showExit(object: Promotion.PromotionViewListener {    
         override fun onPromotionView(result: ResultAPI, promotionEventType: Promotion.PromotionViewResultType) {    
             if (!result.isSuccess) {    
                 return    
             }    

             // 调用成功    
             if (promotionEventType == Promotion.PromotionViewResultType.NEED_TO_EXIT) {    
                 //TODO:    
                 // 实现应用程序终止功能    
                 exitProcess(0)    
             }    
         }    
})

API 参考: Promotion.INSTANCE.showExit

import com.hive.Promotion;    
    import com.hive.ResultAPI;    

    Promotion.INSTANCE.showExit((result, promotionEventType) -> {    
         if (!result.isSuccess()) {    
             return;    
         }    

         // 调用成功    
         if (promotionEventType == Promotion.PromotionViewResultType.NEED_TO_EXIT) {    
             //TODO:    
             // 实现应用程序终止功能    
             System.exit(0);    
         }    
});