react-onesignal
Advanced tools
Comparing version 1.2.1 to 1.3.0
@@ -282,2 +282,43 @@ /* eslint-disable no-unused-vars */ | ||
/** | ||
* Sets a key/value "tag" pair on OneSignal. | ||
* | ||
* @param key string | ||
* @param val string | ||
*/ | ||
var sendTag = function (key, val) { return new Promise(function (resolve, reject) { | ||
var oneSignal = getOneSignalInstance(); | ||
if (!oneSignal) { | ||
reject(); | ||
return; | ||
} | ||
try { | ||
oneSignal.sendTag(key, val) | ||
.then(function (value) { return resolve(value); }) | ||
.catch(function (error) { return reject(error); }); | ||
} | ||
catch (error) { | ||
reject(error); | ||
} | ||
}); }; | ||
/** | ||
* Sets a collection of key/value "tag" pairs on OneSignal. | ||
* | ||
* @param keyValues obj | ||
*/ | ||
var sendTags = function (keyValues) { return new Promise(function (resolve, reject) { | ||
var oneSignal = getOneSignalInstance(); | ||
if (!oneSignal) { | ||
reject(); | ||
return; | ||
} | ||
try { | ||
oneSignal.sendTags(keyValues) | ||
.then(function (value) { return resolve(value); }) | ||
.catch(function (error) { return reject(error); }); | ||
} | ||
catch (error) { | ||
reject(error); | ||
} | ||
}); }; | ||
/** | ||
* Object for manipulating OneSignal. | ||
@@ -295,2 +336,4 @@ */ | ||
getExternalUserId: getExternalUserId, | ||
sendTag: sendTag, | ||
sendTags: sendTags, | ||
}; | ||
@@ -297,0 +340,0 @@ |
@@ -286,2 +286,43 @@ 'use strict'; | ||
/** | ||
* Sets a key/value "tag" pair on OneSignal. | ||
* | ||
* @param key string | ||
* @param val string | ||
*/ | ||
var sendTag = function (key, val) { return new Promise(function (resolve, reject) { | ||
var oneSignal = getOneSignalInstance(); | ||
if (!oneSignal) { | ||
reject(); | ||
return; | ||
} | ||
try { | ||
oneSignal.sendTag(key, val) | ||
.then(function (value) { return resolve(value); }) | ||
.catch(function (error) { return reject(error); }); | ||
} | ||
catch (error) { | ||
reject(error); | ||
} | ||
}); }; | ||
/** | ||
* Sets a collection of key/value "tag" pairs on OneSignal. | ||
* | ||
* @param keyValues obj | ||
*/ | ||
var sendTags = function (keyValues) { return new Promise(function (resolve, reject) { | ||
var oneSignal = getOneSignalInstance(); | ||
if (!oneSignal) { | ||
reject(); | ||
return; | ||
} | ||
try { | ||
oneSignal.sendTags(keyValues) | ||
.then(function (value) { return resolve(value); }) | ||
.catch(function (error) { return reject(error); }); | ||
} | ||
catch (error) { | ||
reject(error); | ||
} | ||
}); }; | ||
/** | ||
* Object for manipulating OneSignal. | ||
@@ -299,2 +340,4 @@ */ | ||
getExternalUserId: getExternalUserId, | ||
sendTag: sendTag, | ||
sendTags: sendTags, | ||
}; | ||
@@ -301,0 +344,0 @@ |
@@ -15,3 +15,5 @@ import { OneSignalOptions, IOneSignalEvent } from './oneSignal.types'; | ||
getExternalUserId: () => Promise<string>; | ||
sendTag: (key: string, val: string) => Promise<string>; | ||
sendTags: (keyValues: object) => Promise<string>; | ||
}; | ||
export default ReactOneSignal; |
@@ -11,2 +11,4 @@ export interface IOneSignal { | ||
initialized: boolean; | ||
sendTag: (key: string, val: string) => Promise<string>; | ||
sendTags: (keyValues: object) => Promise<any>; | ||
} | ||
@@ -13,0 +15,0 @@ export interface OneSignalOptions { |
{ | ||
"name": "react-onesignal", | ||
"version": "1.2.1", | ||
"version": "1.3.0", | ||
"description": "React OneSignal Module: Make it easy to integrate OneSignal with your React App!", | ||
@@ -5,0 +5,0 @@ "author": "pedro-lb", |
@@ -161,2 +161,18 @@ # React OneSignal | ||
### OneSignal Tags and Audience Segmenting | ||
You can use `sendTag` and `sendTags` to set OneSignal tags for segment filtering. | ||
```js | ||
// Send a tag to OneSignal for the current player | ||
OneSignal.sendTag('tag', 'tagValue'); | ||
// Send multiple tags to OneSignal for the current player | ||
const keyValues = { | ||
'tag1': 'value1', | ||
'tag2': 'value2', | ||
'tag3': 'value3', | ||
}; | ||
OneSignal.sendTags(keyValues); | ||
``` | ||
## Contributing | ||
@@ -163,0 +179,0 @@ |
@@ -346,2 +346,47 @@ // eslint-disable-next-line no-unused-vars | ||
/** | ||
* Sets a key/value "tag" pair on OneSignal. | ||
* | ||
* @param key string | ||
* @param val string | ||
*/ | ||
const sendTag = (key: string, val: string) => new Promise<string>((resolve, reject) => { | ||
const oneSignal = getOneSignalInstance(); | ||
if (!oneSignal) { | ||
reject(); | ||
return; | ||
} | ||
try { | ||
oneSignal.sendTag(key, val) | ||
.then((value) => resolve(value)) | ||
.catch((error) => reject(error)); | ||
} catch (error) { | ||
reject(error); | ||
} | ||
}); | ||
/** | ||
* Sets a collection of key/value "tag" pairs on OneSignal. | ||
* | ||
* @param keyValues obj | ||
*/ | ||
const sendTags = (keyValues: object) => new Promise<string>((resolve, reject) => { | ||
const oneSignal = getOneSignalInstance(); | ||
if (!oneSignal) { | ||
reject(); | ||
return; | ||
} | ||
try { | ||
oneSignal.sendTags(keyValues) | ||
.then((value) => resolve(value)) | ||
.catch((error) => reject(error)); | ||
} catch (error) { | ||
reject(error); | ||
} | ||
}); | ||
/** | ||
* Object for manipulating OneSignal. | ||
@@ -359,4 +404,6 @@ */ | ||
getExternalUserId, | ||
sendTag, | ||
sendTags, | ||
}; | ||
export default ReactOneSignal; |
@@ -11,2 +11,4 @@ export interface IOneSignal { | ||
initialized: boolean, | ||
sendTag: (key: string, val: string) => Promise<string>; | ||
sendTags: (keyValues: object) => Promise<any>; | ||
} | ||
@@ -13,0 +15,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
77554
1217
190