...
참고사항 |
---|
If you choose a way to authenticate at a certain point, you should implement it as shown below. Even if you choose to conduct authentication at the login time, if the user does not have a CI value, you can request authentication by calling this authentication API. If your game requires a purchase restriction with a CI value, be sure to call this API and check the CI value of the player before purchasing. |
Unity Collapse source
코드 블럭 |
---|
// Request authentication
KGKakaoProfile.RequestAgeVerification((result) =>
{
if (result.isSuccess)
{
KGLocalPlayer localPlayer = KGLocalPlayer.currentPlayer;
string ci = ((KGKakaoProfile)localPlayer.idpProfile).ci;
// Save the CI value on your game server. It is used to identify the user as one person.
}
else
{
// Fail
if(result.isSuccess)
{
KGLocalPlayer localPlayer = KGLocalPlayer.currentPlayer;
string ci = ((KGKakaoProfile)localPlayer.idpProfile).ci;
}
else
{
if (result.code == KGResultCode.UnderAgePlayer)
{
// The user is underage. Show the message, call logout API and quit your game.
}
else
{
// If personal authentication is mandatory, call this API again.
}
}
}
}); |
|
Android Collapse source
코드 블럭 |
---|
// Request authentication
KGKakaoProfile.requestAgeVerification(activity, new KGResultCallback<Void>() {
@Override
public void onResult(KGResult<Void> result) {
if (result.isSuccess()) {
KGLocalPlayer localPlayer = KGLocalPlayer.getCurrentPlayer();
String ci = ((KGKakaoProfile)localPlayer.getIdpProfile()).getCI();
// Save the CI value on your game server. It is used to identify the user as one person.
} else {
// Fail
if (result.getCode() == KGResult.KGResultCode.UDER_AGE_PLAYER) {
// The user is underage. Show the message, call logout API and quit your game.
} else {
// If personal authentication is mandatory, call this API again.
}
}
}
}); |
|
...
You can take the badge exposure information of WebView before calling InGame WebView and apply it to the UI.
Unity Collapse source
코드 블럭 |
---|
// Request In-Game Service Status
KGKakaoInReachGameService.RequestIngameStatus((result, ingameStatus) =>
{
if (result.isSuccess)
{
// Before you launch In-game Webview, check whether you want to expose the new badge.
bool showNewBadge = ingameStatus.withGame.showNewBadge;
// This is the time when the new badge is activated. You can decide whether to be exposed according to your plan.
long lastModifiedAt = ingameStatus.withGame.lastModifiedAt;
// The URL of the Webview.
string homeUrl = ingameStatus.withGame.homeUrl();
}
else
{
// Fail...
}
}); |
|
Android Collapse source
코드 블럭 |
---|
// Request In-Game Service Status
KGKakaoInReachGameService.requestIngameStatus(new KGResultCallback<KGIngameStatus>() {
@Override
public void onResult(KGResult<KGIngameStatus> result) {
if (result.isSuccess()) {
KGIngameStatus status = result.getContent();
// Before you launch In-game Webview, check whether you want to expose the new badge.
boolean showNewBadge = status.getWithGame().getShowNewBadge();
// This is the time when the new badge is activated. You can decide whether to be exposed according to your plan.
long lastModifiedAt = status.getWithGame().getLastModifiedAt();
// The URL of the Webview.
string homeUrl = status.getWithGame().getHomeUrl();
} else {
// Fail...
}
}
}); |
|
...
This is an example of exposing an in-game webview that exposes recommanded board games.
Unity Collapse source
코드 블럭 |
---|
// Show In-game Webview
KGKakaoInReachGameService.ShowIngameWebView((result, integerResult) =>
{
if (result.isSuccess)
{
// Success
}
else
{
// Fail
}
}); |
|
Android Collapse source
코드 블럭 |
---|
// Show In-game Webview
KGKakaoInReachGameService.showIngameWebView(new KGResultCallback<Integer>() {
@Override
public void onResult(KGResult<Integer> result) {
if (result.isSuccess()) {
// Success
} else {
// Fail
}
}
}); |
|
...
Ingame Webview Button
New Badge
Ex)
Image Modified