Crossplay is a Hive extension that supports to development of the PC version of the mobile games with Hive SDK applied so that users can play Hive games on PC. Now you can develop Hive games that will serve on PC by referring to the Crossplay development guide which is appropriate for your developing environment.(Download)

This page describes the differences between Crossplay and Mobile Hive SDK and the features of Crossplay.

1. SignIn

Crossplay doesn’t support Automatic Login and Guest Login.

Calling the isAutoSignIn() method during implementing Crossplay login returns False on every situation except IdP synced status. The isAutoSignIn() method returns True only when a user changes and logs in by going back to the home screen in IdP synced status. In this case, it is able to log in with the changed user by setting the IdP to Auto.
Also, crossplay doesn’t support implicit login, so that showSignIn() is called to proceed with explicit login when Helper.signin() is called. (However, except for user changes)

2. IdP disconnection

Crossplay doesn’t support guest authentication. Therefore, if you try to call the Disconnect API when only one IdP is synced, AuthV4LastProviderCantDisconnect is returned as the code of the Result API, and the connected state is maintained.

3. Review terms and conditions (4.15.8 or later)

Same as mobile Hive SDK, when you want to show the terms and conditions again in the game , call showTerms()  of class  AuthV4.

4. Promotion

  • Windows
    • If the X-Frame-Options header is set on the page due to security concerns, the promotion cannot render a page . Please first check the options of the page you want to open as a promotion.
  • Spot Banner and Direct View support V4.16.2 or higher.

5. Billing

Crossplay Billing carries on through HIVESTORE(PG payment) that supports searching the product list and purchase only. HIVESTORE doesn’t verify the client-based receipt.
The payment request screen will appear in a new window immediately upon call if you purchase through HIVESTORE in the crossplay environment.

Calling hive.IAPV4.purchase(marketPid, null, onIAPV4PurchaseCB); returns a response of ErrorCode:IAPSUCCESS=90 and Code:IAPV4HiveStoreSuccess=-6110000 immediately through onIAPV4PurchaseCB without any receipt information, and you can determine the ErrorCode (or Code) to expose a pop-up indicating that a purchase is being made in-game.

For more details, see About Hive PG payment.

6. Analytics (4.15.8+)

Crossplay 4.15.8 and later supports Hive analytics.

7. Hercules (4.16.2+)

  • How to remove the Hercules
    • Call setUseHercules(false) before SDK initialization (same as mobile)
    • Remove Hercules.dll and HIVE_UI_IMPL_C_PORT.dll when distributing the game
  • Using added Hercules API
    •  Unity
      • Enter USE_HERCULES in Scripting Define Symbols.
      • Check Allow ‘unsafe’ Code.
      • Use the HerculesPlugin to use the Hercules API.
    • Unreal
      • In HIVESDK.Build.cs, if PublicAdditionalLibraries.AddModuleDirectory + “/ThirdParty/windows/lib/Hercules.lib”);Target.Platform == UnrealTargetPlatform.Win64 , .lib settings are required as above.

8. Community (4.16.2 or higher)

  • Windows
    • Due to security concerns when opened as a frame, the page cannot be rendered if the X-Frame-Options header is set on the page.  To open as a frame, please check the options on the page to apply.

Check out the guide on the link below for handling Hive Community auto-login, etc.

5. Not Supported Features

Authentication

Crossplay supports some functions only of Auth v4 and none of the Auth class.

  • Supported IdP

    You can log in to Crossplay with the IdPs below only:

    • Hive Membership
    • Google
    • Facebook
    • SignIn-with-apple
  • Automatic Login

    Crossplay doesn’t support Automatic Login. You can proceed with the explicit login by calling the showSignIn() method or can implement it with the IdP list delivered while initializing Hive SDK.
    Implementing login with AuthV4Helper only proceeds explicit login flow.

  • Guest Login

    Crossplay doesn’t support Geust Login.

  • View Terms of Service Again

    Crossplay doesn’t support View Terms of Service Again.

  • Adult Confimation

    Crossplay doesn’t support Adult Confirmation that implements through the showAdultConfirm() method of the AuthV4 class.

Membership and Social

Crossplay doesn’t support Membership & Social functions other than Contact us.

Promotion

  • Review/Exit Popups

    Crossplay doesn’t support Review/Exit Popups because it has no market currently.

  • Offerwall

    Crossplay doesn’t support Offerwall that implements with getOfferwallState() and showOfferwall().

  • Spot banner & Direct banner

    Crossplay doesn’t support Spot banner and Direct banner.

  • User Acquisition showUAShare()

    Crossplay doesn’t support User Acquisition that implements with showUAShare(), however, you can configure an invitation screen by calling the getAppInvitationData() method.

Billing

Crossplay Billing supports PG payment. PG payment doesn’t issue receipts and delivers the item through the game server when a user requests payment immediately.

  • Purchase

    Purchasing with PG payment returns ErrorCode : IAPSUCCESS = 90 and Code : IAPV4HiveStoreSuccess = -6110000 through a Result API after calling the purchase() method immediately. These errors mean nothing to be handled separately as delivering an item immediately after the user purchases. For more details, see About Hive PG payment.

  • Verify receipt

    PG payment doesn’t issue the client-based receipt. For more details, see About Hive PG payment.

  • Promotional IAP

    Crossplay doesn’t support Promotional IAP.

  • Subscriptions

    Crossplay doesn’t support the subscription system.

  • Hive Lebi

    Crossplay doesn’t support Hive Lebi.

Notification

Crossplay doesn’t support the Notification functions.

Marketing Attribution

Crossplay doesn’t support the Marketing Attribution functions.

Analytics

Crossplay doesn’t support the Analytics functions.

Data Store

Crossplay doesn’t support the Data Store functions.

Etc.

  • Permission notice popup
  • Customization of permission notice screen
    • The getPermissionViewData() method of the Configuration class
  • Remote log-in