Customer service¶
Customer Service is a system where you can contact a representative 1:1 for inquiries or issues that occur while using the game or platform and receive answers.
Contact us¶
The 1:1 inquiry is a customer service portal provided by the Hive SDK, offering features such as FAQs and inquiry options. The inquiry feature is not only available in-game but can also provide the same functionality on mobile and PC websites.
Hive SDK provides a feature to expose 1:1 inquiries in a web view within the app. To expose 1:1 inquiries, you must follow the steps below.
- The developer implements a button or UI element that can expose 1:1 inquiries in the app.
- When the user selects this button or UI element in the app, the app utilizes the Hive SDK authentication feature to call
AuthV4.showInquiry
.
Calling AuthV4.showInquiry
will display the inquiry screen provided by the Hive SDK. Users can register game inquiries on the inquiry screen.
Here are some points to keep in mind when implementing the exposure for 1:1 inquiries.
- The Hive PlayerID (CS Code) required when the user registers an inquiry must be displayed in the app UI.
- Users should be able to use it even in guest login status.
- The regulations for displaying the customer service center link may vary depending on the game publishing company.
- Displaying the app developer's phone number or email address is not allowed due to policy, aside from the 1:1 inquiry button.
This is an example code that exposes a contact form.
API Reference: AuthV4.showInquiry
API Reference: AuthV4 ::showInquiry
API Reference: AuthV4.showInquiry
API Reference: AuthV4.INSTANCE.showInquiry
API Reference: AuthV4Interface .showInquiry
API Reference: [ HIVEAuthV4 showInquiry]
My inquiry history (Hive membership IdP exclusive)¶
When integrating Hive membership IdP, users can quickly check their submitted inquiries through the "My Inquiry History" shortcut. The Hive SDK provides a feature to display the "My Inquiry History" in a web view within the app. To display your inquiry history, you must follow the steps below.
- The developer will implement a button or UI element in the app that can expose my inquiry history.
- When the user selects this button or UI element in the app, the app will utilize the Hive SDK authentication feature to call
AuthV4.showMyInquiry
.
Calling AuthV4.showMyInquiry
will expose my inquiry history provided by the Hive SDK.
If my inquiry history is not available¶
The following are cases where AuthV4.showMyInquiry
cannot be called.
- If the user calls
AuthV4.showInquiry
to create a 1:1 inquiry after linking with another IdP such as Facebook or Google instead of the Hive membership in the app - If the user calls
AuthV4.showInquiry
to create a 1:1 inquiry while not logged in with any IdP in the app - If the user accesses the customer service page via a web browser and creates a 1:1 inquiry
In situations 2 and 3 above, after the user writes a 1:1 inquiry and logs in with the Hive membership IdP account in the app, they cannot retrieve their inquiry history even after calling AuthV4.showMyInquiry
.
This is an example code that exposes my inquiry history.
API Reference: hive.AuthV4 .showMyInquiry
API Reference: AuthV4:: showMyInquiry
API Reference: AuthV4.showMyInquiry
API Reference: com.hive .AuthV4.showMyInquiry
API Reference: AuthV4Interface .showMyInquiry
API Reference: HIVEAuthV4:: showMyInquiry
Chatbot¶
Hive SDK provides a feature for customers to inquire in the chatbot.
Contacting the chatbot¶
Hive SDK provides the functionality to display chatbot inquiries in a web view within the app. To display chatbot inquiries, you must follow the steps below.
- The developer implements a button or UI element that can expose chatbot inquiries in the app.
- When the user selects this button or UI element in the app, the app utilizes the Hive SDK authentication feature to call
AuthV4.showChatbotInquiry
.
This is an example code that exposes the chatbot inquiry.
API Reference: hive .AuthV4.showChatbotInquiry
API Reference: AuthV4 ::showChatbotInquiry
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace std;
using namespace hive;
// String data in JSON format promised to be delivered when calling the chatbot page shortcut API
string additionalInfo = "{ \"init_path\":\"hive_sdk_api\" }";
AuthV4::showChatbotInquiry(additionalInfo, [=](ResultAPI const &result) {
if (result.isSuccess()) {
// call successful
}
});
API Reference: AuthV4.showChatbotInquiry
import com.hive.AuthV4;
import com.hive.ResultAPI;
// String data in JSON format promised to be delivered when calling the chatbot page shortcut API
val additionalInfo = "{ \"init_path\":\"hive_sdk_api\" }"
AuthV4.showChatbotInquiry(additionalInfo, object : AuthV4.AuthV4ShowChatbotInquiryListener {
override fun onAuthV4ShowChatbotInquiry(result: ResultAPI) {
if (result.isSuccess) {
// call successful
}
}
})
API Reference: com.hive .AuthV4.showChatbotInquiry
import com.hive.AuthV4;
import com.hive.ResultAPI;
// String data in JSON format promised to be delivered when calling the chatbot page shortcut API
String additionalInfo = "{ \"init_path\":\"hive_sdk_api\" }";
AuthV4.INSTANCE.showChatbotInquiry(additionalInfo, result -> {
if (result.isSuccess()) {
// call successful
}
});
API Reference: AuthV4Interface.showChatbotInquiry
API Reference: HIVEAuthV4:: showChatbotInquiry
#import <HIVEService/HIVEService-Swift.h>
// String data in JSON format promised to be delivered when calling the chatbot page shortcut API
NSString *additionalInfo = @"{ \"init_path\":\"hive_sdk_api\" }";
[HIVEAuthV4 showChatbotInquiry:additionalInfo handler:^(HIVEResultAPI *result) {
if ([result isSuccess]) {
// call successful
}
}];
#include "HiveAuthV4.h"
// The promised JSON formatted String data to be sent when calling the chatbot page shortcut API
TSharedPtr<FJsonObject> AdditionalInfoJson = MakeShareable(new FJsonObject);
AdditionalInfoJson->SetStringField(TEXT("init_path"), TEXT("hive_sdk_api"));
FString StrAdditionalInfo;
TSharedRef<TJsonWriter<>> JsonWriter = TJsonWriterFactory<>::Create(&StrAdditionalInfo);
FJsonSerializer::Serialize(AdditionalInfoJson.ToSharedRef(), JsonWriter);
FHiveAuthV4::ShowChatbotInquiry(StrAdditionalInfo, FHiveAuthV4OnShowInquiryDelegate::CreateLambda([this](const FHiveResultAPI& Result) {
if (Result.IsSuccess()) {
// Call succeeded
}
}));
additionalInfo
is a string type constant ("{ \"init_path\":\"hive_sdk_api\" }"
), which is the data to be sent along when the chatbot page is displayed.
Appdelegate settings (ios)¶
The AppDelegate
used in chatbots is a class that defines common behaviors (methods) that occur in the top-level object of an iOS app, and it is automatically generated when built using an Xcode project. The Hive SDK exposes the chatbot UI in a portrait-fixed manner for user convenience, and for this feature to work correctly on iOS, the screen rotation-related method application(_:supportedInterfaceOrientationsFor:)
of the game engine's AppDelegate
class must be implemented as follows.
// If the game engine is made in Objective-C, implement the following AppDelegate function
- (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
// TODO: For landscape-only games
return UIInterfaceOrientationMaskLandscape;
// TODO: For portrait-only games
return UIInterfaceOrientationMaskPortrait;
// TODO: For games that support both landscape and portrait
return UIInterfaceOrientationMaskAll;
}
// If it's a game engine made with Swift, implement the following AppDelegate function
func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask
{
// TODO: For landscape-only games
return [.landscape]
// TODO: For portrait-only games
return [.portrait]
// TODO: For games that support both landscape and portrait
return .all
}
The return value of the above method is returned as the UIInterfaceOrientationMask
value to be applied to the game. For a landscape-only game, it returns landscape; for a portrait-only game, it returns portrait; and for a game that supports both landscape and portrait, it returns both landscape and portrait.
Warning
The Unity engine already implements the AppDelegate methods related to screen rotation, which will be automatically generated when building through the Xcode project. In other words, if you are developing a game with Unity, there is no need to implement the application(_:supportedInterfaceOrientationsFor:)
method in the example code above.
If you want to display the chatbot screen in portrait mode on the iPad, apply the additional settings below in Xcode and then build.