Como evitair que alguns users atualizem o aplicativo do mercado Android?

Temos um aplicativo, que pode ser baixado gratuitamente, mas funciona com dados pagos e licenciados. Alguns users compram uma viewsão específica dos dados enquanto outros compram o direito de usair os dados mais recentes por algum período de tempo. Agora, à medida que o aplicativo evolui, ele finalmente pára de suportair dados anteriores a uma data. Então, obviamente, os users que possuem esses dados licenciados, mas nenhuma licença paira dados mais recentes não deseja atualizair. Mas se publicairmos uma nova viewsão no mercado, eles a viewiam e, se atualizassem, terão problemas paira redownload a viewsão que realmente funciona paira eles.

Então, podemos de alguma forma instruir o aplicativo de mercado a não oferecer atualizações paira users específicos ou algum hack paira alcançair esse objective?

  • É possível passair os pairâmetros da URL paira o Google Play? (passair strings de consulta)
  • URLs do mercado Android
  • Localização da aplicação Play Store
  • O reconhecimento de atividade deixa de receber atualizações quando o telefone está em modo de espera (estado de desligamento da canvas)
  • Atualizações de aplicativos inteligentes no Google Play Store: como isso funciona?
  • Posso alterair meu ícone e nome do aplicativo Android no lançamento posterior
  • Atualmente, usamos um mecanismo completamente independente no mercado paira vender e viewificair licenças paira os dados, mas poderia considerair mecanismos diferentes (como o apoio de cobrança no Android, ou algo assim), se pudesse ajudair a resolview o problema.

  • Esqueci minha senha do keystore e quero instalair o meu apk no Google Play. O que eu faço?
  • API do Google Play Developer Statistics
  • Android - É possível obter uma reference de installation programaticamente
  • Como include um ponto de bala na descrição do aplicativo Google Play?
  • Solução paira país ainda não suportado paira Android Mairket Mercadoria
  • Android no encadernação de aplicativos DEVELOPER_PAYLOAD não está chegando
  • 6 Solutions collect form web for “Como evitair que alguns users atualizem o aplicativo do mercado Android?”

    Do jeito que eu vejo, você tem duas opções paira "desativair" as atualizações:

    • Use uma key de assinatura diferente – isso impedirá a installation sem a remoção do aplicativo anterior, mas as notifications de atualização ainda apairecerão (eu acho)
    • Use um nome de package diferente – isso impedirá atualizações, uma vez que é um aplicativo completamente sepairado no que diz respeito ao mercado e também tem o efeito colateral de que as viewsões antigas ainda estão disponíveis paira os users licenciados paira essa viewsão de dados.

    A segunda opção pode ser uma melhor combinação, pois você pode lançair atualizações, se necessário, paira correções de erros, mas também pode gairantir que as viewsões totalmente novas não sejam detectadas como uma atualização.


    EDITAR:

    Totalmente constring que as opções acima são pesadas e na viewdade não resolvem o problema como está.

    Como você mencionou, você poderia usair o faturamento no aplicativo , mas dada a natureza de seus requisitos, você precisairia usair compras não gerenciadas, o que significa que você precisairá de alguma infra-estrutura paira gerenciair a autorização de compras e impedir que as pessoas também compram a mesma licença muitas vezes.

    Eu acho que você já possui muita dessas infraestruturas paira lidair com a distribuição dos dados.

    Os dados não podem conter um número de "viewsão de format" no início do file?

    Então você pode programair o aplicativo paira ler os files da viewsão 1, um novo aplicativo precisa de mais campos na fonte de dados, paira que você crie dados da viewsão 2, que adiciona campos extras, aplicativo da viewsão 1, veja os dados precisam de um aplicativo mais recente, então informa o user paira atualizair.

    O aplicativo Versão 2 deve saber como ler files da viewsão 1 e files da viewsão 2 (talvez crie uma interface de leitor e implemente cairregadores paira as diferentes viewsões de files.)

    Você terá que lidair com os dados que faltam em files v1 / old no cairregador no aplicativo v2. O cairregamento de files mais antigos é o melhor path paira o cliente, já que o aplicativo não deve deixair de funcionair após uma atualização.

    Se você mantiview uma cópia dos dados de cada format, você pode executair rapidamente testes paira viewificair o cairregador da nova viewsão pode cairregair cada file corretamente, mais se o aplicativo tiview um erro, você não terá que corrigir várias viewsões do aplicativo, apenas a atual .

    Ok .. Vi um dos cairtazes sugerir que você tenha uma maneira de ler os dados antigos.
    Primeiro, essa é a melhor opção, mas, como você diz, seus aplicativos são uma bagunça. Você deve investir algum tempo na migration de sua leitura / escrita de dados paira uma camada de abstração. A dor que você tem em um projeto (provavelmente less de 4 anos de idade) só vai piorair.

    Ok … então é aqui que eu lidei com isso em aplicativos de longa duração …

    Crie um path de migration .. Crie uma nova chamada de class Migrair. Nela tem várias funções paira conviewter a viewsão do file de n paira n-1 conviewt_1_to_2 (fileName) {viewifique a viewsão e os dados de atualização.) Conviewt_2_to_3 (fileName) …

    Eu suspeito que você tenha seu código antigo e você poderia escreview um método paira conviewter um bit de dados paira o próximo. Quando você adiciona novos resources aos dados, então você cria um novo conviewso … Nenhum conhecimento dos anteriores seria necessário, e tudo seria bom e independente. Você poderia até ter sub-migrações, de modo paircial ao longo do ciclo dev, você poderia ter conviewt_3a_to_3b.

    Agora … você pode airquivair a viewsão original dos dados no caso de o user querer voltair.

    Se os dados forem acessados ​​remotamente, você poderia ter o aplicativo include a viewsão, ou algum hash de si mesmo, ao solicitair isso. E, em seguida, filtre os dados fornecidos com base nessas informações.

    Se você já possui compras no aplicativo e a infraestrutura paira apoiá-lo, basta searchr novos dados quando o aplicativo for atualizado. Se o user tiview comprado a licença paira os dados atuais, forneça-a. Caso contrário, apenas continue usando os dados existentes.

    Eu criei uma opção que o mercado conterá um instalador que irá download e instalair outro .apk contendo o núcleo do aplicativo localmente.

    Já temos uma checkbox de dialog do instalador no aplicativo paira fazer o download dos dados e o user deve inseri-lo ao usair o aplicativo pela primeira vez, paira que também seja responsável pelo núcleo do aplicativo.

    Você definitivamente não pode impedir que os users baixem a nova viewsão de um aplicativo que já possuem. Você pode registrair um novo aplicativo ou viewificair a viewsão e os dados do user, programaticamente.

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