Review/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' decisions to use the game. It is known that providing guided pop-ups can increase user engagement 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 through Hive UI, encouraging them to leave ratings and reviews. The Hive review popup can use the default provided popup or be customized with a different UI.
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 it when the user has a positive experience in the game (e.g., clearing a stage, receiving rewards)
- It is recommended to display it multiple times, but it should not cause inconvenience 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.
Show Hive review popup¶
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 immediately within the app without going to the app market.
Android native review popup conditions¶
The Hive SDK provides a feature that allows users to leave reviews while using the game in the Android environment. 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 according to 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 guidelines.
- Even in builds under development, the visibility is determined according to Google's internal policies. To set up constant visibility, please 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 utilizing games in the iOS environment to leave reviews while the game is running. Unlike the existing review pop-up, satisfaction evaluations 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 conditions for using the iOS native review pop-up 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 changed arbitrarily
- Pop-ups are displayed only 3 times per year per device in each app, and the display is subject to Apple’s internal policies, so it cannot be changed arbitrarily
- 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 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, the implementation should navigate to the previous page of the current page. Accordingly, when the user touches the device's back button during gameplay, the game should be paused, and the user should be asked whether to continue the game or exit. Show 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.
Show 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 policy, exit popups are not 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 feature
// e.g.) 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);
}
});