본 가이드에서는 Adjust의 구매 검증 SDK에서 SDK v5에 내장된 구매 검증 기능으로 마이그레이션하는 방법을 확인하실 수 있습니다. SDK v5 구매 검증 워크플로우는 간소화된 구매 검증 방식입니다.
구매 검증 SDK의 검증은 다음의 3단계로 나뉩니다.
구매 검증 SDK를 초기화합니다.
#import "AdjustPurchase.h"
// or #import <AdjustPurchaseSdk/AdjustPurchase.h>
NSString * yourAppToken = @"{YourAppToken}" ;
NSString * environment = ADJPEnvironmentSandbox;
ADJPConfig * config = [[ADJPConfig alloc ] initWithAppToken: yourAppToken andEnvironment: environment];
[AdjustPurchase init: config];
구매를 인증합니다.
[AdjustPurchase verifyPurchase: receipt
forTransaction: transaction
withResponseBlock: ^ (ADJPVerificationInfo * info) {
// process ADJPVerificationInfo object
인증 결과에 따라 AdjustEvent
객체를 구성하고 Adjust에 전송합니다.
NSURL * receiptURL = [[ NSBundle mainBundle ] appStoreReceiptURL ];
NSData * receipt = [ NSData dataWithContentsOfURL: receiptURL];
ADJEvent * event = [ADJEvent eventWithEventToken: : @"your-event-token" ];
[event setRevenue:6.0 currency: @"EUR" ];
[event setTransactionId: @"transaction-id" ];
[event setProductId: @"product-id" ];
[event setReceipt: receipt];
[Adjust trackEvent: event];
SDK v5에서는 이 워크플로우가 간소화되었습니다. [Adjust verifyAndTrackAppStorePurchase]
메서드를 통해 Adjust 서버로 이벤트를 보내고 인증 상태를 콜백으로 받을 수 있습니다. Adjust는 이벤트와 인증 상태를 자동으로 기록합니다.
가이드
이 가이드를 참조하여 구매 검증 SDK에서 SDK v5에 내장된 구매 검증 기능으로 마이그레이션하시기 바랍니다.
1. 구매 검증 SDK 삭제
시작을 위해 Adjust 구매 검증 SDK를 삭제하시기 바랍니다.
2. 구매 검증 SDK 코드 삭제
Adjust 구매 검증 SDK 삭제가 완료되면, 프로젝트에서 모든 구매 검증 코드를 삭제해야 합니다.
3. SDK v5 구매 검증 사용을 위한 마이그레이션
기존의 구매 검증 코드를 삭제한 후에는 이를 SDK v5에 내장된 구매 검증 메서드로 교체할 수 있습니다. Adjust SDK로 구매를 검증하는 방법에는 두 가지가 있습니다.
구매를 나타내는 ADJEvent
객체를 만들고 다음 속성을 추가합니다.
productId
(NSString
): 성공적으로 구매된 아이템의 제품 ID.
transactionId
(NSString
): 인증할 거래의 ID.
제품 ID, 트랜잭션 ID, 영수증이 포함된 ADJAppStorePurchase
객체를 생성합니다.
이벤트 기록 및 구매 인증
검증을 위해 매출 이벤트를 전송하고 승인 상태를 수신하려면 다음의 단계를 수행하시기 바랍니다.
이벤트 토큰으로 ADJEvent
객체를 인스턴스화하고 다음 파라미터를 설정합니다.
productId
(NSString
): 성공적으로 구매된 아이템의 제품 ID.
transactionId
(NSString
): 인증할 거래의 ID.
다음 인수로 Adjust.verifyAndTrackPlayStorePurchase
메서드를 호출합니다.
event
(ADJEvent
): 인스턴스화된 이벤트 객체.
callback
(ADJVerificationResultBlock
): 인수로 ADJPurchaseVerificationResult
객체를 수신하는 델리게이트 콜백 함수.
이 예시에서, 구매 검증 응답은 logging daemon으로 출력됩니다.
guard let event = ADJEvent ( eventToken : "g3mfiw" ) else { return }
event. setProductId ( "product-id" )
event. setTransactionId ( "transaction-id" )
Adjust. verifyAndTrackAppStorePurchase (event) { verificationResult in
print ( "Verification status: \(verificationResult. verificationStatus ) " )
print ( "Code: \(verificationResult. code ) " )
print ( "Message: \(verificationResult. message ) " )
ADJEvent * event = [[ADJEvent alloc ] initWithEventToken: yourEventToken];
[event setProductId: @"product-id" ];
[event setTransactionId: @"transaction-id" ];
[Adjust verifyAndTrackAppStorePurchase: event withCompletionHandler: ^ (ADJPurchaseVerificationResult * _Nonnull verificationResult) {
NSLog ( @"Verification status: %@ " , verificationResult.verificationStatus);
NSLog ( @"Code: %d " , verificationResult.code);
NSLog ( @"Message: %@ " , verificationResult.message);
구매만 검증
독립형 구매를 전송하고 구매 검증 상태 정보를 수신하려면 다음의 단계를 수행하시기 바랍니다.
다음 인수를 사용하여 ADJAppStorePurchase
를 인스턴스화합니다.
transactionId
(NSString
): 인증할 거래의 ID.
productId
(NSString
): 성공적으로 구매된 아이템의 제품 ID.
다음 인수로 Adjust.verifyAppStorePurchase
메서드를 호출합니다.
purchase
(ADJAppStorePurchase
): 인스턴스화된 구매 객체.
callback
(ADJVerificationResultBlock
): 인수로 ADJPurchaseVerificationResult
객체를 수신하는 델리게이트 콜백 함수.
이 예시에서, 구매 검증 응답은 logging daemon으로 출력됩니다.
guard let appStorePurchase = ADJAppStorePurchase ( transactionId : yourTransactionId,
productId : yourProductId) else { return }
Adjust. verifyAppStorePurchase (appStorePurchase) { verificationResult in
print ( "Verification status: \(verificationResult. verificationStatus ) " )
print ( "Code: \(verificationResult. code ) " )
print ( "Message: \(verificationResult. message ) " )
ADJAppStorePurchase * appStorePurchase = [[ADJAppStorePurchase alloc ]
initWithTransactionId:yourTranscationId
productId:yourProductId];
[Adjust verifyAppStorePurchase: appStorePurchase withCompletionHandler: ^ (ADJPurchaseVerificationResult * _Nonnull verificationResult) {
NSLog ( @"Verification status: %@ " , verificationResult.verificationStatus);
NSLog ( @"Code: %d " , verificationResult.code);
NSLog ( @"Message: %@ " , verificationResult.message);