Italian Proteggere l'APP sul market

Fabri

Member
Licensed User
Salve, ho creato e pubblicato una piccola tool a pagamento. Mi sorge il dubbio: Google fa un controllo in automatico per verificare che sia installata sugli apparecchi dell'acquirente oppure chiunque la compra può estrarre l'APK e fornirla a chi vuole?
 

udg

Expert
Licensed User
Longtime User
Temo che se l'acquirente sia dotato di device per cui ha accesso root allora dell'apk ne possa fare ciò che desidera..
Non lo so per certo, ma mi sembra plausibile.
 

Fabri

Member
Licensed User
La mia domanda era più semplice. Chi acquista un app, senza avere root, può semplicemente estrarre con, ad esempio APK EXTRACTOR, il file .apk e installarlo su altre device? Oppure Google fa un controllo a monte? Sui thread in inglese qualcuno mi ha detto che dev'essere inserito un controllo nel codice. IN APP BILLING...voi come avete risolto?
 

udg

Expert
Licensed User
Longtime User
Personalmente "vendo" solo direttamente, nel senso che sviluppo su commissione e quindi lo lo store non mi crea problemi.
Altri prodotto sono SaaS (software as a service) e quindi attivi finchè "il cliente" paga..poi è semplicemente tagliato fuori.
In-app billing ti consente di vendere abbonamenti e rinnovi, ma i dettagli te li dovrebbe spiegare chi lo ha utilizzato in questo modo.
Google ha interesse ad evitare la pirateria perché comunque intasca il 30% del tuo prezzo di vendita, ma non credo si danni l'anima più di tanto..
 

sirjo66

Well-Known Member
Licensed User
Longtime User
Chi acquista un app, senza avere root, può semplicemente estrarre con, ad esempio APK EXTRACTOR, il file .apk e installarlo su altre device?

Si, può farlo senza problemi, anche con programmi ancora più semplici, ad esempio con AirDroid
Acquista il software, lo installa, estrae il file APK, disinstalla subito il prodotto chiedendo il rimborso (mi sembra che abbia un tot di tempo per fare ciò) e poi ha il file APK per fare ciò che vuole
 
D

Deleted member 103

Guest
Si, può farlo senza problemi, anche con programmi ancora più semplici, ad esempio con AirDroid
Acquista il software, lo installa, estrae il file APK, disinstalla subito il prodotto chiedendo il rimborso (mi sembra che abbia un tot di tempo per fare ciò) e poi ha il file APK per fare ciò che vuole
Eh sì, è proprio troppo semplice! :(
Usando questa libreria puoi rendere la vita un pò più difficile al pirata, ma non elimini completamente il problema.
La cosa, secondo me, più sicura è usare "In-app billing"; qui ha più controllo Google e anche tu.
 

Star-Dust

Expert
Licensed User
Longtime User
La cosa, secondo me, più sicura è usare "In-app billing"; qui ha più controllo Google e anche tu.
Inoltre commercialmente funziona meglio, l'utonto può provare l'app, innamorarsi e poi acquistare altre funzioni o l'uso senza limitazioni
 
D

Deleted member 103

Guest
Inoltre commercialmente funziona meglio, l'utonto può provare l'app, innamorarsi e poi acquistare altre funzioni o l'uso senza limitazioni
meglio ancora se vendi le funzioni a tempo determinato(1 anno, 6 mesi, ecc.), così ci guadagni anche con gli aggiornamenti.
 

Fabri

Member
Licensed User
@Filippo
Come avrete capito ho realizzato un app più per una soddisfazione personale che per guadagnare, visto che non è il mio lavoro. Cerco semplicemente una procedura dove l'APP, prima di installarsi sul dispositivo, effettui un controllo se colui che la sta installando l'abbia acquistata e non se la sia fatta passare da un amico. Sul forum ho trovato chi mi ha detto che devo seguire la procedura di IN APP BILLING ma la vedo alquanto complessa x quel che cerco. Visto che l'APP NON ha pubblicità e non c'è un pagamento periodico ma una tantum all'acquisto.
 

Star-Dust

Expert
Licensed User
Longtime User
Anche noi a suo tempo (alla prima pubblicazione) ci preoccupammo che non ci rubassero l'App e l'idea.Poi col tempo la realtà ci ha fatto desistere a questi controlli, se non dopo il primo milione di download :p

Prima di aver raggiunto il milione non fare nemmeno la fatica, fidati ;)
 

Fabri

Member
Licensed User
Un milione? a quel punto posso stipendiare qualche bravo esperto perché lo faccia per me. Vendendo l'APP fuori dallo store ufficiale avevo trovato un metodo efficace. A chi installava sul proprio apparecchio si presentava un codice di sblocco. Chi pagava riceveva un codice di accesso legato a quel numero. Così uno poteva anche passarlo all'amico mala procedura ripartiva da capo.
 

