Archivi tag: notifiche kdp

Notifiche per le vendite su KDP

Come sappiamo, KDP non ha un’applicazione e non c’è nessun modo di ricevere le notifiche delle vendite sul nostro smartphone.

Vero?
No.

Con un Raspberry Pi, il servizio BookReport, IFTTT e uno userscript, è possibile creare un sistema in grado di notificarci le vendite che effettuiamo con i nostri libri in self publishing, in tempo quasi-reale, direttamente sul nostro smartphone Android o iPhone.

Come funziona?

Per chi si intende un po’ di informatica, la procedura sarà molto semplice.

Partiamo dall’inizio.
Book Report è un servizio in grado di collegarsi al nostro account Amazon, grazie ad una estensione Chrome, e di mostrarci le statistiche di vendita in un formato organizzato e facile da analizzare.
In breve, Book Report fornisce un’interfaccia nuova per la schermata Report di Kindle Direct Publishing.

Il Raspberry Pi è un piccolo computer ARM, che, per il nostro scopo, dovrà solamente eseguire Chromium con l’estensione di Book Report. Inoltre, lo stesso Chromium farà girare uno script Tampermonkey che, quando rileva una modifica alle informazioni di Book Report, esegue una call alle API di IFTTT.

Infine, creiamo un applet su IFTTT che, alla ricezione di questa call, invii una notifica al nostro smartphone con l’importo che ha ricevuto tramite API.

Scopriamo Book Report

Book Report è un semplice servizio online.
Accediamo al sito e registriamoci.
Il servizio è gratuito fino al raggiungimento dei 1000€/mese su KDP, in ogni caso lo script che utilizzeremo in seguito funzionerà anche superato tale limite – ovviamente perderemo l’accesso alla schermata delle statistiche, ma continueremo a ricevere le notifiche tramite IFTTT.

Una volta registrati a Book Report, il sito ci chiederà di accedere ad Amazon e di installare una estensione Chrome. Non è necessario: dovremmo poi farlo su Chromium sul nostro Raspberry Pi.

Prepariamo il Server

Installiamo Raspbian sul nostro Raspberry Pi.
Se non hai un Raspberry, puoi trovarlo su Amazon a meno di 60€. Include l’alimentatore, un case e una microSD con pre-installato NOOBS, che fornisce una procedura guidata per montare Raspbian.

Una volta avviata Raspbian, installiamo un servizio di VNC per utilizzare il Raspberry in modalità headless, ovvero senza uno schermo, mouse e tastiera. Per i meno esperti, la soluzione più semplice è TeamViewer.

Installiamo ora Chromium sul Raspberry Pi.
Dopodiché avremmo bisogno di scaricare e installare le seguenti estensioni.

Accediamo a Book Report facendo il login: ci dovremmo trovare di fronte alla stessa schermata che potevamo vedere dal desktop.
Dopodiché attiviamo Tampermonkey, creiamo un nuovo script e incolliamo il codice seguente.

// ==UserScript==
// @name         KDPNotification
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://app.getbookreport.com/
// @grant        GM.xmlHttpRequest
// ==/UserScript==

(function() {
    'use strict';
    var timer;
    var prevNumber = 0;
    var nowNumber = 0;
    var difference = 0;

    function createCORSRequest(method, url) {
        var xhr = new XMLHttpRequest();
        if ("withCredentials" in xhr) {
            xhr.open(method, url, true);

        } else if (typeof XDomainRequest != "undefined") {
            xhr = new XDomainRequest();
            xhr.open(method, url);

        } else {
            xhr = null;
        }
        return xhr;
    }
    function ohYes() {

        var ohnoes = document.getElementById("mainReport");
        if (ohnoes) {

            var title = document.title;
            var regex2 = (/([0-9]+\.[0-9][0-9])/g);
            var scan2 = regex2.exec(title)[0];
            if(scan2 != null)
            {
                nowNumber = scan2;
                difference = nowNumber - prevNumber;

                if(difference < 0)
                {
                    prevNumber = nowNumber;
                    difference = 0;
                }
                if(difference > 1)
                {
                    prevNumber = nowNumber;
                    GM.xmlHttpRequest({
                        method: "GET",
                        url: "https://maker.ifttt.com/trigger/kdp/with/key/dYXqPEPQ5YVRQwAPjVr-MV?value1="+parseFloat(difference).toFixed(2)+"&value2="+parseFloat(nowNumber).toFixed(2),
                        onload: function(response) {
                        }
                    });
                }
            }
            else {
                prevNumber = 0;
                nowNumber = 0;
                difference = 0;
            }
        }
    }
    timer = setInterval(ohYes, 10000);
})();

Accediamo nuovamente a Book Report e aspettiamo l’aggiornamento. Tampermonkey ci chiederà l’autorizzazione a contattare una pagina esterna, che dobbiamo approvare (scegliamo l’opzione per approvare sempre in automatico).

Notiamo che, nel codice di Tampermoney, alla riga 55 abbiamo un URL: questo sarà da modificare, inserendo la tua chiave personale che otterrai su IFTTT.

Prepariamo l’applet IFTTT

Ok, ci siamo quasi.
Dobbiamo ancora creare l’applet personalizzato su IFTTT.

Accediamo a IFTTT, clicchiamo su My Applets e su New Applet.
Come THIS mettiamo Webhooks > Receive a web request, impostando come event_name KDP.

Come THAT, invece, cerchiamo Notifications, e incolliamo il seguente testo.

KDP: Hai guadagnato {{Value1}}€

In questo modo, la notifica ci scriverà, ad esempio: “Hai guadagnato 13,00€“, poiché il valore di {{Value1}} viene trasmesso dal nostro script a IFTTT.
Possiamo modificare a piacimento questo testo, o addirittura possiamo utilizzare anche {{Value2}} che indica il totale guadagnato fino ad oggi, ad esempio

KDP: Hai guadagnato {{Value1}}€ e oggi sei a {{Value2}}€

Perfetto. Ora dobbiamo modificare il nostro script per comunicare correttamente con il nostro applet IFTTT.
Accediamo a questa pagina per ottenere la nostra chiave segreta, che andremo poi ad incollare nella riga 55 dello script, al posto del testo tra parentesi graffe – parentesi incluse!

Installiamo IFTTT sullo smartphone

Abbiamo finito. Non ci rimane che installare IFTTT sul nostro smartphone e accedere con lo stesso account che abbiamo usato per creare e attivare l’applet.

Riceveremo le notifiche ogni volta che il nostro guadagno giornaliero su Book Report aumenta di oltre 1€ – anche cumulativo.

Possiamo testarlo facilmente: lo script di Tampermonkey vive solamente durante la singola sessione.
Ricaricando la pagina, riparte da zero: dovremmo quindi ricevere entro qualche secondo una notifica sul nostro smartphone indicante il totale guadagnato nel corso della giornata.