Review and exit popups
The promotion provides game review pop-ups and game exit pop-ups for use in the game. Positive ratings and user reviews from gamers influence other users' engagement with the game. It is known that providing inducement pop-ups can increase user participation by 5 to 10 times. You can use the features provided by Hive or implement them directly in the game and link to the market URL.
Popup Type | Description |
---|---|
Hive Review Popup | A popup that encourages users to leave ratings and reviews for the game in the market where the game app was downloaded. |
Native Review Popup (Android/iOS) | A popup that encourages users to leave ratings and reviews immediately within the game without moving to the market. |
Below is a flowchart showing the process of two types of review pop-up actions.
Hive review popup¶
This is a popup that guides users to the market using Hive UI and encourages them to leave ratings and reviews. The Hive review popup can either use the default provided popup or be customized for UI use.
Setting Type | Description |
---|---|
Default Settings | Default provided popup |
Custom Settings | Custom UI Popup |
Note
When configuring the Hive review popup, you need to insert the app market URL link (the link to the location where you can rate and write a review in the app market) into the popup.
Hive review popup conditions¶
The recommended conditions for the review popup in the Hive SDK are as follows.
- Display a review prompt within 5 minutes after the user first launches the game after installation
- Display when the user has a positive experience in the game (e.g., stage clear, reward given)
- It is recommended to display it multiple times, but it should not cause discomfort to the user
Note
Google and Apple prohibit providing incentives to encourage high ratings, and in particular, Google prohibits any mention of incentives.
The features of the Hive review popup are as follows.
- If the user clicks the Close (X) button, the review popup will not be displayed again on the same device.
- If the user clicks the Remind me later button, the review popup may be displayed again on the same device.
- If the app version changes, it will be displayed again to users who have already participated or declined.
- The conditions for displaying the review popup and the number of displays must be implemented directly in the game according to Hive conditions.
Hive review popup display¶
To display the Hive review popup, call the Promotion class's showReview()
method. Depending on the settings configured in the console under Promotion > App Settings, either the default style or custom style review popup will be displayed. (Refer to Operation > Promotion > App Settings on the developer site)
API Reference: Promotion .showReview
API Reference: Promotion ::showReview
API Reference: Promotion.showReview
API Reference: Promotion .INSTANCE.showReview
API Reference: PromotionInterface .showReview
API Reference: HIVEPromotion showReview
Native review popup¶
This is a popup that allows users to leave ratings and reviews instantly within the app without moving to the app market.
Android native review popup conditions¶
Hive SDK provides a feature that allows users using games in the Android environment to leave reviews while the game is running. Unlike the existing review pop-up, satisfaction ratings can be made without moving to the market, and if you respond to the review request, you will be taken directly to the writing page. The Android native review pop-up will be displayed according to the policies provided by Google as follows.
Warning
Promotion class's showNativeReview()
method can be applied when using the Google Play Store.
- The visibility of the review popup is determined by Google's internal policies, and it cannot be changed arbitrarily.
- If the app ID is linked to the Google market, it can be displayed on Android devices with the Google Play Store installed.
- To enhance user privacy protection and prevent API misuse, it is recommended to call the API according to the Google Play In-App Review API guide.
- The visibility is also determined by Google's internal policies for builds under development. To set up constant visibility, refer to the In-App Review Testing guide provided by Google.
Displaying Android native review popup¶
iOS native review popup conditions¶
Hive SDK provides a feature that allows users using the game in the iOS environment to leave reviews while the game is running. Unlike the existing review popup, it allows for satisfaction evaluation without moving to the market, and if you respond to the review request, you will be taken directly to the writing page. The conditions for using the iOS native review popup are as follows.
- Even if you use the review popup provided commonly in Hive, it can be used simultaneously with the iOS native review popup.
- If you use a custom review popup developed in the game, it cannot be used simultaneously with the iOS native review popup.
According to the policy provided by Apple, the iOS native review popup will be displayed.
- Exposure order, text, UI, etc. cannot be arbitrarily changed
- Pop-ups are displayed only 3 times a year per device in each app, and the display is subject to Apple's internal policies, so arbitrary changes are not allowed
- If the user disables (OFF) the In-App Ratings and Reviews option in device settings, it will not be displayed
- In builds under development, it is always displayed regardless of the number of exposures, but ratings cannot be submitted to the market
- Apps distributed using TestFlight will not be displayed
Displaying iOS native review popup¶
To display the native review popup, call the Promotion class's showNativeReview()
method.
API Reference: Promotion .showNativeReview
API Reference: Promotion ::showNativeReview
API Reference: Promotion.showNativeReview
API Reference: Promotion .INSTANCE.showNativeReview
API Reference: PromotionInterface.showNativeReview
API Reference: HIVEPromotion showNativeReivew
End popup¶
The exit popup is a popup that asks the user whether to exit the game, and it also requests confirmation on whether to receive a list of game recommendations equipped with Hive.
Note
The game exit popup is not provided on iOS devices for policy reasons and is only available on Android devices.
Note
If you implement the exit popup directly and connect to the game page of m.withhive.com through the More Games button, you cannot use a custom view. You must navigate to the URL through the browser installed on the device.
Exit popup conditions¶
According to the Android app development guidelines, when a user touches the device's back button during gameplay, it should be implemented to navigate to the previous page of the current page. Accordingly, when a user touches the device's back button during gameplay, the game should be paused, and the user should be asked whether to continue or exit the game. Display an exit popup when there are no more previous pages to return to. Typically, there are no previous pages to return to when the user is in the game lobby.
Displaying exit popup¶
To display the exit popup, call the Promotion class's showExit()
method. After the exit popup appears, if the user clicks the exit button, promotionEventType
will be assigned PromotionEventType.EXIT
. Here is an example code to display the exit popup. Due to Apple policies, there is no exit popup provided on iOS devices, so there is no iOS example code.
API Reference: hive.Promotion.showExit
#include "HivePromotion.h"
FHivePromotion::ShowExit(FHivePromotionViewDelegate::CreateLambda([this](const FHiveResultAPI& Result, const EHivePromotionEventType& PromotionEventType) {
if (!Result.IsSuccess()) {
return;
}
if (PromotionEventType == EHivePromotionEventType::EXIT) {
// TODO: Implement the app exit functionality
// For example) UKismetSystemLibrary::QuitGame(GetWorld(), nullptr, EQuitPreference::Quit, false);
}
}));
API Reference: 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;
}
// call successful
if (viewEventType == PromotionEventType::EXIT) {
//TODO:
// Implement app termination functionality
// Cocos2d-x engine user
exit(0);
// Unreal Engine User
UKismetSystemLibrary::QuitGame(GetWorld(), nullptr, EQuitPreference::Quit, false);
}
});
API Reference: 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
}
// call successful
if (promotionEventType == Promotion.PromotionViewResultType.NEED_TO_EXIT) {
//TODO:
// Implement app termination functionality
exitProcess(0)
}
}
})
API Reference: Promotion.INSTANCE.showExit
import com.hive.Promotion;
import com.hive.ResultAPI;
Promotion.INSTANCE.showExit((result, promotionEventType) -> {
if (!result.isSuccess()) {
return;
}
// call successful
if (promotionEventType == Promotion.PromotionViewResultType.NEED_TO_EXIT) {
//TODO:
// Implement app termination functionality
System.exit(0);
}
});