Skip to content

Commit

Permalink
UnitySDK & 데모 프로젝트
Browse files Browse the repository at this point in the history
  • Loading branch information
lancekun committed Dec 23, 2021
1 parent efa257e commit e7add1d
Show file tree
Hide file tree
Showing 93 changed files with 13,381 additions and 1 deletion.
68 changes: 67 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,67 @@
# KlipSDKUnity
# Klip App2App SDK SDK for Unity3D
[![DependencyBadge](https://img.shields.io/badge/dependency-newtonsoft.json%3A2.0.0-brightgreen)](https://github.com/JamesNK/Newtonsoft.Json)


모바일 네이티브(Android, iOS)만 지원하는 SDK를 Unity3D에서 사용하기위해 제작하였습니다.
오픈소스로 작성된 GroundX의 [KlipA2ASDK]를 참고하여 최대한 Unity3D 자체에서 지원하는 기능으로만 개발하였습니다.

- Klip A2A SDK에서 지원하는 모든 기능들을 이용가능합니다.
- ✨단 한번의 클릭으로 클립 지갑과 연결하는 데모를 제공합니다.✨
## Unity SDK
- iOS(info.plist)나 Android(AndroidManifest,xml)에서 필요한 기본 세팅을 지원합니다.
- Unity3D 자체 기능만 사용하다보니 카카오톡 설치여부나 클립 지원 여부는 데모 5번을 참고하셔서 개발하시면 됩니다.


## 설치
KlipA2AUnity_x.x.x.unitypackage 를 다운받아서 import하면 바로 사용가능합니다.
데모가 필요 없는 분들은 A2A-SDK폴더의 Demo만 제외하고 Import하시면 됩니다.


## Klip A2A 문서 참조
[KlipA2ASDK]

## 데모
- Prepare / Request / Result 를 순차적으로 실행해보면서 A2A SDK 과정을 이해해볼수있습니다.
- 한번의 클릭으로 클립 지갑과 연결하는 예제
- 플랫폼 서포트를 체크하는 예제
- ...클레이튼,토큰 전송이나 카드 전송 예제는 Klip Partners만 가능해서 제작은 안했으나, SDK를 이용해 충분히 구현이 가능합니다.
![klipa2ademo_sample](https://user-images.githubusercontent.com/10954717/147196051-844fe365-ecb3-4a09-a281-8b9e043d7865.png)

## 딥링크 설정 방법
**호출시 규격**

```c#
[SerializeField] private string AppCallbackSuccessUri = "klipdemo://request?success";
[SerializeField] private string AppCallbackFailUri = "klipdemo://request?fail";
```
데모를 확인하시면 위와 같이 Uri가 설정되어있는것을 볼수있습니다.
이는 Request과정에서 Klip결과를 받아와서 다시 앱으로 복귀하기위해 Klip에 전달하는 값입니다.

**안드로이드**
Assets/KlipSDK/A2A-SDK/Editor/KlipA2AAndroidManifestModifier.cs 파일에 아래 코드로 scheme 과 host를 추가해 줄수있습니다.

```c#
List<KlipSchemeData> schemeDatas = new List<KlipSchemeData>();
schemeDatas.Add(new KlipSchemeData("klipdemo", "request"));

androidManifest.SetDeepLinkScheme(schemeDatas);
```

iOS의 경우에는 프로젝트 세팅에서 설정이 가능합니다.
관련된 더 자세한 내용은 [유니티 공식 문서 Enabling deep linking](https://docs.unity3d.com/Manual/enabling-deep-linking.html)을 참고하세요.



## 관련 프로젝트

| Plugin |
| ------ |
| [KlipA2ASDK] |
| [NewtonSoft Json](https://github.com/JamesNK/Newtonsoft.Json)|


## License
MIT

[//]: #
[KlipA2ASDK]:<https://docs.klipwallet.com/>
72 changes: 72 additions & 0 deletions unityProject/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# This .gitignore file should be placed at the root of your Unity project directory
#
# Get latest from https://github.com/github/gitignore/blob/main/Unity.gitignore
#
/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Bb]uilds/
/[Ll]ogs/
/[Uu]ser[Ss]ettings/

# MemoryCaptures can get excessive in size.
# They also could contain extremely sensitive data
/[Mm]emoryCaptures/

# Recordings can get excessive in size
/[Rr]ecordings/

# Uncomment this line if you wish to ignore the asset store tools plugin
# /[Aa]ssets/AssetStoreTools*

# Autogenerated Jetbrains Rider plugin
/[Aa]ssets/Plugins/Editor/JetBrains*

# Visual Studio cache directory
.vs/

# Gradle cache directory
.gradle/

# Autogenerated VS/MD/Consulo solution and project files
ExportedObj/
.consulo/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd
*.pdb
*.mdb
*.opendb
*.VC.db

# Unity3D generated meta files
*.pidb.meta
*.pdb.meta
*.mdb.meta

# Unity3D generated file on crash reports
sysinfo.txt

# Builds
*.apk
*.aab
*.unitypackage
*.app

# Crashlytics generated file
crashlytics-build.properties

# Packed Addressables
/[Aa]ssets/[Aa]ddressable[Aa]ssets[Dd]ata/*/*.bin*

# Temporary auto-generated Android Assets
/[Aa]ssets/[Ss]treamingAssets/aa.meta
/[Aa]ssets/[Ss]treamingAssets/aa/*
8 changes: 8 additions & 0 deletions unityProject/Assets/KlipSDK.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions unityProject/Assets/KlipSDK/A2A-SDK.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions unityProject/Assets/KlipSDK/A2A-SDK/Demo.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions unityProject/Assets/KlipSDK/A2A-SDK/Demo/01.Prepare.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit e7add1d

Please sign in to comment.