2015-06-17 15 views
6

Sto cercando di integrare la logica "ricompensa per inviti". Quello che sto cercando di fare è generare un URl univoco per ogni utente. Quando un amico fa clic sull'URL viene indirizzato a una pagina e quindi al playstore. Sulla pagina, un cookie con l'ID univoco è memorizzato sul dispositivo.Cookie Android (Premio per inviti)

Nota - (L'utente può aprire il collegamento in qualsiasi browser)

Quando l'applicazione sul dispositivo si avvia, vado a prendere per i biscotti che è stata salvata usando sopra e, se disponibile inviare lo stesso al server in cui l'utente è facilmente identificato e premiato.

Questo sembrava abbastanza semplice, tuttavia sono bloccato nel punto in cui devo leggere il cookie ed estrarre l'id.

Ho letto this che dice che non è possibile. :(Ho provato anche il seguito

List<Cookie> cookies = new DefaultHttpClient().getCookieStore() 
      .getCookies(); 
    if (cookies.isEmpty()) { 
     System.out.println("None Cookies"); 
    } else { 
     for (int i = 0; i < cookies.size(); i++) { 
      System.out.println("Cookie - " + cookies.get(i).toString()); 
     } 
    } 

ma senza fortuna io continuo a ricevere "Nessuno Cookie"

Le mie domande:..

  1. E 'possibile leggere il cookie che è stato creato? Se sì, come?
  2. Se no, qualsiasi alternativa su come posso ottenere la funzionalità di cui sopra?

Tha nks per essere passato.

risposta

1

Ho trovato un'alternativa al mio requisito precedente utilizzando Campaign Measurement.

Questo può essere fatto in 3 semplici passaggi oltre a integrare google-play-services_lib.

  1. Creare l'URL di invito.

    Quale sarà l'URL del play-store + il tuo codice univoco.Per esempio il mio codice è ABCDEX52362XYZ l'URL sarà simile https://play.google.com/store/apps/details?id=com.app.yourappspackagename&referrer=utm_source%3DABCDEX52362XYZ

& referrer = utm_source% 3DABCDEX52362XYZ è la chiave importante qui. Maggiori dettagli sulla creazione di questo URL sono here.

Google dice -

Quando la tua applicazione viene scaricata da Google Play Store, l'app Play Store trasmette un INTENT_REFERRER per la vostra applicazione durante l'installazione. Questo intento contiene il valore del parametro referrer del link utilizzato per raggiungere la pagina del Google Play Store della tua app, se presente.

  1. Aggiungere il ricevitore di Google Analytics per il file AndroidManifest.xml

    <receiver android:name="com.app.receiver.ReferrerCatcher" android:exported="true"> 
        <intent-filter> 
         <action android:name="com.android.vending.INSTALL_REFERRER" /> 
        </intent-filter> 
    </receiver> 
    
  2. Crea ricevitore trasmissione ReferrerCatcher per catturare il codice di invito.

    public class ReferrerCatcher extends BroadcastReceiver { 
    
    private static String referrer = ""; 
    
    @Override 
    public void onReceive(Context context, Intent intent) {    
    
        referrer = ""; 
        Bundle extras = intent.getExtras(); 
        if (extras != null) { 
         referrer = extras.getString("referrer"); 
         if (referrer != null) { 
    
          String invitationCode = referrer.replace("utm_source=",""); 
    
          //referrer is your code plus the google keys, so you need to handle it   
    
         } 
        } 
    
        } 
    
    } 
    

Spero che questo aiuti. Buona programmazione. :)

2

Concetto interessante.

Per quanto riguarda il numero 1, violerai il protocollo di sicurezza predefinito di Android in cui le app non possono leggere i dati privati ​​di un'altra app. Ciò include tutto il browser su Android con i loro cookie isolati l'uno dall'altro, compresa la tua app.

Per il n. 2, perché non inserire una breve passphrase (che è facile da ricordare. Prendi spunto dalla generazione dell'URL di gfycat, anche se forse provi a limitare lo scope e la dimensione della parola) su quel singolo "successo" o la pagina "Premi guadagnati" prima di reindirizzare su Play Store? (Non sono sicuro di poter incorporare la pagina Play Store in un tag iframe).

Ancora meglio, se l'url si indirizza al sito di destinazione della tua app, ma attiva determinati elementi nella pagina per rivelare la passphrase e forse rende il pulsante di download più attraente (anche se si collega alla pagina del Play Store).

L'utente può quindi utilizzare la passphrase unica breve per sbloccare i premi nell'app.

Vedo grandi novità nella tua idea, ma questo è solo un suggerimento, ovviamente, dal momento che non puoi fare molto per aggirare la politica di sicurezza.

Problemi correlati