Hive provides a full banner to
- Expose events effectively to game users
- Encourage users for more participation in games
- Utilize as cross-promotions to advertise other games and give reward
The banner defined by Hive means a Promotion view composed of a single image without letters. If the user clicks the banner, it take the user to the detail page, the external page, or the download page of the game being advertised according to the contents configured in the Hive console. We recommend you to expose Full banner, which displays the banner image in full screen, when user enter the game lobby after login.
Registering a Full Banner on Hive Console
Design the banner image according to the horizontal and vertical mode as follows, and register it on the Hive console. For more information about banner registration, see Guide for Hive Console Promotion.
- Image size of a promotion banner
- Transverse mode: 450×800 px
- Longitudinal mode: 800×450 px
- For the games that use crossplay, please use 1280×720 images.
Displaying Full Banners
To display a full banner, call showPromotion()
method from Promotion class with PromotionType.BANNER
parameter. From Hive SDK v4.12.1, PromotionType.BANNER
displays web-type banner, and other parameters display image view-type banner. When you call PromotionType.BANNERLEGACY
, webview-type banner is displayed as usual.
When displaying a full banner with PromotionType.BANNER
parameter, the image saved on in-app storage is exposed. This image is asynchronously cached when initializing Hive SDK. If full banner is displayed while download is incomplete or failed, its display is skipped.
Starting from Hive SDK v4 24.2.0, the “Do not show today” feature at the bottom of the full banner has been changed to “Do not show for N days.” When registering a full banner in the Hive console, you can set the period not to be shown for 1-7 days. Each date is determined based on the midnight in local timezone of the relevant region. For more details, please refer to the Hive console promotion guide.
Followings are sample codes to display a full banner.
API Reference: hive.Promotion.showPromotion
1 2 3 4 5 6 7 8 9 10 11 12 13 |
using hive; PromotionType promotionViewType = PromotionType.BANNER; // If true, the 'Do not watch again today' button will not be displayed. Even if the user has already set it not to be seen again today, it is ignored and a full banner is displayed. Boolean isForced = false; // Display a full banner Promotion.showPromotion(promotionViewType, isForced, (ResultAPI result, PromotionEventType viewEventType) => { if (result.isSuccess()) { // call successful } }); |
API Reference: Promotion::showPromotion
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#include <HIVE_SDK_Plugin/HIVE_CPP.h> using namespace std; using namespace hive; PromotionType promotionViewType = PromotionType::BANNER; // If true, the 'Do not watch again today' button will not be displayed. Even if the user has already set it not to be seen again today, it is ignored and a full banner is displayed. bool isForced = false; Promotion::showPromotion(promotionViewType, isForced, [=](ResultAPI result, PromotionEventType viewEventType) { if (result.isSuccess()) { // call successful } }); |
API Reference: Promotion.showPromotion
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import com.hive.Promotion import com.hive.ResultAPI val promotionViewType = Promotion.PromotionViewType.BANNER // If true, the 'Do not watch again today' button will not be displayed. Even if the user has already set it not to be seen again today, it is ignored and a full banner is displayed. val isForced = false Promotion.showPromotion(promotionViewType, isForced, object : Promotion.PromotionViewListener { override fun onPromotionView(result: ResultAPI, promotionEventType: Promotion.PromotionViewResultType) { if (result.isSuccess) { // call successful } } }) |
API Reference: com.hive.Promotion.showPromotion
1 2 3 4 5 6 7 8 9 10 11 12 13 |
import com.hive.Promotion; import com.hive.ResultAPI; Promotion.PromotionViewType promotionViewType = Promotion.PromotionViewType.BANNER; // If true, the 'Do not watch again today' button will not be displayed. Even if the user has already set it not to be seen again today, it is ignored and a full banner is displayed. boolean isForced = false; Promotion.INSTANCE.showPromotion(promotionViewType, isForced, (result, promotionEventType) -> { if (result.isSuccess()) { // call successful } }); |
API Reference: PromotionInterface.showPromotion
1 2 3 4 5 6 7 8 9 10 11 12 |
import HIVEService let promotion: PromotionViewType = .banner // If true, the 'Do not watch again today' button will not be displayed. Even if the user has already set it not to be seen again today, it is ignored and a full banner is displayed. let isForced = false PromotionInterface.showPromotion(promotionViewType, isForced: isForced) { result, viewResultType in if result.isSuccess() { // call successful } } |
API Reference: HIVEPromotion::showPromotion
1 2 3 4 5 6 7 8 9 10 11 12 |
#import <HIVEService/HIVEService-Swift.h> HIVEPromotionViewType promotionViewType = HIVEPromotionViewTypeBANNER; // If true, the 'Do not watch again today' button will not be displayed. Even if the user has already set it not to be seen again today, it is ignored and a full banner is displayed. BOOL isForced = NO; [HIVEPromotion showPromotion: promotionViewType isForced: isForced handler: ^(HIVEResultAPI *result, HIVEPromotionViewResultType viewResultType) { if ([result isSuccess]) { // call successful } }]; |
Control full banner for cross-promotion
When you call the showPromotion()
method, all previously registered full banners were displayed. Starting from Hive SDK v4 24.2.0, you can choose whether to show cross-promotion full banners.
If you call Configuration.setCrossPromotionBannerShowing(false)
before calling the showPromotion()
method, cross-promotion full banners will not be shown when the app is launched. If you call it with true
, the banners will be shown. This method continues to affect the app as long as it remains active, so it only needs to be called once after the Hive SDK is initialized and before the showPromotion()
method is called. You can change the visibility of the banners by calling this method again with a different value (true
or false
) while the app is active.
1 2 3 4 5 6 7 |
using hive; // Set the cross-promotion full banner to not show (false) Configuration.setCrossPromotionBannerShowing(false); // Return the status of cross-promotion full banner displaying Boolean crossPromotionBannerShowing = Configuration.getCrossPromotionBannerShowing(); |
1 2 3 4 5 6 7 8 9 |
#include <HIVE_SDK_Plugin/HIVE_CPP.h> using namespace std; using namespace hive; // Set the cross-promotion full banner to not show (false) Configuration::setCrossPromotionBannerShowing(false); // Return the status of cross-promotion full banner displaying bool crossPromotionBannerShowing = Configuration::getCrossPromotionBannerShowing(); |
1 2 3 4 5 6 7 |
import com.hive.Configuration // Set the cross-promotion full banner to not show (false) Configuration.setCrossPromotionBannerShowing(false) // Return the status of cross-promotion full banner displaying val crossPromotionBannerShowing = Configuration.getCrossPromotionBannerShowing() |
1 2 3 4 5 6 7 |
import com.hive.Configuration; // Set the cross-promotion full banner to not show (false) Configuration.INSTANCE.setCrossPromotionBannerShowing(false); // Return the status of cross-promotion full banner displaying boolean crossPromotionBannerShowing = Configuration.INSTANCE.getCrossPromotionBannerShowing(); |
1 2 3 4 5 6 7 |
import HIVEService // Set the cross-promotion full banner to not show (false) ConfigurationInterface.setCrossPromotionBannerShowing(false) // Return the status of cross-promotion full banner displaying var crossPromotionBannerShowing: Bool = ConfigurationInterface.getCrossPromotionBannerShowing() |
1 2 3 4 5 6 7 |
#import <HIVEService/HIVEService-Swift.h> // Set the cross-promotion full banner to not show (false) [HIVEConfiguration setCrossPromotionBannerShowing:false]; // Return the status of cross-promotion full banner displaying BOOL crossPromotionBannerShowing = [HIVEConfiguration getCrossPromotionBannerShowing]; |