Star-Dust

Expert
Licensed User
Longtime User
Mi pare un ottima idea..
Un milione? a quel punto posso stipendiare qualche bravo esperto perché lo faccia per me. Vendendo l'APP fuori dallo store ufficiale avevo trovato un metodo efficace. A chi installava sul proprio apparecchio si presentava un codice di sblocco. Chi pagava riceveva un codice di accesso legato a quel numero. Così uno poteva anche passarlo all'amico mala procedura ripartiva da capo.
 

Star-Dust

Expert
Licensed User
Longtime User
Io ho risolto con app in billing
Ho un codice di pagamento che posso verificare ogni volta che si Avvia l'app

Funziona in modalità limitata quando l'app viene scaricata e successivamente si effettua l'acquisto che sblocca le varie funzionalità
 

Star-Dust

Expert
Licensed User
Longtime User
C'è una nuova funzione in app billing che al primo avvio crea un abbonamento gratuito per un periodo limitato che Stabilisci tu, una settimana virgola 15 giorni oppure un mese

Allo scadere di questo periodo Uno può effettuare un acquisto o un ulteriore abbonamento a pagamento
 

Fabri

Member
Licensed User
@Star-Dust
I ragazzi della comunità mi hanno suggerito di cercare "in app billing" ma non riesco ad adattare l'esempio alla mia APP. Danno per scontato che io sia esperto e capisca al volo. Poi io non voglio fare abbonamenti ma controllare solo che chi installa abbia effettivamente pagato
 

Star-Dust

Expert
Licensed User
Longtime User
Esattamente, é un ottimo consiglio. Ti serve avere il codice?
Intanto scarica la libreria

PS: A comunità noi preferiamo Forum, anche se qualcuno di noi sarebbe da recupero :p
 

Fabri

Member
Licensed User
:D:Dgià dal gergo si capisce che sono di fuori!
Ho provato a seguire i passi dei vari link trovati cercando IN APP BILLING. Ho scaricato la libreria, ma quando negli esempi parlano di "test_1"; "test_2" ecc. non capisco a cosa si riferiscano
 

Star-Dust

Expert
Licensed User
Longtime User
ma
:D:Dgià dal gergo si capisce che sono di fuori!
Ho provato a seguire i passi dei vari link trovati cercando IN APP BILLING. Ho scaricato la libreria, ma quando negli esempi parlano di "test_1"; "test_2" ecc. non capisco a cosa si riferiscano
Manco io... di che parli? :p.. Cmq adesso hai la libreria.... passo successivo.

1) Vai nella consolle di Google dove hai pubblicato l'App (se non lo hai fatto pubblicala almeno in versione beta) e vai su presenza nello Store e seleziona Prodotti in-App e crea un PRODOTTO GESTITO.
Chessò chiamalo VersioneCompleta stabilisci un ID Sku (completa1 o come ti pare) e metti un prezzo e una descrizione

2) Fatto? Adesso devi prendere la keyRSA che é la chiave di identificazione dell'App.
Nella Consolle di Google vai si strumenti di sviluppo e clicca su Servizi e API e li dentro troverai la chiave

tipo questa:
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlWp+cFHFhiD3GT5c5pKyHLSqW8GF7cGw1Do5IjnXfMR1dclqAlN5+g4fHfkOfYCBjcVdZRS8vEI8tJ/vcW0ZY4bNyuBktyy0cgUeIZWJMEJEhvWZ40MkfF0w2l7obpajqlrzhLy2A/RExip1HG94zTubtI/utE72US5cigmJBqLivzNj1K+XehFVGd7k6YKR1ydvcvCYLrCo72TGJoNKBJn09EVjF/Gz//t7GHvo6SDpW0vtkCT9k7XXXXXwIDAQAB


Metti una variabile globale nel tuo codice:
B4X:
Dim Manager As BillingManager3
Dim keyRSA As String = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQXXXX...eccc..."
 
Last edited:

Star-Dust

Expert
Licensed User
Longtime User
Passo 2:
B4X:
Sub Activity_Create(FirstTime As Boolean)
    'Do not forget to load the layout file created with the visual designer. For example:
    'Activity.LoadLayout("Layout1")
  
    If FirstTime Then
        Manager.Initialize("Manager", keyRSA)
        Manager.DebugLogging = True  
    End If
    if AttivazioneCompleta = false then
        AcquistaProdotto("completo1")
    Else
        'Avvia l'app completa
    End IF
End Sub
 
Last edited:
Top