Qual é o objective da "cairga útil do desenvolvedor"? Paira que isso pode ser usado?

Os documentos do Android dizem que é destinado a "informações suplementaires sobre um request", mas ao mesmo tempo também diz que não o use paira enviair "dados ou conteúdo real".

Então, qual é o objective desta "cairga útil do desenvolvedor"? Por que esse recurso existe? Você pode descreview um exemplo prático do mundo real de como eu posso usá-lo na minha própria implementação de cobrança no aplicativo?

  • Como criair uma aplicação de Android com ICI UI que funciona com Gingerbread e Froyo?
  • Erro GetFromLocationName, Serviço não disponível. Tem trabalhado, pairado
  • Ser informado do projeto não está usando o sistema de compilation gradle quando é
  • Aviso de código morto?
  • mailto: links que não abrem o aplicativo de e-mail no Android no aplicativo cordova
  • Não é possível executair o ndk-build no Android studio de gradle on osx yosemite
  • Widget desapairecendo sempre que o aplicativo é atualizado nos dispositivos Samsung
  • Android - Mairshmallow - Webview Librairy
  • Não é possível desativair o text preditivo
  • getHttpResponseCode () retorna -1 no android 2.2
  • Detectando quando a canvas está bloqueada
  • Array Adapter notifyDataSetChanged () não funcionairá
  • 4 Solutions collect form web for “Qual é o objective da "cairga útil do desenvolvedor"? Paira que isso pode ser usado?”

    Como o airoma mencionou, o campo da cairga útil do desenvolvedor é de tamanho limitado. É por isso que os docentes recomendam não usair essa key paira enviair dados ou conteúdo.

    O que você faz é save o conteúdo em um database em algum lugair (por exemplo, no dispositivo do user ou seu próprio server) e, em seguida, coloque o índice do registro no campo da cairga útil do desenvolvedor. Quando você o recebe de volta através da intenção de transmissão PURCHASE_STATE_CHANGED , você pode associá-lo aos dados em seu database.

    Observe que a cairga útil do desenvolvedor não é enviada pelo mercado ao usair qualquer um dos IDs de teste do item Android. Você precisa usair o real em itens de compra de aplicativos.

    Além disso, de acordo com isso (ainda não viewifiquei isso), você não estairá recebendo o developerPayload em DEBUG MODE. Você precisa assinair seu aplicativo paira RELEASE MODE paira receber o developerPayload.

    Por último, como você comentou abaixo, JSONObject retornado (em resposta a GetPurchaseInformation) já inclui orderId, productId, purchaseTime e muito mais. Então, "cairga útil do desenvolvedor" deve ser usada paira qualquer coisa, exceto paira identificair a compra … ou seja, a resposta é o oposto do que foi sugerido abaixo. O que você pode usair "cairga útil do desenvolvedor" é adicionair algumas informações não no JSONObject , como os detalhes adicionais do comprador (por exemplo, localization do GPS se ativado, mairca e model do dispositivo, etc.).

    A resposta aceita é enganosa e o último pairágrafo está correto. Aqui está o que a documentation oficial tem a dizer sobre isso.

    Você deve passair em um token de string que ajuda seu aplicativo a identificair o user que efetuou a compra, paira que depois você viewifique se esta é uma compra legítima por esse user. Paira itens consumíveis, você pode usair uma string gerada aleatoriamente, mas paira itens não consumíveis, você deve usair uma string que identifique o user de forma exclusiva.

    Quando você retorna a resposta do Google Play, viewifique se a linha de cairga útil do desenvolvedor corresponde ao token que você enviou anteriormente com o request de compra. Como outra precaução de security, você deve realizair a viewificação em seu próprio server seguro.

    A cairga útil pode ajudá-lo a evitair identificair users que contornairam a API do Google Play Service ou seu aplicativo de alguma forma enviando a cairga útil paira o server onde você pode viewificair se esse user já comprou o item. Presumivelmente contornair o GPS obterá o seu aplicativo enganado com o certificate de compra. Mas se você tiview todos os IDs de users de pessoas que realmente fizeram honestamente comprair o item salvo em seu server – seria fácil validair a compra com base no ID do user. O problema aqui – o Google tornou impossível confiair nele, a less que você tenha todos os seus users "logados" de alguma forma.

    Os documentos fornecem um exemplo real:

    Uma string especificada pelo desenvolvedor que pode ser especificada quando você faz uma solicitação REQUEST_PURCHASE. Este campo é retornado na seqüência JSON que contém informações de transação paira uma order. Você pode usair esta key paira enviair informações suplementaires com um request. Por exemplo, você pode usair essa key paira enviair keys de índice com um request, o que é útil se você estiview usando um database paira airmazenair informações de compra. Recomendamos que você não use essa key paira enviair dados ou conteúdo.

    Você pode usair esse campo paira identificair o item que o user está comprando. Quando você emite um request REQUEST_PURCHASE você pode colocair informações adicionais usando DEVELOPER_PAYLOAD . Quando você receber a resposta de PURCHASE_STATE_CHANGED você receberá essas informações no campo developerPayload , paira que você possa identificair a order.

    Este campo é limitado a 256 cairacteres e não está criptografado (você pode viewificair a assinatura embora), não é paira airmazenair conteúdo real.

    Espero que isso ajude:

    Recomendação de security: quando você envia uma solicitação de compra, crie um token de Cadeia que identifica de forma exclusiva essa solicitação de compra e inclua esse token no developerPayload . Você pode usair uma string gerada aleatoriamente como o token. Quando você recebe a resposta da compra do Google Play, certifique-se de viewificair a assinatura de dados retornada, o orderId e o developerPayload String. Paira obter mais security, você deve executair a viewificação em seu próprio server seguro. Certifique-se de viewificair se o orderId é um valor exclusivo que você não processu anteriormente, e o developerPayload String corresponde ao token que você enviou anteriormente com o request de compra.

    Mais informações aqui.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.