일반 함수

Login

앱 & 사이트 에서 사용자 식별을 위하여 사용자가 선택한 주소를 반환함.

Query Parameters

  • 필수 appAction : login

  • 필수 appName : 링크 참조

  • 필수 appCallbackType : 링크 참조

  • 필수 appCallback : 링크 참조

  • appReqKey : 요청 식별값

  • appIcon : 링크 참조

  • network : 링크 참조

Response

성공

  • 필수 appReqKey : 링크 참조

  • 필수 code : 0000(성공), 9999(취소), 0001~9998(오류)

  • 필수 message : 성공시 빈 문자열, 실패시 오류 메시지

  • 필수 network : 1(Mainnet) or 5(TestNet)

  • 필수 data : 성공시 선택된 주소, 실패시 빈 문자열

  • 필수 name : 성공시 선택된 주소의 명칭, 실패시 빈 문자열

  • 필수 timestamp : 서버 시간

  • 필수 sign: address + "|" + timestamp 를 RSA 로 서명한값. 사전에 제공된 공개키로 서명이 올바른지 확인하여야함.

실패(아래 문서 참조)

Example

public class LoginTest {
    protected ActivityResultLauncher<Intent>
        mStartForResult = registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), result -> {
        int i = result.getResultCode();
        if (i == Activity.RESULT_OK) {
            Intent intent = result.getData();
            if (intent == null) {
                return;
            }
            Bundle bundle = intent.getExtras();
            String code = bundle.getString("code", "");
            switch (code) {
                case "0000":
                    bindingResult.viResult.setText(R.string.success);
                    break;
                case "9999":
                    bindingResult.viResult.setText(R.string.cancel_by_user);
                    break;
                default:
                    bindingResult.viResult.setText(R.string.error);
                    break;
            }
            bindingResult.viResultCode.setText(code);
            bindingResult.viResultMessage.setText(bundle.getString("message", ""));
            bindingResult.viResultTXID.setText(bundle.getString("txid", ""));
        } else if (i == Activity.RESULT_CANCELED) {
            bindingResult.viResult.setText(R.string.cancel_by_user);
            bindingResult.viResultCode.setText("");
            bindingResult.viResultMessage.setText("");
            bindingResult.viResultTXID.setText("");
        }
    });
    
    public void doLogin(){
        Uri params = Uri.parse("metawallet://co.inblock");
        Intent intent = new Intent(Intent.ACTION_VIEW, params);
        intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
        intent.putExtra("appCction", "login");
        intent.putExtra("appReqKey", "REQUEST_KEY");
        intent.putExtra("network", "1");
        intent.putExtra("appUrl", "https://www.example.com");
        intent.putExtra("appIcon", "https://www.example.com/images/icon.png");
        intent.putExtra("appName", "Example");
        intent.putExtra("appCallbankType", "intent");
        mStartForResult.launch(intent);
    }
}

Last updated