Skip to content

Commit 0915850

Browse files
Merge pull request #591 from queen-raae/feat/tracked-analytics-#590
feat: add option to configure tracked analytics
2 parents 6378068 + 4004b63 commit 0915850

File tree

3 files changed

+41
-8
lines changed

3 files changed

+41
-8
lines changed

lib-es5/utils/index.js

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -899,8 +899,16 @@ function url(public_id) {
899899
var urlAnalytics = ensureOption(options, 'urlAnalytics', false);
900900

901901
if (urlAnalytics === true) {
902-
var sdkVersions = getSDKVersions();
903-
var analyticsOptions = getAnalyticsOptions(Object.assign({}, options, sdkVersions));
902+
var { sdkCode, sdkSemver, techVersion } = getSDKVersions();
903+
var sdkVersions = {
904+
sdkCode: ensureOption(options, 'sdkCode', sdkCode),
905+
sdkSemver: ensureOption(options, 'sdkSemver', sdkSemver),
906+
techVersion: ensureOption(options, 'techVersion', techVersion)
907+
};
908+
909+
var analyticsOptions = getAnalyticsOptions(
910+
Object.assign({}, options, sdkVersions)
911+
);
904912

905913
var sdkAnalyticsSignature = getSDKAnalyticsSignature(analyticsOptions);
906914

@@ -909,7 +917,7 @@ function url(public_id) {
909917
if (resultUrl.indexOf('?') >= 0) {
910918
appender = '&';
911919
}
912-
resultUrl = `${resultUrl}${appender}_s=${sdkAnalyticsSignature}`;
920+
resultUrl = `${resultUrl}${appender}_a=${sdkAnalyticsSignature}`;
913921
}
914922

915923
return resultUrl;

lib/utils/index.js

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -829,8 +829,16 @@ function url(public_id, options = {}) {
829829
let urlAnalytics = ensureOption(options, 'urlAnalytics', false);
830830

831831
if (urlAnalytics === true) {
832-
let sdkVersions = getSDKVersions();
833-
let analyticsOptions = getAnalyticsOptions(Object.assign({}, options, sdkVersions));
832+
let { sdkCode, sdkSemver, techVersion } = getSDKVersions();
833+
let sdkVersions = {
834+
sdkCode: ensureOption(options, 'sdkCode', sdkCode),
835+
sdkSemver: ensureOption(options, 'sdkSemver', sdkSemver),
836+
techVersion: ensureOption(options, 'techVersion', techVersion)
837+
};
838+
839+
let analyticsOptions = getAnalyticsOptions(
840+
Object.assign({}, options, sdkVersions)
841+
);
834842

835843
let sdkAnalyticsSignature = getSDKAnalyticsSignature(analyticsOptions);
836844

@@ -839,7 +847,7 @@ function url(public_id, options = {}) {
839847
if (resultUrl.indexOf('?') >= 0) {
840848
appender = '&';
841849
}
842-
resultUrl = `${resultUrl}${appender}_s=${sdkAnalyticsSignature}`;
850+
resultUrl = `${resultUrl}${appender}_a=${sdkAnalyticsSignature}`;
843851
}
844852

845853
return resultUrl;

test/unit/sdkAnalytics/imageTagWithAnalytics.spec.js

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ describe('Tests for sdk analytics through image tag', function () {
4949
urlAnalytics: true
5050
});
5151

52-
expect(imgStr).to.contain(`src='http://res.cloudinary.com/${TEST_CLOUD_NAME}/image/upload/hello.png?_s=AMAlhAM0`);
52+
expect(imgStr).to.contain(`src='http://res.cloudinary.com/${TEST_CLOUD_NAME}/image/upload/hello.png?_a=AMAlhAM0`);
5353
});
5454

5555
it('Reads from process.versions and package.json (Mocked) - Responsive', () => {
@@ -63,6 +63,23 @@ describe('Tests for sdk analytics through image tag', function () {
6363
urlAnalytics: true
6464
});
6565

66-
expect(imgStr).to.contain(`src='http://res.cloudinary.com/${TEST_CLOUD_NAME}/image/upload/hello.png?_s=AMAlhAMA`);
66+
expect(imgStr).to.contain(`src='http://res.cloudinary.com/${TEST_CLOUD_NAME}/image/upload/hello.png?_a=AMAlhAMA`);
67+
});
68+
69+
it('Reads from tracked analytics configuration', () => {
70+
process.versions = {
71+
node: '12.0.0'
72+
};
73+
74+
let imgStr = cloudinary.image("hello", {
75+
format: "png",
76+
urlAnalytics: true,
77+
sdkCode: "X",
78+
sdkSemver: "7.3.0",
79+
techVersion: "3.4.7"
80+
81+
});
82+
83+
expect(imgStr).to.contain(`src='http://res.cloudinary.com/${TEST_CLOUD_NAME}/image/upload/hello.png?_a=AXAEzGT0`);
6784
});
6885
});

0 commit comments

Comments
 (0)