मैंने एंड्रॉइड के इन-ऐप बिलिंग के साथ एक परीक्षण ऐप लागू किया है। मैंने सुरक्षा.जावा फ़ाइल में अपनी सार्वजनिक कुंजी भर दी है। सब कुछ काम करता है, लेकिन जब मैं भुगतान जमा करता हूं, तो ऐप क्रैश हो जाता है। मैं LogCat में कोई त्रुटि है कि कहते हैं, "हस्ताक्षर सत्यापन विफल" है, जो कोड के इस बिट से मेल खाती है प्राप्त करते हैं:एंड्रॉइड इन-ऐप बिलिंग: सुरक्षा.जावा कहता है "हस्ताक्षर सत्यापन विफल"
if (!sig.verify(Base64.decode(signature))) {
Log.e(TAG, "Signature verification failed.");
return false;
}
तो मुझे लगता है कि थोड़ा बदल वापसी झूठी के बजाय सही वापस जाने के लिए है, तो सब कुछ ठीक से काम करता है - मैं प्रस्तुत कर सकते हैं भुगतान और सुरक्षित रूप से ऐप पर वापस आते हैं - लेकिन मुझे लगता है कि कुछ और गलत है, क्योंकि मुझे शायद इसे सही करने के लिए बदलना चाहिए।
इस बारे में कोई विचार क्या हो सकता है?
आपके द्वारा अपने परीक्षण डिवाइस पर दबाए गए एपीके में आपके द्वारा डेवलपर कंसोल पर अपलोड किए गए एपीके के समान सटीक संस्करण मान भी होना चाहिए। अपने एपीके संस्करण को रीफ्रेश करने में डेवलपर कंसोल के लिए 6 घंटे तक लग सकते हैं। –
आज के रूप में, base64PublicKey IabHelper को पारित पैरामीटर है, इसे सुरक्षा.जावा – 18446744073709551615
में परिभाषित नहीं किया गया है, साइनिंग, अपलोडिंग, प्रतीक्षा आदि के बिना बिलिंग एकीकरण प्रवाह विकसित करने का कोई आसान तरीका नहीं है? मैं मानता हूं कि परीक्षण को यथासंभव उत्पादन के रूप में किया जाना चाहिए लेकिन विकास चक्र बहुत लंबा है। अगर मैंने गलती से बुरा या एनपीई किया है, तो मुझे पूरे प्रकाशन चरण को फिर से करने की ज़रूरत है! –