Review and exit popups
Promotions provides game review popups and game exits popups.
- Review Popup: A popup shown up for users to rate the game with reviews on the store
- Native Review Popup: A popup shown up for users to rate the game with reviews in the game
- Exit Popup: A popup shown up before user quits the game (Android only)
Review Popup¶
Review Popup encourage users to leave ratings and reviews on the store such as Google Play Store and Apple App Store. From Hive SDK v1.16.2 and v4.11.0, Hive SDK lets you customize the phrases on the review popup by game. You can also customize the review popup text and popup UI and do not forget to link the store URL with the review popup.
Conditions of Review Popup¶
Hive SDK suggests conditions of game review popup as follows:
- Display a review popup within five minutes from the first play of a game.
- Display the review popup when a user achieves remarkable results in game such as stage clear and rewards.
- It is recommended to repeat to pop up several times, but it should not bother users to play games.
Note
Google and Apple are prohibited from attracting ratings and reviews from users by offering rewards, and Google specifically prohibits mentioning rewards.
Review Popup functions as follows:
- If a user clicks the close (button X), the review pop-up is not re-exposed on the same device.
- If a user clicks the Later button, the review pop-up is able to re-expose on the same device.
- If the app version is upgraded, the review popup is displayed again to the users who already rejected to evaluate or reviewed the game.
- In accordance with the policy, game studio should implement the display conditions and counts of the review popup.
Display Review Popup¶
To show up Review popups, call showReview()
method of Promotion class. The basic style or custom style in-app review popup is displayed depending on the settings in Promotion > App Settings of Hive Console. (See the Opration > Promotion > App Settings guide from Hive Developers.)
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
Conditions of In-game Review Popup for Android¶
From version v.4.15.1 of Hive SDK, users who use the game in the Android environment provide the ability to leave a review while the game is running. Unlike existing review pop-ups, you can evaluate your satisfaction without going to the market, and if you respond to a review request, you will be taken to the writing page immediately. Android star review pop-ups are displayed according to the policy provided by Google as follows.
Warning
Implementing the showNativeReview()
method of Promotion class is currently available on Google Play Store only. Hive SDK, which implements the Review popup to Android Market and OneStore, will release later.
- Whether or not to display a review pop-up is determined according to Google's internal policy, and it is not possible to manually change the exposure or not.
- It can be exposed on Android devices running Android 5.0 (API level 21) or higher with the Google Play Store installed if the appId is set up for using Google market.
- To enhance user privacy and prevent API misuse, It is recommended to call the API according to the contents of the Google Guide.
- Even in the build under development, exposure is decided according to Google's internal policy, and to always set the exposure, the corresponding Google Guide.
Display In-game Review Popup for Android¶
Conditions of Native Review Popup for iOS¶
Native review popup for iOS encourages users to rate and write reviews in games on iOS. This popup allows game users to click stars to score the game or add a review without switching pages to the market. Different from Game Review Popup, In-game Review Popup shows a writing page right after a user clicks Write a Review button. Hive SDK suggests conditions of native review popup for iOS as follows:
- Available to use Game Review Popup provided by Hive and native Review popup for iOS at the same time.
- If Game Review Popup is customized for each game, native review popup for iOS is unavilable to use simultaneously.
In-game Review Popup is exposed by following the Apple policy. Make sure to run with Hive SDK v1.16.0 and later, or v4.10.0 and later.
- Unavailable to customize the display order, text, or UI.
- Each game displays the popup triannually per device. Popup display follows the Apple's internal policy, so unavailable to customize.
- Run on iOS 10.3 and later versions.
- Unavailable to display the popup when a user sets Enable Restrictions for your app as disabled state on the device.
- The builds in developing are unlimited to display popups and unavailable to submit ratings to the market.
- Unavailable on the apps distributed using TestFlight.
If this API is called on Android or iOS which version does not support the in-game review, the Review Popup is exposed as usual. The condition of exposure is the same as Game Review Popup.
Display Native Review Popup for iOS¶
To show up the native review popup, call the showNativeReview()
method of Promotion class.
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
Exit Popup¶
This popup checks whether a user wants to quit the game as well as to be given game recommendations.
Note
Exit popup is provided with Android only due to a policy issue.
Note
If you link the game page on m.withhive.com with 'More games' button when implementing an exit popup, you can't use custom view but use URL via internet browser on user device.
Conditions of Exit Popup¶
According to guidelines to build apps for Android, your game should go to previous page when users tap Back button while playing a game. Therefore, if a user taps Back button, go to previous page until there is no more page to go back then display exit popup to quit or continue the game; it is usually when user is on the game lobby.
Display Exit Popup¶
To show up exit popups, call showExit()
method of Promotion class. When a user clicks the exit button after the exit popup appears, PromotionEventType.EXIT
is assigned to promotionEventType
. The following is an example code that shows an exit popup.
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 app termination functionality
// Ex) 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);
}
});