Android na compra de aplicativos: falha na confirmação da assinatura

Eu tentei por vários dias resolver esse problema, usando o código de demonstração do Dungeons que vem com o SDK. Eu tentei o Google para uma resposta, mas não consigo encontrar um.

Na demonstração do Dungeons, passei minha chave pública do console dev.Assinado o apk e enviado para o console sem publicar.Teste para ambosandroid.test.purchased & lista de produtos criada no console com publicação para assinatura (O principal recurso que eu quero para meu aplicativo).

Mas ainda assim recebo um erro deSignature verification failed e, em seguida, a assinatura não corresponde aos dados. Como posso resolver isso?

public static ArrayList<VerifiedPurchase> verifyPurchase(String signedData, String signature)
{
    if (signedData == null) {
        Log.e(TAG, "data is null");
        return null;
    }
    if (Consts.DEBUG) {
        Log.i(TAG, "signedData: " + signedData);
    }
    boolean verified = false;
    if (!TextUtils.isEmpty(signature)) {

        String base64EncodedPublicKey = "MIIBIjA....AQAB";
        PublicKey key = Security.generatePublicKey(base64EncodedPublicKey);
        verified = Security.verify(key, signedData, signature);
        if (!verified) {
            Log.w(TAG, "signature does not match data.");
            return null;
        }
    }
}

public static boolean verify(PublicKey publicKey, String signedData, String signature)
{
    if (Consts.DEBUG) {
        Log.i(TAG, "signature: " + signature);
    }
    Signature sig;
    try {
        sig = Signature.getInstance(SIGNATURE_ALGORITHM);
        sig.initVerify(publicKey);
        sig.update(signedData.getBytes());
        if (!sig.verify(Base64.decode(signature))) {
            Log.e(TAG, "Signature verification failed.");
            return false;
        }
        return true;
    } catch (NoSuchAlgorithmException e) {
        Log.e(TAG, "NoSuchAlgorithmException.");
    } catch (InvalidKeyException e) {
        Log.e(TAG, "Invalid key specification.");
    } catch (SignatureException e) {
        Log.e(TAG, "Signature exception.");
    } catch (Base64DecoderException e) {
        Log.e(TAG, "Base64 decoding failed.");
    }
    return false;
}

questionAnswers(14)

yourAnswerToTheQuestion