| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- function BxDolPushOneSignal(oOptions) {
- this._sObjName = oOptions.sObjName == undefined ? 'oBxDolPushOneSignal' : oOptions.sObjName;
- this._sSiteName = oOptions.sSiteName == undefined ? '' : oOptions.sSiteName;
- this._aTags = oOptions.aTags == undefined ? {} : oOptions.aTags;
- this._sAppId = oOptions.sAppId == undefined ? '' : oOptions.sAppId;
- this._sShortName = oOptions.sShortName == undefined ? '' : oOptions.sShortName;
- this._sSafariWebId = oOptions.sSafariWebId == undefined ? '' : oOptions.sSafariWebId;
- this._sSubfolder = oOptions.sSubfolder == undefined ? '/plugins_public/onesignal/' : oOptions.sSubfolder;
- this._sNotificationUrl = oOptions.sNotificationUrl == undefined ? '' : oOptions.sNotificationUrl;
- this._sTxtNotificationRequest = oOptions.sTxtNotificationRequest == undefined ? 'Would you like to get notifications' : oOptions.sTxtNotificationRequest;
- this._sTxtNotificationRequestYes = oOptions.sTxtNotificationRequestYes == undefined ? 'Yes' : oOptions.sTxtNotificationRequestYes;
- this._sTxtNotificationRequestNo = oOptions.sTxtNotificationRequestNo == undefined ? 'No' : oOptions.sTxtNotificationRequestNo;
- var $this = this;
- $(document).ready(function() {
- $this.init();
- });
- }
- BxDolPushOneSignal.prototype.init = function() {
- var $this = this;
- window.OneSignal = window.OneSignal || [];
- OneSignal.push(function() {
- OneSignal.SERVICE_WORKER_UPDATER_PATH = "OneSignalSDKUpdaterWorker.js.php";
- OneSignal.SERVICE_WORKER_PATH = "OneSignalSDKWorker.js.php";
- OneSignal.SERVICE_WORKER_PARAM = { scope: '/' }; /* This registers the workers at the root scope, which is allowed by the HTTP header "Service-Worker-Allowed: /" */
- });
- OneSignal.push(["init", {
- appId: $this._sAppId,
- autoRegister: true, /* Set to true to automatically prompt visitors */
- subdomainName: $this._sShortName, /* required only for http sites */
- safari_web_id: $this._sSafariWebId,
- path: $this._sSubfolder, /* A trailing slash is required */
- persistNotification: false,
- welcomeNotification: {
- disable:false
- },
- httpPermissionRequest: {
- enable: true
- },
- promptOptions: {
- /* These prompt options values configure both the HTTP prompt and the HTTP popup. */
- /* actionMessage limited to 90 characters */
- actionMessage: $this._sTxtNotificationRequest,
- /* acceptButtonText limited to 15 characters */
- acceptButtonText: $this._sTxtNotificationRequestYes,
- /* cancelButtonText limited to 15 characters */
- cancelButtonText: $this._sTxtNotificationRequestNo
- }
- }]);
- OneSignal.push(function() {
- var isPushSupported = OneSignal.isPushNotificationsSupported();
- OneSignal.setDefaultNotificationUrl($this._sNotificationUrl);
- OneSignal.isPushNotificationsEnabled().then(function(isEnabled) {
- if('undefined' !== typeof($this._aTags['email'])) {
- OneSignal.setEmail($this._aTags['email'], $this._aTags['email_hash']);
- delete $this._aTags['email'];
- delete $this._aTags['email_hash'];
- }
- OneSignal.sendTags($this._aTags); // set tags for onesiganl, some of these tags will be used to send notification
- if(!isEnabled && isPushSupported)
- OneSignal.showHttpPermissionRequest();
- });
- });
- if(navigator.userAgent.indexOf('gonative') > -1) {
- var json = JSON.stringify($this._aTags);
- $(document).ready(function () {
- window.location.href='gonative://registration/send?customData=' + encodeURIComponent(json);
- });
- }
- };
|