{"id":137951,"date":"2021-08-30T00:00:00","date_gmt":"2021-08-30T00:00:00","guid":{"rendered":"https:\/\/adapty.io\/pt-ios-in-app-purchases-part-5-list-of-skerror-codes-and-how-to-handle-them\/"},"modified":"2021-08-30T00:00:00","modified_gmt":"2021-08-30T00:00:00","slug":"ios-in-app-purchases-part-5-list-of-skerror-codes-and-how-to-handle-them","status":"publish","type":"post","link":"https:\/\/adapty.io\/pt\/blog\/ios-in-app-purchases-part-5-list-of-skerror-codes-and-how-to-handle-them\/","title":{"rendered":"Compras no aplicativo para iOS, parte 5: lista de c\u00f3digos SKError e como resolv\u00ea-los."},"content":{"rendered":"\n
Neste posto, vou abordar os SKErrors: quais os problemas que eles acarretam e o que fazer com eles. Para cada erro, trabalharemos tr\u00eas aspectos: por que ele ocorre, como resolv\u00ea-los e que mensagem exibir na notifica\u00e7\u00e3o de erro.<\/p>\n\n\n\n\n\n
O que significa.<\/strong> Um erro ocorreu por uma raz\u00e3o desconhecida.<\/p>\n\n\n\n Como corrigir.<\/strong> Nenhuma a\u00e7\u00e3o precisa ser tomada por parte dos desenvolvedores. Este erro tamb\u00e9m ocorre quando se tenta comprar produtos ao usar as vers\u00f5es de simuladores do iOS 14 e superiores. Neste caso, para comprar um produto, use o teste local do StoreKit ou um dispositivo\/emulador real com a vers\u00e3o iOS inferior ao iOS 14.<\/p>\n\n\n\n Qual mensagem deve ser exibida.<\/strong> Infelizmente, n\u00e3o \u00e9 poss\u00edvel realizar a compra no momento devido a um motivo desconhecido. Tentar novamente mais tarde.<\/p>\n\n\n\n O que significa.<\/strong> O usu\u00e1rio n\u00e3o consegue fazer uma compra. Por exemplo, uma crian\u00e7a tenta comprar um produto quando a fun\u00e7\u00e3o de controle dos pais no dispositivo est\u00e1 ativada.<\/p>\n\n\n\n Como corrigir.<\/strong> Nenhuma a\u00e7\u00e3o precisa ser tomada por parte dos desenvolvedores.<\/p>\n\n\n\n Qual mensagem deve ser exibida.<\/strong> A compra n\u00e3o pode ser conclu\u00edda. Troque de conta ou dispositivo.<\/p>\n\n\n\n O que significa. <\/strong>O usu\u00e1rio chegou \u00e0 tela de pagamento, mas mudou de ideia sobre fazer a compra e clicou em \u201ccancelar\u201d.<\/p>\n\n\n\n Como corrigir.<\/strong> Do ponto de vista t\u00e9cnico, n\u00e3o ocorreu nenhum erro e, neste caso, nada precisa ser feito. Do ponto de vista comercial, voc\u00ea pode continuar trabalhando com o usu\u00e1rio em quest\u00e3o, por exemplo, oferecendo um desconto.<\/p>\n\n\n\n Qual mensagem deve ser exibida.<\/strong> Neste caso, voc\u00ea tem duas op\u00e7\u00f5es. A mais f\u00e1cil \u00e9 n\u00e3o fazer nada. No entanto, voc\u00ea pode tentar recuperar o usu\u00e1rio com uma mensagem como esta: \u201cVoc\u00ea cancelou sua compra. Gostaria de experimentar uma assinatura com desconto?\u201d.<\/p>\n\n\n\n O que significa.<\/strong> Por algum motivo, o pagamento falhou: o cart\u00e3o expirou ou n\u00e3o havia saldo suficiente para esta compra.<\/p>\n\n\n\n Como corrigir.<\/strong> Nenhuma a\u00e7\u00e3o precisa ser tomada por parte dos desenvolvedores.<\/p>\n\n\n\n Qual mensagem deve ser exibida.<\/strong> Sua compra foi recusada. Verifique as informa\u00e7\u00f5es de pagamento e certifique-se de que sua conta tem saldo suficiente.<\/p>\n\n\n\n O que significa.<\/strong> Provavelmente, o cart\u00e3o de ter algumas restri\u00e7\u00f5es de compra: os limites s\u00e3o fixos ou a fun\u00e7\u00e3o de compras on-line n\u00e3o est\u00e1 dispon\u00edvel.<\/p>\n\n\n\n Como corrigir.<\/strong> Nenhuma a\u00e7\u00e3o precisa ser tomada por parte dos desenvolvedores.<\/p>\n\n\n\n Qual mensagem deve ser exibida.<\/strong> N\u00e3o \u00e9 poss\u00edvel concluir a compra para a forma de pagamento selecionada. Verifique se o m\u00e9todo de pagamento selecionado permite a realiza\u00e7\u00e3o de compras on-line.<\/p>\n\n\n\n O que significa.<\/strong> O usu\u00e1rio est\u00e1 tentando comprar um produto que n\u00e3o est\u00e1 dispon\u00edvel na regi\u00e3o em que esta loja \u00e9 utilizada.<\/p>\n\n\n\n Como corrigir.<\/strong> O desenvolvedor deve verificar a disponibilidade dos produtos na regi\u00e3o e loja do usu\u00e1rio. Para essa finalidade, voc\u00ea pode usar SKStorefront<\/a>.<\/p>\n\n\n\n Qual mensagem deve ser exibida.<\/strong> Este produto n\u00e3o est\u00e1 dispon\u00edvel na sua regi\u00e3o. Mude de loja e tente novamente.<\/p>\n\n\n\n O que significa.<\/strong> O usu\u00e1rio n\u00e3o permitiu o acesso \u00e0s informa\u00e7\u00f5es de seu servi\u00e7os no iCloud.<\/p>\n\n\n\n Como corrigir.<\/strong> Nenhuma a\u00e7\u00e3o precisa ser tomada por parte dos desenvolvedores.<\/p>\n\n\n\n Qual mensagem deve ser exibida. Para ser honesto, <\/strong>eu nunca me deparei com esse erro. Na verdade, voc\u00ea pode simplesmente escrever que a compra foi recusada.<\/p>\n\n\n\n O que significa.<\/strong> Ao fazer uma compra, o dispositivo n\u00e3o estava conectado \u00e0 Internet.<\/p>\n\n\n\n Como corrigir.<\/strong> Nenhuma a\u00e7\u00e3o precisa ser tomada por parte dos desenvolvedores.<\/p>\n\n\n\n Qual mensagem deve ser exibida.<\/strong> A compra n\u00e3o pode ser conclu\u00edda porque seu dispositivo n\u00e3o est\u00e1 conectado \u00e0 Internet. Tente novamente mais tarde usando uma conex\u00e3o est\u00e1vel com a Internet.<\/p>\n\n\n\n\n\n O que significa. <\/strong>Este dispositivo n\u00e3o tem acesso ao servi\u00e7o de pagamento do StoreKit. Geralmente, este erro ocorre no Sandbox.<\/p>\n\n\n\n Como corrigir.<\/strong> Crie um novo usu\u00e1rio no Sandbox ou simplesmente tente repetir a opera\u00e7\u00e3o.<\/p>\n\n\n\n Qual mensagem deve ser exibida. <\/strong>Lamento, <\/strong>mas ocorreu um erro.<\/p>\n\n\n\n O que significa.<\/strong> O usu\u00e1rio n\u00e3o aceitou os termos de uso na AppStore. Como consta na documenta\u00e7\u00e3o, \u201co usu\u00e1rio ainda n\u00e3o aceitou a pol\u00edtica de privacidade da Apple para o Apple Music\u201d. Na verdade, parece um erro, pois n\u00e3o h\u00e1 motivo para se mencionar a Apple Music.<\/p>\n\n\n\n Como corrigir.<\/strong> Nenhuma a\u00e7\u00e3o precisa ser tomada por parte dos desenvolvedores.<\/p>\n\n\n\n Qual mensagem deve ser exibida.<\/strong> A compra n\u00e3o pode ser conclu\u00edda porque voc\u00ea n\u00e3o aceitou os termos de uso da AppStore. Confirme o seu consentimento nas configura\u00e7\u00f5es e depois retorne para concluir a compra.<\/p>\n\n\n\n O que significa.<\/strong> Sua ID do aplicativo n\u00e3o contempla o direito necess\u00e1rio para o uso do StoreKit.<\/p>\n\n\n\n Como corrigir.<\/strong> Voc\u00ea precisa concluir o processo de configura\u00e7\u00e3o de compras no aplicativo.<\/p>\n\n\n\n Qual mensagem deve ser exibida.<\/strong> Ocorreu um erro. Tente novamente mais tarde.<\/p>\n\n\n\n O que significa.<\/strong> O usu\u00e1rio est\u00e1 tentando comprar um produto com uma oferta promocional incorreta.<\/p>\n\n\n\n Como corrigir.<\/strong> Nenhuma a\u00e7\u00e3o precisa ser tomada por parte dos desenvolvedores.<\/p>\n\n\n\n Qual mensagem deve ser exibida.<\/strong> A oferta promocional \u00e9 inv\u00e1lida ou expirou.<\/p>\n\n\n\n O que significa.<\/strong> A assinatura da oferta promocional para a solicita\u00e7\u00e3o do StoreKit foi gerada incorretamente.<\/p>\n\n\n\n Como corrigir.<\/strong> Verifique como a assinatura foi gerada e corrija os erros. Se voc\u00ea usar a Adapty, fa\u00e7a o download da Chave de Assinatura.<\/p>\n\n\n\n Qual mensagem deve ser exibida.<\/strong> Infelizmente, ocorreu um erro ao aplicar o c\u00f3digo promocional. Tente novamente mais tarde.<\/p>\n\n\n\n O que significa.<\/strong> Os par\u00e2metros da oferta promocional foram incorretamente configurados.<\/p>\n\n\n\n Como corrigir.<\/strong> Verifique e corrija os par\u00e2metros da sua oferta promocional.<\/p>\n\n\n\n Qual mensagem deve ser exibida.<\/strong> Infelizmente, ocorreu um erro ao aplicar a oferta promocional. Tente novamente mais tarde.<\/p>\n\n\n\n O que significa.<\/strong> O usu\u00e1rio est\u00e1 tentando comprar um produto por um pre\u00e7o irrelevante. Provavelmente, o pre\u00e7o exibido na AppStore perdeu a validade.<\/p>\n\n\n\n Como corrigir.<\/strong> Fa\u00e7a a atualiza\u00e7\u00e3o do pre\u00e7o para esta oferta na AppStore.<\/p>\n\n\n\n Qual mensagem deve ser exibida.<\/strong> Infelizmente, sua compra n\u00e3o pode ser conclu\u00edda. Tente novamente mais tarde.<\/p>\n\n\n\n O tratamento correto dos erros melhora a experi\u00eancia do usu\u00e1rio e pode recuperar alguns dos usu\u00e1rios que n\u00e3o conseguiram efetuar o pagamento imediato da assinatura por algum motivo. Estes s\u00e3o os erros mais comuns ao implementar compras em um aplicativo no sistema iOS:<\/p>\n\n\n\n<\/figure>\n\n\n\n
SKError.Code.clientInvalid<\/strong><\/a>, c\u00f3digo 1<\/strong><\/h2>\n\n\n\n
SKError.Code.paymentCancelled<\/strong><\/a>, c\u00f3digo 2<\/strong><\/h2>\n\n\n\n
SKError.Code.paymentInvalid<\/strong><\/a>, c\u00f3digo 3<\/strong><\/h2>\n\n\n\n
SKError.Code.paymentNotAllowed<\/strong><\/a>, c\u00f3digo 4<\/strong><\/h2>\n\n\n\n
SKError.Code.storeProductNotAvailable<\/strong><\/a>, c\u00f3digo 5<\/strong><\/h2>\n\n\n\n
SKError.Code.cloudServicePermissionDenied<\/strong><\/a>, c\u00f3digo 6<\/strong><\/h2>\n\n\n\n
SKError.Code.cloudServiceNetworkConnectionFailed<\/strong><\/a>, c\u00f3digo 7<\/strong><\/h2>\n\n\n\n
SKError.Code.cloudServiceRevoked<\/strong><\/a>, c\u00f3digo 8<\/strong><\/h2>\n\n\n\n
SKError.Code.privacyAcknowledgementRequired<\/strong><\/a>, c\u00f3digo 9<\/strong><\/h2>\n\n\n\n
SKError.Code.unauthorizedRequestData<\/strong><\/a>, c\u00f3digo 10<\/strong><\/h2>\n\n\n\n
SKError.Code.invalidOfferIdentifier<\/strong><\/a>, c\u00f3digo 11<\/strong><\/h2>\n\n\n\n
SKError.Code.invalidSignature<\/strong><\/a>, c\u00f3digo 12<\/strong><\/h2>\n\n\n\n
SKError.Code.missingOfferParams<\/strong><\/a>, c\u00f3digo 13<\/strong><\/h2>\n\n\n\n
SKError.Code.invalidOfferPrice<\/strong><\/a>, c\u00f3digo 14<\/strong><\/h2>\n\n\n\n
Conclus\u00e3o<\/h2>\n\n\n\n
\n