PubNub Gruppo di canali jolly Gestisci sovvenzione - Java SDK v4

Esempio

Quando si tratta di aggiungere / rimuovere canali ai / dai gruppi di canali, è necessario disporre dell'autorizzazione di manage per tali gruppi di canali. Ma non dovresti mai concedere ai clienti il ​​permesso di manage i gruppi di canali ai quali si iscriveranno. Se lo facessero, potrebbero aggiungere qualsiasi canale che volevano al loro gruppo di canali e avere immediatamente accesso in lettura a quel canale.

Ecco perché il tuo server deve essere l'unica entità che ha il permesso di manage . Ma il tuo server dovrà disporre dell'autorizzazione di manage per ogni singolo gruppo di canali in modo che possa aggiungere / rimuovere canali da / per i gruppi di canali per conto di tutti i client.

Ma concedere la manage a ogni singolo gruppo di canali può essere un po 'noioso. Invece, è possibile concedere la manage a tutti i gruppi di canali (esistenti e da creare) in una concessione di caratteri jolly .

// init PubNub instance using PNConfiguration with the secret-key
PNConfiguration pnConfiguration = new PNConfiguration();
pnConfiguration.setSubscribeKey("my_subkey")
pnConfiguration.setPublishKey("my_pubkey");
// secret key allows server to `grant` permissions
pnConfiguration.setSecretKey("my_secretkey");
pnConfiguration.setSecure(true);
// set the the server's auth key
pnConfiguration.setAuthKey("server_authkey");
PubNub pubnub = new PubNub(pnConfiguration);

// grant read and manage using the channel group wildcard - ":" 
// with forever ttl (0) 
pubNub.grant()
    .channelGroups(Arrays.asList(":")) // colon (:) is channel group wildcard
    .manage(true) // add/remove channels to/from channel groups
    .read(true) // in case server needs to subscribe or do here-now on channel groups
    .ttl(0) // 0 = forever grant
    .async(new PNCallback<PNAccessManagerGrantResult>() {
        @Override
        public void onResponse(PNAccessManagerGrantResult result, PNStatus status) {
            // check status for success or failure of grant
        }
    });

Da qui in avanti, il tuo server sarà in grado di aggiungere / rimuovere canali a / da qualsiasi gruppo di canali creato dalla tua app.