2023. 10. 29. 23:38ㆍ언어/유니티
[뒤끝팁] 차트 기능으로 바로 수정 가능한 '인앱 상점' 만들기 - 뒤끝 블로그
인앱 결제는 게임의 수익에 가장 큰 영향을 미치는 요소인데요. 만약 인앱 상점에서 표기된 가격과 실제 청구되는 가격이 다르다면? 클라이언트 단에서 작업 시 아무리 짧아도 이틀이 걸리는 작
blog.thebackend.io
여길 참고 했습니다. 먼저 차트에 입력합니다.
저는 이런식으로 csv 차트를 입력하였습니다.
◾ googleProductID : 구글 콘솔에 등록된 인앱 결제 상품의 ID 입니다.
◾ ShopName : 실제 게임의 상점에서 보여질 이름입니다.
◾ Shopingfo : 실제 게임의 상점에서 보여질 이름입니다.
◾ itemName : 아이템의 종류입니다.
◾ itemCount : 업데이트할 아이템의 수입니다.
◾ ShopPrice : 표시되는 가격입니다.
이런식으로 이제 파일 이름과
shopchart.xlsx
파일 id 가 나오게 됩니다.
94787
이제 차트를 입력하기 위해선 코드를 적어줘야 된다.
public static readonly string GAME_DATA_SHOP = "USER_SHOP";
public static readonly string GAME_SHOP_CHART = "94787";
저는 이런식으로 적어줬습니다.
이제 콘솔의 차트 데이터를 불러오는 스크립트를 생성 해야됩니다.
차트에 적은 친구들을 선언및 초기화 해줍니다.
static ShopManager() //초기화 시켜주기
{
shopChart = new List<shopchart>();
}
public class shopchart //불러올 차트내용 들을 적어놈
{
public string googleProductID;
public string ShopName;
public string itemName;
public int itemCount;
public int ShopPrice;
}
보통 동기로 안하긴 하지만
저는 동기로 하였습니다.
public static void LoadShopChart() //constants 에서 받아온 차트를 데이터 피싱해줌
{
Backend.Chart.GetChartContents(Constants.GAME_SHOP_CHART, callback =>
{
if (callback.IsSuccess())
{
// JSON 데이터 파싱 성공
try
{
LitJson.JsonData jsonData = callback.FlattenRows();
// 받아온 데이터의 개수가 0이면 데이터가 없는 것
if (jsonData.Count <= 0)
{
Debug.LogWarning("데이터가 존재하지 않습니다.");
}
else
{
for (int i = 0; i < jsonData.Count; ++i)
{
shopchart newChart = new shopchart();
newChart.googleProductID = jsonData[i]["googleProductID"].ToString();
newChart.ShopName = jsonData[i]["ShopName"].ToString();
newChart.itemName = jsonData[i]["itemName"].ToString();
newChart.itemCount = int.Parse(jsonData[i]["itemCount"].ToString());
newChart.ShopPrice = int.Parse(jsonData[i]["ShopPrice"].ToString());
shopChart.Add(newChart);
Debug.Log($"GoogleProductID : {newChart.googleProductID}, ShopName : {newChart.ShopName}," +
$"ItemName : {newChart.itemName}, ItemCount : {newChart.itemCount}, ShopPrice : {newChart.ShopPrice}");
}
}
}
// JSON 데이터 파싱 실패
catch (System.Exception e)
{
// try-catch 에러 출력
Debug.LogError(e);
}
}
else
{
Debug.LogError($"{Constants.GAME_SHOP_CHART}의 차트 불러오기에 에러 발생 : {callback}");
}
});
}
이 두 코드를 한코드안에 넣어주고
public static void ShopLoadAllChart() // 불러오기 ( 이런식으로 불러와야지 login에 넣기 쉬움
{
LoadShopChart();
}
이렇게 불러와주면 다른 코드에서 메서드를 호출할때 편리합니다.
여기까지 이해가 안된다면 shopManager 이라는 코드안에 이 코드들을 전부 넣어주면됩니다~
여기까지가 차트 불러오기 기능입니다 .
.
차트 만들고 -> 차트 불러오기 ( 차트번호 랑 가져오기 ) ->
이제 데이터 파일 만들어서 데이터 파일을 어디에 넣을지에 대해서 적어줘야되는데요
이 앞의 내용을 하기 전에 준비해야될것
구글 콘솔 계정 설정
구글 클라우드를 들어가서
프로젝트를 하나만들었습니다
API 및 서비스를 클릭 -> 상단에 +API 및 서비스 사용 설정을 클릭합니다.
다양한 API들이 뜬다.
두개를 사용으로 바꿔 준다.
또한 사용자 인증 정보로 이동
서비스 계정 시키는대로 만들어줍니다.
1. 적고
2. 소유자로
3. 이메일 적는것은 무조건 개발자 콘솔 된거
서비스 계정 -> 내 계정 클릭 -> 키 선택 -> 새키 만들기
자동으로 컴퓨터에 저장이됨
뒤끝에 보고서 파일 업로드 합니다 .
아직 보고서 저장 버킷 URL에 대해서 이해를 하지못한 상황
+ 참고자료들
또한
https://devparklibrary.tistory.com/27
https://m.blog.naver.com/lyw94k/221381965587
이후 아까 만든 이메일 주소를
밑에
앱권한 - 일괄 다운로드(읽기 전용), 재무 데이터, 주문, 취소 설문조사 응답 보기 항목을 체크
계정권한 - 콘솔에 등록한 애플리케이션을 추가하고, 앱 권한 설정에서 주문 및 구독 관리 항목을 체크
이러면 준비 완료 완료
https://scvtwo.tistory.com/221
[Unity] 유니티 안드로이드 인앱 결제
안녕하세요 유니티 안드로이드 인앱 결제에 대해 알아보도록 하겠습니다. 1. 인앱결제 패키지 설치하기 메뉴 - Window - Package Manager를 통해 패키지 매니저로 들어갑니다. 패키지 매니저 창에서 Unit
scvtwo.tistory.com
// 2023년 10월 31일 오후 10:11 분 수정
//사업자 등록 카드 필요 (IAP 결제 부터 시작하면됨 기본세팅 끝)
'언어 > 유니티' 카테고리의 다른 글
3. 뒤끝 서버 데이터 삽입 후 삭제,업데이트,ui (0) | 2023.11.07 |
---|---|
2. 뒤끝 서버 아이템 데이터 삽입 (0) | 2023.10.31 |
7. 뒤끝 삽입,삭제,조회,업데이트,연산 (이론편) (0) | 2023.06.18 |
(수정 필요 ,기초지식 부족) 6. 뒤끝 -프로필 만들기 (0) | 2023.06.08 |
5. 뒤끝 -아이디찾기 비밀번호 찾기 (0) | 2023.06.05 |