버전 비교

  • 이 줄이 추가되었습니다.
  • 이 줄이 삭제되었습니다.
  • 서식이 변경되었습니다.

...

참고사항

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
        }
    }
});

...

  1. Ingame Webview Button

  2. New Badge

  3. Ex)

    Image Modified