2013-04-29 1 views
0

현재 응용 프로그램에 iab을 추가하고 있지만 Google의 모든 문서를 읽고 몇 가지 검사를 한 후에 나는 의심 스럽습니다. 언제 서비스를 초기화해야합니까? 응용 프로그램 초기화시이를 수행 할 좋은 시점입니까? 사용자가 제품을 구매할 때마다 시스템을 초기화해야합니까?정보 응용 프로그램 청구 초기화 시간

어떻게 처리합니까?

건배.

+1

"초기화"란 무엇을 의미하는지 확실하지 않으시겠습니까? "서비스에 바인딩"을 의미합니까? IAB V3은 LVL보다 훨씬 반응이 좋지만 IAB의 서비스 내부 캐싱 때문일 것으로 생각됩니다. Android가 리소스를 효율적으로 관리 할 수 ​​있도록 필요할 때만 서비스에 바인딩하는 것이 좋습니다. –

+0

예, 죄송합니다. 언제 서비스에 바인딩해야합니까? 당신의 대답에 관해서는, IAB 시스템으로 작업 할 필요가있을 때마다 바인드/언 바인드해야한다는 것을 의미합니까?죄송합니다.이 모든 것이 바보 같은 질문으로 보일 수는 있지만, 서비스에 대한 바인딩/바인딩 해제를 여러 번 수행하는 것이 좋은 방법이 될 수 없다고 생각했습니다. – Notbad

+0

더 많은 정보를 제공 할 때라고 생각했습니다. 내 대답을 보라. 지금 몇 개의 링크를 추가 할 것입니다. –

답변

2

좋아 추측 귀하의 제품에 대한 더 많은 보호를 제공한다.

  • 트랜잭션을 수행하거나 정보를 검색/완료해야 할 때 IAB 서비스에 바인드/언 바인드합니다. 이 서비스는 로컬 서비스이므로 바인딩 할 때 반드시 Google 서버에 연결하지 않아도되므로 성능에 대해 걱정할 필요가 없습니다 (예외 : 구매는 있지만 어쨌든 시간이 걸립니다). 온라인으로 갈시기를 결정하는 다른 전략을 따릅니다.
  • tjPark의 말처럼 앱의 내부 아이디어를 IAB 아이디어와 동기화하는 것이 좋습니다. 앱을 시작할 때 또는 사용자가 몇 가지 선택을 한 후에 만 ​​앱에 의존합니다. 스플래시 화면에서 사용자가 소유 한 IAB 항목을 알아야하는 경우 스플래시 화면 활동에서 수행하십시오. 나중에 관련성이 높아지기 만하면 IAB 서비스를 나중에 쿼리하는 것이 좋습니다.
  • IAB 항목을 사용할 수있는 경우 필요한 소비 전략을주의 깊게 생각해야합니다.
  • 항상 IAB V3 uses caching extensively이므로 앱을 IAB 서비스와 동기화해도 반드시 최신 정보를 얻을 수있는 것은 아닙니다. 예 : 사용자가 기기 1에서 인앱 제품을 구입하고 기기 2에서 사용하려는 경우 표시 될 때까지 지연이 발생합니다. 또는 Google Checkout/Wallet에서 거래를 취소하고 기기가 오프라인 상태 인 경우에도 즉시 알 수 없습니다.
  • Don't use Google example code without refining it to achieve product maturity.
  • 요청시 nonce를 제공 ​​할 수 없으므로 IAB 서비스 응답이 다시 재생 공격의 대상이 될 수 있습니다.
  • server-side validation이 없으면 전체 IAB 코드가 단순히 긍정적 인 응답을 반환하는 더미 코드로 바뀔 수 있음을 알고 있습니다.
+0

명확한 응답을 보내 주셔서 감사합니다. 마지막 2 점에 관해서 그들은 나를 정말로 깜짝 놀라게한다. 어쨌든 내 게임이 조금이기 때문에 걱정하지 않을 것입니다. 사람들이 그것을 해킹한다면 나는 그것이 기대했던 것보다 훨씬 더 잘 수행 되었기 때문에 그것이 될 것이라고 확신한다. 멋진 답변에 다시 한번 감사드립니다. – Notbad

+0

@Notbad 예, 걱정할 필요는 없습니다. 이미 표준 LVL 검사를 제거하는 스크립트가 있지만 apk 체크섬은 위조 될 수 있습니다. 하지만 여전히 약간의 전문 지식이 필요합니다. 어쨌든, 행운을 빈다. 사람들이이 정신 분열증 시장에서 일하는 것을 존중 해주기를 바란다. ("앱은 무료 일 것임에 틀림 없다. 그러나 나는 광고를 원하지 않는다. 나는 멋진 앱보다 커피를 더 많이 낼 것이다!"). –

+0

예, 완전히 동의합니다. 우리가 믿기를 바라는 것처럼 아름답 지 않은 것들이 있습니다. – Notbad

1

http://developer.android.com/google/play/billing/api.html ,

위에서, 구글은 말했다

, 그것은 좋은 연습입니다 귀하의 응용 프로그램이 시작 또는 사용자가 로그인 사용자가 소유 어떤 항목을 결정하기 위해 Google Play를 확인하는

. 사용자의 인앱 구매를 쿼리하려면 getPurchases 요청을 보내십시오. 요청이 완료되면 Google Play는 구매 한 상품의 제품 ID 목록, 개별 구매 세부 정보의 목록 및 구매 한 서명의 목록을 포함하는 번들을 반환합니다.

마다에서 확인 초기화는 것 같아요 전체 맛 답변 시간 그래서 나는

+0

IAB 시스템과 상호 작용할 때마다 확인한다는 의미입니까? 이렇게하면 모든 트랜잭션을 수행하기 전에 모든 것을 검사 할 수 있습니다. – Notbad

+0

이것은 바인드/바인드 해제 정책을 구현하는 방법에 대한 질문에 대답하지 않습니다. –

+0

사용자가 앱을 실행할 때마다 말입니다. 사용자 구매 데이터 (및 서버에서 다운로드 할 수있는 데이터)는 사용자 (삭제 된 데이터) 또는 언제든지 삭제 될 수 있습니다. 또한 아이템이 일종의 잠금 해제 무언가라면, 더 많은 부담을 줄 것입니다. – tjPark