당연히 gdx pay (link)를 사용할 수 있습니다.
그러나 내가 선호하는 것은이 모든 것입니다.
코드를 추가하기 전에 OS 특정 코드를 호출하는 데 필요한 모든 것을 수행 할 수 있다는 사실을 알려 드리고자합니다.
시작하기 전에 .aidl for in app billing을 갖고 있고 적절한 권한이 있는지 확인하십시오.
첫째, 우리는 코어 인터페이스를 필요
public interface IabWrapper {
boolean connect();//Connect to the IAB framework - return success or failure
Result buyProduct(String SKU, boolean consumeInstantly);//Buy the product, and figure out whether or not to consume it instantly. Return success or fail
//You get the idea at this point. Add more methods to handle subscriptions (if applicable), etc
}
그리고 결과 :
public class Result {
boolean purchaseSuceeded;//If the purchase succeeded
String sku;//The SKU
boolean didConsumeSucceed;//If consumable, did it succeed. Just set it to "true" if it doesn't cusome
//Here you can add constructors, other data, whatever you need
}
지금, 당신의 안드로이드 프로젝트에 당신이 IabWrapper를 구현하는 클래스를 만듭니다. IAB에 필요한 모든 것을 가진 생성자를 추가하십시오. 또한 사용하는 다른 모든 플랫폼에이를 추가하십시오.
이 시점에서
, 당신은해야합니다
- 핵심 모듈에 IabWrapper라는 클래스를
- 핵심 모듈
- 안드로이드 모듈에 IabWrapper를 구현하는 클래스의 클래스라는 결과
이렇게하면 이점은 android docs에 따라 앱 청구서에 설정할 수 있다는 것입니다. 또는 당신이 찾은 다른 문서/튜토리얼. 그것을 IabWrapper에 추가하는 메소드로 변환하면 Android 문서를 따라 구현할 수 있습니다.
이제 Android 프로젝트에서 iab 코드를 만든 후에는 핵심 프로젝트에서 초기화하는 클래스를 열어야합니다. 거기에, 당신은 함께 생성자를 추가 중 하나
- 래퍼에 대한 인수
- (어떤 경우) 당신이 모든 다른 래퍼와 래퍼 인수 (나는이 방법을 사용하지만, 내가 3가 -4 랩퍼이고 게임이 끝나면 약 6시에 끝날 것으로 예상 됨)
물론 데스크톱 프로젝트, ios 프로젝트, android 프로젝트 또는 다른 프로젝트에서 래퍼를 전달해야합니다. 너는 가지고있다.
인터페이스이기 때문에 생성자에서 IabWrapper
으로 정의하고 인터페이스를 구현하는 클래스에 앱 구입시 처리 방법을 제공하는 것은 개별 플랫폼마다 다릅니다.
마찬가지로 this question 앱 구매시 업데이트가 있는지 확인하기 위해 콜백 클래스를 추가하는 것이 좋습니다. 당신이 변경하지 않으면 안드로이드는 인터넷 통화에서 비동기입니다 (나는 잊어 버렸습니다. 그러나 주 스레드에서 인터넷 전화를 할 수있는 필드가 있습니다. 그러나 주 스레드를 차단할 때 종종 ANR이됩니다).
따라서, 귀하의에서이 같은 somethign 추가 렌더링 :
if(purchaseRequested && !callback.response()){
//What can you do, there is a purchase requested you are waiting for.
}else if(purchaseRequested && callback.response(){
//This is where you would process the response, add whatever is purchased, save, unlock content, whatever the in app purchase does
}
당신이 안드로이드 OS를 처리하거나,이 방법은 지나치게 복잡하게 보이는 생각하는 방법에 관한 단서가 없다면, 난 당신을 추천합니다 대신 gdx pay를 사용하십시오.
내가 처음에 말한 것을 차지하기 위해,이 기술은 아무것도 당신이 OS 특정 일을 필요에 적용 할 수 있습니다. 코어를 작성하고 다른 프로젝트에서 인터페이스를 대체하여 코어 클래스에 전달하십시오. 그런 다음 래퍼를 호출하고 인터페이스이기 때문에 클래스를 구현하는 클래스를 호출합니다.
여기에 몇 가지 유용한 링크가 있습니다. http://stackoverflow.com/questions/19921146/libgdx- android-in-app-simple-tutorial –
실제로이 링크를 참조하십시오. 그러나 어떤 샘플 또는 설명서도 필요합니다 –
https://github.com/libgdx/gdx-pay –