2014-03-24 1 views
0

Android 결제 v3을 사용하여 평가판 구독을 테스트하려고합니다. 앱에 이미 제작중인 제품이 있지만 구독을 추가하려고합니다. 재판 잠수정을 처음 구입하면 모든 것이 잘 작동합니다. 그런 다음 취소 한 후 (시간과 며칠 기다림) 다시 구매하려고하면 이미이 항목을 소유하고있는 메시지가 표시된 Android 대화 상자가 나타납니다. Google Play 앱과 내 서버 측 앱 모두 구독이 취소되었음을 확인합니다.Android 결제 오류 항목을 이미 소유하고 있습니다. 이동 통신사 결제 설정이 null입니다. 기기가 DCB 2의 대상이 아닙니다.

public void onQueryInventoryFinished(IabResult result, Inventory inventory) { 
    // Log.d(TAG, "Query inventory finished."); 
    mHelper.flagEndAsync(); 
    if (result.isFailure()) { 
     // complain("Failed to query inventory: " + result); 
     return; 
    } 

    // Log.d(TAG, "Query inventory was successful."); 
    if (result.getResponse() == IabHelper.BILLING_RESPONSE_RESULT_ITEM_ALREADY_OWNED) { 
     return; 
    } 
    consumePuchasedItems(inventory); 

    // Log.d(TAG, "Initial inventory query finished; enabling main UI."); 

} 

내 애플 : 매번 내가 재고를 조회 잠수정은 서버 측에서 다시 때문에 onQueryInventoryFinished BILLING_RESPONSE_RESULT_ITEM_ALREADY_OWNED 체크에 내가 추가했다

03-24 15:41:53.722: D/IabHelper(21333): Constructing buy intent for com.MYAPP.freetrial, item type: subs 
03-24 15:41:53.732: D/Finsky(20292): [1056] InAppBillingUtils.pickAccount: com.MYAPP:  Account determined from installer data - [UAHnZq8S3yArGc_6ew11RBHr0DE] 
03-24 15:41:53.742: D/IabHelper(21333): Launching buy intent for com.MYAPP.freetrial. Request code: 10001 
03-24 15:41:53.742: D/audio_hw_primary(181): select_devices: out_snd_device(2: speaker) in_snd_device(0:) 
03-24 15:41:53.742: D/ACDB-LOADER(181): ACDB -> send_afe_cal 
03-24 15:41:53.742: I/ActivityManager(580): START u0 {cmp=com.android.vending/com.google.android.finsky.billing.lightpurchase.IabV3Activity (has extras)} from pid -1 
03-24 15:41:53.812: D/Finsky(20292): [1] CarrierParamsAction.createCarrierBillingParameters: Carrier billing config is null. Device is not targeted for DCB 2. 
03-24 15:41:53.812: E/Finsky(20292): [1054] FileBasedKeyValueStore.delete: Attempt to delete 'params5wrD2REIodMwVQIkVi-biw' failed! 
03-24 15:41:53.872: W/GLSUser(17314): GoogleAccountDataService.getToken() 
03-24 15:41:53.882: I/ActivityManager(580): Displayed com.android.vending/com.google.android.finsky.billing.lightpurchase.IabV3Activity: +99ms 

:

로그 캣 창은이 출력을 보여줍니다 릴리스 인증서로 서명 한 경우 빌드 코드 + 버전 번호는 개발자 콘솔과 완전히 동일합니다.

나는 이미 Android billing - error you own this item 및 기타 유사한 게시물을 확인했다 http://code.google.com/p/marketbilling/ (14/12/2013)에서 최신 코드

를 사용하고 있지만 작동하지 않습니다.

의견을 보내 주시면 감사하겠습니다. 나는 며칠 동안이 일을하고 있지만 아직 해결책은 없다. 가입 프로세스가 처음에는 잘 작동하는 것처럼 보였습니다. 다른 계정으로 시도했습니다. 문제를 취소하고 다시 구매하려고하면 문제가 발생합니다.

감사합니다 !!!

답변

1

구독을 취소하면 구독 기간이 끝날 때까지 해당 구독에 계속 액세스 할 수 있습니다. 이것이 Google의 구현입니다. 그리고 그 이유는 취소 된 구독에 대한 환불이 없기 때문입니다. Google은 취소 된 후에도 전체 구독 기간 동안 구독을 계속 허용하기 때문입니다.

구독 취소는 구독 갱신을 중단하는 것입니다.

가입을 취소 했음에도 불구하고 즉시 다시 구매할 수없는 이유가 여기에 있습니다. 현재 구독 기간이 끝나면 다시 구매할 수 있습니다.