Skip to content

Commit

Permalink
navegg userid
Browse files Browse the repository at this point in the history
  • Loading branch information
hugopenha-navegg committed Jun 29, 2021
1 parent 28d3316 commit 2e55667
Show file tree
Hide file tree
Showing 5 changed files with 121 additions and 15 deletions.
5 changes: 2 additions & 3 deletions modules/.submodules.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,9 @@
"uid2IdSystem",
"admixerIdSystem",
"dmdIdSystem",
"akamaiDAPId",
"flocIdSystem",
"amxIdSystem"
"amxIdSystem",
"naveggId"
],
"adpod": [
"freeWheelAdserverVideo",
Expand All @@ -43,7 +43,6 @@
"haloRtdProvider",
"iasRtdProvider",
"jwplayerRtdProvider",
"medianetRtdProvider",
"optimeraRtdProvider",
"permutiveRtdProvider",
"reconciliationRtdProvider",
Expand Down
83 changes: 83 additions & 0 deletions modules/naveggId.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
/**
* This module adds naveggId to the User ID module
* The {@link module:modules/userId} module is required
* @module modules/naveggId
* @requires module:modules/userId
*/
import * as utils from '../src/utils.js'
import { submodule } from '../src/hook.js';
import { getStorageManager } from '../src/storageManager.js';

const MODULE_NAME = 'naveggId';
export const storage = getStorageManager();

function readnaveggIdFromLocalStorage() {
return storage.localStorageIsEnabled ? storage.getDataFromLocalStorage('nvggid') : null;
}

function readnaveggIDFromCookie() {
return storage.cookiesAreEnabled ? storage.getCookie('nvggid') : null;
}

function readoldnaveggIDFromCookie() {
return storage.cookiesAreEnabled ? storage.getCookie('nid') : null;
}

function readnvgIDFromCookie() {
return storage.cookiesAreEnabled ? storage.findSimilarCookies('nvg')[0] : null;
}

function readnavIDFromCookie() {
return storage.cookiesAreEnabled ? storage.findSimilarCookies('nav')[0] : null;
}

function readnvgnavFromLocalStorage() {
var i, results = [];
const query = '^nvg|^nav';
for (i in window.localStorage) {
if (i.match(query) || (!query && typeof i === 'string')) {
return storage.localStorageIsEnabled ? storage.getDataFromLocalStorage(i.match(query).input) : null;
}
}
}

/** @type {Submodule} */
export const naveggIdSubmodule = {
/**
* used to link submodule with config
* @type {string}
*/
name: MODULE_NAME,
/**
* decode the stored id value for passing to bid requests
* @function
* @param { Object | string | undefined } value
* @return { Object | string | undefined }
*/
decode(value) {
const naveggIdVal = value ? utils.isStr(value) ? value : utils.isPlainObject(value) ? value.id : undefined : undefined;
return naveggIdVal ? {
'naveggId': naveggIdVal
} : undefined;
},
/**
* performs action to obtain id and return a value in the callback's response argument
* @function
* @param {SubmoduleConfig} config
* @return {{id: string | undefined } | undefined}
*/
getId() {
const naveggIdString = readnaveggIdFromLocalStorage() || readnaveggIDFromCookie() || readoldnaveggIDFromCookie() || readnvgIDFromCookie() || readnavIDFromCookie() || readnvgnavFromLocalStorage();

if (typeof naveggIdString == 'string' && naveggIdString) {
try {
return { id: naveggIdString };
// return { id: naveggIdString ? { naveggId: naveggIdString } : undefined }
} catch (error) {
utils.logError(error);
}
}
return undefined;
}
};
submodule('userId', naveggIdSubmodule);
22 changes: 22 additions & 0 deletions modules/naveggId.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
## Navegg User ID Submodule

For assistance setting up your module please contact us at [[email protected]]([email protected]).

### Prebid Params

Individual params may be set for the IDx Submodule.
```
pbjs.setConfig({
userSync: {
userIds: [{
name: 'naveggId',
}]
}
});
```
## Parameter Descriptions for the `userSync` Configuration Section
The below parameters apply only to the naveggID integration.

| Param under usersync.userIds[] | Scope | Type | Description | Example |
| --- | --- | --- | --- | --- |
| name | Required | String | ID of the module - `"naveggId"` | `"naveggId"` |
11 changes: 6 additions & 5 deletions modules/userId/eids.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,12 @@ const USER_IDS_CONFIG = {
atype: 1
},

// naveggId
'naveggId': {
source: 'navegg.com',
atype: 1
},

// pubCommonId
'pubcid': {
source: 'pubcid.org',
Expand Down Expand Up @@ -203,11 +209,6 @@ const USER_IDS_CONFIG = {
source: 'deepintent.com',
atype: 3
},
// Akamai Data Activation Platform (DAP)
'dapId': {
source: 'akamai.com',
atype: 1
},
// Admixer Id
'admixerId': {
source: 'admixer.net',
Expand Down
15 changes: 8 additions & 7 deletions modules/userId/eids.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,14 @@ userIdAsEids = [
}]
},
{
source: 'navegg.com',
uids: [{
id: 'naveggId',
atype: 1
}]
},
{
source: 'neustar.biz',
uids: [{
Expand Down Expand Up @@ -182,13 +190,6 @@ userIdAsEids = [
atype: 3
}]
},
{
source: 'akamai.com',
uids: [{
id: 'some-random-id-value',
atype: 1
}]
},
{
source: 'deepintent.com',
uids: [{
Expand Down

0 comments on commit 2e55667

Please sign in to comment.