diff --git a/.csharpierignore b/.csharpierignore
index 9cc48c83c..d838da986 100644
--- a/.csharpierignore
+++ b/.csharpierignore
@@ -1,5 +1 @@
-# Exclude Packages folders (Unity packages and third-party code)
-**/Packages/**
-
-# Exclude non-C# files
-**/*.xml
\ No newline at end of file
+examples/
diff --git a/OneSignalExample/Assets/AppIcons/iOS/Icon-60@2x.png.meta b/OneSignalExample/Assets/AppIcons/iOS/Icon-60@2x.png.meta
deleted file mode 100644
index 58032767e..000000000
--- a/OneSignalExample/Assets/AppIcons/iOS/Icon-60@2x.png.meta
+++ /dev/null
@@ -1,55 +0,0 @@
-fileFormatVersion: 2
-guid: f00a1206de8d44d2a8f9affd980183ce
-timeCreated: 1428381912
-licenseType: Free
-TextureImporter:
- fileIDToRecycleName: {}
- serializedVersion: 2
- mipmaps:
- mipMapMode: 0
- enableMipMap: 0
- linearTexture: 0
- correctGamma: 0
- fadeOut: 0
- borderMipMap: 0
- mipMapFadeDistanceStart: 1
- mipMapFadeDistanceEnd: 3
- bumpmap:
- convertToNormalMap: 0
- externalNormalMap: 0
- heightScale: .25
- normalMapFilter: 0
- isReadable: 0
- grayScaleToAlpha: 0
- generateCubemap: 0
- cubemapConvolution: 0
- cubemapConvolutionSteps: 8
- cubemapConvolutionExponent: 1.5
- seamlessCubemap: 0
- textureFormat: -3
- maxTextureSize: 2048
- textureSettings:
- filterMode: -1
- aniso: -1
- mipBias: -1
- wrapMode: -1
- nPOTScale: 0
- lightmap: 0
- rGBM: 0
- compressionQuality: 50
- spriteMode: 0
- spriteExtrude: 1
- spriteMeshType: 1
- alignment: 0
- spritePivot: {x: .5, y: .5}
- spriteBorder: {x: 0, y: 0, z: 0, w: 0}
- spritePixelsToUnits: 100
- alphaIsTransparency: 0
- textureType: 5
- buildTargetSettings: []
- spriteSheet:
- sprites: []
- spritePackingTag:
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/OneSignalExample/Assets/AppIcons/iOS/Icon-60@3x.png.meta b/OneSignalExample/Assets/AppIcons/iOS/Icon-60@3x.png.meta
deleted file mode 100644
index cb2e48bd5..000000000
--- a/OneSignalExample/Assets/AppIcons/iOS/Icon-60@3x.png.meta
+++ /dev/null
@@ -1,55 +0,0 @@
-fileFormatVersion: 2
-guid: d08d095ecc7b04a84bea60c3733abcdd
-timeCreated: 1428381910
-licenseType: Free
-TextureImporter:
- fileIDToRecycleName: {}
- serializedVersion: 2
- mipmaps:
- mipMapMode: 0
- enableMipMap: 0
- linearTexture: 0
- correctGamma: 0
- fadeOut: 0
- borderMipMap: 0
- mipMapFadeDistanceStart: 1
- mipMapFadeDistanceEnd: 3
- bumpmap:
- convertToNormalMap: 0
- externalNormalMap: 0
- heightScale: .25
- normalMapFilter: 0
- isReadable: 0
- grayScaleToAlpha: 0
- generateCubemap: 0
- cubemapConvolution: 0
- cubemapConvolutionSteps: 8
- cubemapConvolutionExponent: 1.5
- seamlessCubemap: 0
- textureFormat: -3
- maxTextureSize: 2048
- textureSettings:
- filterMode: -1
- aniso: -1
- mipBias: -1
- wrapMode: -1
- nPOTScale: 0
- lightmap: 0
- rGBM: 0
- compressionQuality: 50
- spriteMode: 0
- spriteExtrude: 1
- spriteMeshType: 1
- alignment: 0
- spritePivot: {x: .5, y: .5}
- spriteBorder: {x: 0, y: 0, z: 0, w: 0}
- spritePixelsToUnits: 100
- alphaIsTransparency: 0
- textureType: 5
- buildTargetSettings: []
- spriteSheet:
- sprites: []
- spritePackingTag:
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/OneSignalExample/Assets/AppIcons/iOS/Icon-72.png.meta b/OneSignalExample/Assets/AppIcons/iOS/Icon-72.png.meta
deleted file mode 100644
index 71bf11841..000000000
--- a/OneSignalExample/Assets/AppIcons/iOS/Icon-72.png.meta
+++ /dev/null
@@ -1,55 +0,0 @@
-fileFormatVersion: 2
-guid: 203522acc6dce4d7596c10709299cebf
-timeCreated: 1428381907
-licenseType: Free
-TextureImporter:
- fileIDToRecycleName: {}
- serializedVersion: 2
- mipmaps:
- mipMapMode: 0
- enableMipMap: 0
- linearTexture: 0
- correctGamma: 0
- fadeOut: 0
- borderMipMap: 0
- mipMapFadeDistanceStart: 1
- mipMapFadeDistanceEnd: 3
- bumpmap:
- convertToNormalMap: 0
- externalNormalMap: 0
- heightScale: .25
- normalMapFilter: 0
- isReadable: 0
- grayScaleToAlpha: 0
- generateCubemap: 0
- cubemapConvolution: 0
- cubemapConvolutionSteps: 8
- cubemapConvolutionExponent: 1.5
- seamlessCubemap: 0
- textureFormat: -3
- maxTextureSize: 2048
- textureSettings:
- filterMode: -1
- aniso: -1
- mipBias: -1
- wrapMode: -1
- nPOTScale: 0
- lightmap: 0
- rGBM: 0
- compressionQuality: 50
- spriteMode: 0
- spriteExtrude: 1
- spriteMeshType: 1
- alignment: 0
- spritePivot: {x: .5, y: .5}
- spriteBorder: {x: 0, y: 0, z: 0, w: 0}
- spritePixelsToUnits: 100
- alphaIsTransparency: 0
- textureType: 5
- buildTargetSettings: []
- spriteSheet:
- sprites: []
- spritePackingTag:
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/OneSignalExample/Assets/AppIcons/iOS/Icon-72@2x.png.meta b/OneSignalExample/Assets/AppIcons/iOS/Icon-72@2x.png.meta
deleted file mode 100644
index 1f453621d..000000000
--- a/OneSignalExample/Assets/AppIcons/iOS/Icon-72@2x.png.meta
+++ /dev/null
@@ -1,55 +0,0 @@
-fileFormatVersion: 2
-guid: c94c2bd1303b749dfaeb59cbee4317a4
-timeCreated: 1428381909
-licenseType: Free
-TextureImporter:
- fileIDToRecycleName: {}
- serializedVersion: 2
- mipmaps:
- mipMapMode: 0
- enableMipMap: 0
- linearTexture: 0
- correctGamma: 0
- fadeOut: 0
- borderMipMap: 0
- mipMapFadeDistanceStart: 1
- mipMapFadeDistanceEnd: 3
- bumpmap:
- convertToNormalMap: 0
- externalNormalMap: 0
- heightScale: .25
- normalMapFilter: 0
- isReadable: 0
- grayScaleToAlpha: 0
- generateCubemap: 0
- cubemapConvolution: 0
- cubemapConvolutionSteps: 8
- cubemapConvolutionExponent: 1.5
- seamlessCubemap: 0
- textureFormat: -3
- maxTextureSize: 2048
- textureSettings:
- filterMode: -1
- aniso: -1
- mipBias: -1
- wrapMode: -1
- nPOTScale: 0
- lightmap: 0
- rGBM: 0
- compressionQuality: 50
- spriteMode: 0
- spriteExtrude: 1
- spriteMeshType: 1
- alignment: 0
- spritePivot: {x: .5, y: .5}
- spriteBorder: {x: 0, y: 0, z: 0, w: 0}
- spritePixelsToUnits: 100
- alphaIsTransparency: 0
- textureType: 5
- buildTargetSettings: []
- spriteSheet:
- sprites: []
- spritePackingTag:
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/OneSignalExample/Assets/AppIcons/iOS/Icon-76.png.meta b/OneSignalExample/Assets/AppIcons/iOS/Icon-76.png.meta
deleted file mode 100644
index c617f39ae..000000000
--- a/OneSignalExample/Assets/AppIcons/iOS/Icon-76.png.meta
+++ /dev/null
@@ -1,55 +0,0 @@
-fileFormatVersion: 2
-guid: ec7349c0aa7d448f28b2060b67218c43
-timeCreated: 1428381911
-licenseType: Free
-TextureImporter:
- fileIDToRecycleName: {}
- serializedVersion: 2
- mipmaps:
- mipMapMode: 0
- enableMipMap: 0
- linearTexture: 0
- correctGamma: 0
- fadeOut: 0
- borderMipMap: 0
- mipMapFadeDistanceStart: 1
- mipMapFadeDistanceEnd: 3
- bumpmap:
- convertToNormalMap: 0
- externalNormalMap: 0
- heightScale: .25
- normalMapFilter: 0
- isReadable: 0
- grayScaleToAlpha: 0
- generateCubemap: 0
- cubemapConvolution: 0
- cubemapConvolutionSteps: 8
- cubemapConvolutionExponent: 1.5
- seamlessCubemap: 0
- textureFormat: -3
- maxTextureSize: 2048
- textureSettings:
- filterMode: -1
- aniso: -1
- mipBias: -1
- wrapMode: -1
- nPOTScale: 0
- lightmap: 0
- rGBM: 0
- compressionQuality: 50
- spriteMode: 0
- spriteExtrude: 1
- spriteMeshType: 1
- alignment: 0
- spritePivot: {x: .5, y: .5}
- spriteBorder: {x: 0, y: 0, z: 0, w: 0}
- spritePixelsToUnits: 100
- alphaIsTransparency: 0
- textureType: 5
- buildTargetSettings: []
- spriteSheet:
- sprites: []
- spritePackingTag:
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/OneSignalExample/Assets/AppIcons/iOS/Icon-76@2x.png.meta b/OneSignalExample/Assets/AppIcons/iOS/Icon-76@2x.png.meta
deleted file mode 100644
index 9dcd7930e..000000000
--- a/OneSignalExample/Assets/AppIcons/iOS/Icon-76@2x.png.meta
+++ /dev/null
@@ -1,55 +0,0 @@
-fileFormatVersion: 2
-guid: d2c06be6a010a4e3aa2da44ed9116c23
-timeCreated: 1428381910
-licenseType: Free
-TextureImporter:
- fileIDToRecycleName: {}
- serializedVersion: 2
- mipmaps:
- mipMapMode: 0
- enableMipMap: 0
- linearTexture: 0
- correctGamma: 0
- fadeOut: 0
- borderMipMap: 0
- mipMapFadeDistanceStart: 1
- mipMapFadeDistanceEnd: 3
- bumpmap:
- convertToNormalMap: 0
- externalNormalMap: 0
- heightScale: .25
- normalMapFilter: 0
- isReadable: 0
- grayScaleToAlpha: 0
- generateCubemap: 0
- cubemapConvolution: 0
- cubemapConvolutionSteps: 8
- cubemapConvolutionExponent: 1.5
- seamlessCubemap: 0
- textureFormat: -3
- maxTextureSize: 2048
- textureSettings:
- filterMode: -1
- aniso: -1
- mipBias: -1
- wrapMode: -1
- nPOTScale: 0
- lightmap: 0
- rGBM: 0
- compressionQuality: 50
- spriteMode: 0
- spriteExtrude: 1
- spriteMeshType: 1
- alignment: 0
- spritePivot: {x: .5, y: .5}
- spriteBorder: {x: 0, y: 0, z: 0, w: 0}
- spritePixelsToUnits: 100
- alphaIsTransparency: 0
- textureType: 5
- buildTargetSettings: []
- spriteSheet:
- sprites: []
- spritePackingTag:
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/OneSignalExample/Assets/AppIcons/iOS/Icon.png.meta b/OneSignalExample/Assets/AppIcons/iOS/Icon.png.meta
deleted file mode 100644
index 5eec81fae..000000000
--- a/OneSignalExample/Assets/AppIcons/iOS/Icon.png.meta
+++ /dev/null
@@ -1,55 +0,0 @@
-fileFormatVersion: 2
-guid: 6ede91192c9704cbba3bef8d76e2ed6b
-timeCreated: 1428381908
-licenseType: Free
-TextureImporter:
- fileIDToRecycleName: {}
- serializedVersion: 2
- mipmaps:
- mipMapMode: 0
- enableMipMap: 0
- linearTexture: 0
- correctGamma: 0
- fadeOut: 0
- borderMipMap: 0
- mipMapFadeDistanceStart: 1
- mipMapFadeDistanceEnd: 3
- bumpmap:
- convertToNormalMap: 0
- externalNormalMap: 0
- heightScale: .25
- normalMapFilter: 0
- isReadable: 0
- grayScaleToAlpha: 0
- generateCubemap: 0
- cubemapConvolution: 0
- cubemapConvolutionSteps: 8
- cubemapConvolutionExponent: 1.5
- seamlessCubemap: 0
- textureFormat: -3
- maxTextureSize: 2048
- textureSettings:
- filterMode: -1
- aniso: -1
- mipBias: -1
- wrapMode: -1
- nPOTScale: 0
- lightmap: 0
- rGBM: 0
- compressionQuality: 50
- spriteMode: 0
- spriteExtrude: 1
- spriteMeshType: 1
- alignment: 0
- spritePivot: {x: .5, y: .5}
- spriteBorder: {x: 0, y: 0, z: 0, w: 0}
- spritePixelsToUnits: 100
- alphaIsTransparency: 0
- textureType: 5
- buildTargetSettings: []
- spriteSheet:
- sprites: []
- spritePackingTag:
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/OneSignalExample/Assets/AppIcons/iOS/Icon@2x.png.meta b/OneSignalExample/Assets/AppIcons/iOS/Icon@2x.png.meta
deleted file mode 100644
index 39eedd704..000000000
--- a/OneSignalExample/Assets/AppIcons/iOS/Icon@2x.png.meta
+++ /dev/null
@@ -1,55 +0,0 @@
-fileFormatVersion: 2
-guid: 87b1f818845334a409fa49f53374f329
-timeCreated: 1428381908
-licenseType: Free
-TextureImporter:
- fileIDToRecycleName: {}
- serializedVersion: 2
- mipmaps:
- mipMapMode: 0
- enableMipMap: 0
- linearTexture: 0
- correctGamma: 0
- fadeOut: 0
- borderMipMap: 0
- mipMapFadeDistanceStart: 1
- mipMapFadeDistanceEnd: 3
- bumpmap:
- convertToNormalMap: 0
- externalNormalMap: 0
- heightScale: .25
- normalMapFilter: 0
- isReadable: 0
- grayScaleToAlpha: 0
- generateCubemap: 0
- cubemapConvolution: 0
- cubemapConvolutionSteps: 8
- cubemapConvolutionExponent: 1.5
- seamlessCubemap: 0
- textureFormat: -3
- maxTextureSize: 2048
- textureSettings:
- filterMode: -1
- aniso: -1
- mipBias: -1
- wrapMode: -1
- nPOTScale: 0
- lightmap: 0
- rGBM: 0
- compressionQuality: 50
- spriteMode: 0
- spriteExtrude: 1
- spriteMeshType: 1
- alignment: 0
- spritePivot: {x: .5, y: .5}
- spriteBorder: {x: 0, y: 0, z: 0, w: 0}
- spritePixelsToUnits: 100
- alphaIsTransparency: 0
- textureType: 5
- buildTargetSettings: []
- spriteSheet:
- sprites: []
- spritePackingTag:
- userData:
- assetBundleName:
- assetBundleVariant:
diff --git a/OneSignalExample/Assets/OneSignal/Example/INCONSOLATA-VARIABLEFONT_WDTH,WGHT.TTF b/OneSignalExample/Assets/OneSignal/Example/INCONSOLATA-VARIABLEFONT_WDTH,WGHT.TTF
deleted file mode 100644
index 20251d93e..000000000
Binary files a/OneSignalExample/Assets/OneSignal/Example/INCONSOLATA-VARIABLEFONT_WDTH,WGHT.TTF and /dev/null differ
diff --git a/OneSignalExample/Assets/OneSignal/Example/OneSignal.UnityPackage.Example.asmdef b/OneSignalExample/Assets/OneSignal/Example/OneSignal.UnityPackage.Example.asmdef
deleted file mode 100644
index b5e184566..000000000
--- a/OneSignalExample/Assets/OneSignal/Example/OneSignal.UnityPackage.Example.asmdef
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "name": "OneSignal.UnityPackage.Example",
- "rootNamespace": "",
- "references": [
- "OneSignal.Core"
- ],
- "includePlatforms": [
- "Android",
- "Editor",
- "iOS"
- ],
- "excludePlatforms": [],
- "allowUnsafeCode": false,
- "overrideReferences": false,
- "precompiledReferences": [],
- "autoReferenced": true,
- "defineConstraints": [],
- "versionDefines": [
- {
- "name": "com.onesignal.unity.core",
- "expression": "5.2.1",
- "define": "ONE_SIGNAL_INSTALLED"
- }
- ],
- "noEngineReferences": false
-}
diff --git a/OneSignalExample/Assets/OneSignal/Example/OneSignal.UnityPackage.Example.asmdef.meta b/OneSignalExample/Assets/OneSignal/Example/OneSignal.UnityPackage.Example.asmdef.meta
deleted file mode 100644
index 28a4d0344..000000000
--- a/OneSignalExample/Assets/OneSignal/Example/OneSignal.UnityPackage.Example.asmdef.meta
+++ /dev/null
@@ -1,3 +0,0 @@
-fileFormatVersion: 2
-guid: a28dab59edddfb3448f1fd9318f85c32
-timeCreated: 1625590596
\ No newline at end of file
diff --git a/OneSignalExample/Assets/OneSignal/Example/OneSignalExampleBehaviour.cs b/OneSignalExample/Assets/OneSignal/Example/OneSignalExampleBehaviour.cs
deleted file mode 100644
index 14748be2b..000000000
--- a/OneSignalExample/Assets/OneSignal/Example/OneSignalExampleBehaviour.cs
+++ /dev/null
@@ -1,706 +0,0 @@
-/*
- * Modified MIT License
- *
- * Copyright 2023 OneSignal
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * 1. The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * 2. All copies of substantial portions of the Software may only be used in connection
- * with services provided by OneSignal.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
- * THE SOFTWARE.
- */
-
-#if ONE_SIGNAL_INSTALLED
-using System;
-using UnityEngine;
-using UnityEngine.UI;
-using System.Collections.Generic;
-using OneSignalSDK;
-using OneSignalSDK.Notifications;
-using OneSignalSDK.InAppMessages;
-using OneSignalSDK.User;
-using OneSignalSDK.User.Models;
-using OneSignalSDK.Debug.Models;
-using OneSignalSDK.Debug.Utilities;
-
-// ReSharper disable InconsistentNaming
-// ReSharper disable CheckNamespace
-///
-/// Example class to show how an application can utilize the public methods of the OneSignal SDK
-///
-public class OneSignalExampleBehaviour : MonoBehaviour
-{
- ///
- /// set to an email address you would like to test notifications against
- ///
- public string email;
-
- ///
- /// set to an external user id you would like to test notifications against
- ///
- public string externalId;
-
- ///
- /// set to an external user id you would like to test notifications against
- ///
- public string phoneNumber;
-
- ///
- /// set to your app id (https://documentation.onesignal.com/docs/keys-and-ids)
- ///
- public string appId;
-
- ///
- /// whether you would prefer OneSignal Unity SDK prevent initialization until consent is granted via
- /// in this test MonoBehaviour
- ///
- public bool consentRequired;
-
- ///
- ///
- ///
- public bool consentGiven;
-
- ///
- ///
- ///
- public string language;
-
- ///
- ///
- ///
- public string aliasKey;
-
- ///
- ///
- ///
- public string aliasValue;
-
- ///
- ///
- ///
- public string tagKey;
-
- ///
- ///
- ///
- public string tagValue;
-
- ///
- ///
- ///
- public string triggerKey;
-
- ///
- ///
- ///
- public string triggerValue;
-
- ///
- ///
- ///
- public string outcomeKey;
-
- ///
- ///
- ///
- public float outcomeValue;
-
- ///
- ///
- ///
- public string liveActivityId;
-
- ///
- ///
- ///
- public string liveActivityIdToken;
-
- ///
- ///
- ///
- public string liveActivityType;
-
- ///
- ///
- ///
- public string liveActivityTypeToken;
-
- ///
- /// we recommend initializing OneSignal early in your application's lifecycle such as in the Start method of a
- /// MonoBehaviour in your opening Scene
- ///
- private void Start()
- {
- // Enable lines below to debug issues with OneSignal
- OneSignal.Debug.LogLevel = LogLevel.Verbose;
- OneSignal.Debug.AlertLevel = LogLevel.Fatal;
-
- _log($"Initializing with appId {appId}");
- OneSignal.Initialize(appId);
-
- // Setup the default live activity
- OneSignal.LiveActivities.SetupDefault();
-
- // Setting ConsentRequired to true will prevent the OneSignalSDK from operating until
- // PrivacyConsent is also set to true
- OneSignal.ConsentRequired = consentRequired;
-
- // Setup the below to listen for and respond to events from notifications
- OneSignal.Notifications.Clicked += _notificationOnClick;
- OneSignal.Notifications.ForegroundWillDisplay += _notificationOnDisplay;
- OneSignal.Notifications.PermissionChanged += _notificationPermissionChanged;
-
- // Setup the below to listen for and respond to events from in-app messages
- OneSignal.InAppMessages.WillDisplay += _iamWillDisplay;
- OneSignal.InAppMessages.DidDisplay += _iamDidDisplay;
- OneSignal.InAppMessages.WillDismiss += _iamWillDismiss;
- OneSignal.InAppMessages.DidDismiss += _iamDidDismiss;
- OneSignal.InAppMessages.Clicked += _iamOnClick;
-
- // Setup the below to listen for and respond to state changes
- OneSignal.User.PushSubscription.Changed += _pushSubscriptionChanged;
- OneSignal.User.Changed += _userStateChanged;
- }
-
- /*
- * SDK events
- */
-
- private void _notificationOnClick(object sender, NotificationClickEventArgs e)
- {
- _log($"Notification was clicked with Notification: {JsonUtility.ToJson(e.Notification)}");
- _log($"Notification was clicked with Result: {JsonUtility.ToJson(e.Result)}");
- }
-
- private void _notificationOnDisplay(object sender, NotificationWillDisplayEventArgs e)
- {
- var additionalData =
- e.Notification.AdditionalData != null
- ? Json.Serialize(e.Notification.AdditionalData)
- : null;
-
- _log(
- $"Notification was received in foreground: {JsonUtility.ToJson(e.Notification)}\n{additionalData}"
- );
-
- e.Notification.Display();
- }
-
- private void _notificationPermissionChanged(
- object sender,
- NotificationPermissionChangedEventArgs e
- )
- {
- _log($"Notification Permission changed to: {e.Permission}");
- }
-
- private void _iamWillDisplay(object sender, InAppMessageWillDisplayEventArgs e)
- {
- _log($"IAM will display: {JsonUtility.ToJson(e.Message)}");
- }
-
- private void _iamDidDisplay(object sender, InAppMessageDidDisplayEventArgs e)
- {
- _log($"IAM did display: {JsonUtility.ToJson(e.Message)}");
- }
-
- private void _iamWillDismiss(object sender, InAppMessageWillDismissEventArgs e)
- {
- _log($"IAM will dismiss: {JsonUtility.ToJson(e.Message)}");
- }
-
- private void _iamDidDismiss(object sender, InAppMessageDidDismissEventArgs e)
- {
- _log($"IAM did dismiss: {JsonUtility.ToJson(e.Message)}");
- }
-
- private void _iamOnClick(object sender, InAppMessageClickEventArgs e)
- {
- _log($"IAM was clicked with Message: {JsonUtility.ToJson(e.Message)}");
- _log($"IAM was clicked with Result: {JsonUtility.ToJson(e.Result)}");
- _log($"IAM was clicked with Result UrlTarget: " + e.Result.UrlTarget.ToString());
- }
-
- private void _pushSubscriptionChanged(object sender, PushSubscriptionChangedEventArgs e)
- {
- _log($"Push subscription changed from previous: {JsonUtility.ToJson(e.State.Previous)}");
- _log($"Push subscription changed to current: {JsonUtility.ToJson(e.State.Current)}");
- }
-
- private void _userStateChanged(object sender, UserStateChangedEventArgs e)
- {
- _log($"OneSignalId changed : {e.State.Current.OneSignalId}");
- _log($"ExternalId changed : {e.State.Current.ExternalId}");
- }
-
- /*
- * SDK setup
- */
-
- public void ToggleConsentRequired()
- {
- consentRequired = !consentRequired;
- _log($"Toggling ConsentRequired to {consentRequired}");
- OneSignal.ConsentRequired = consentRequired;
- }
-
- public void ToggleConsentGiven()
- {
- consentGiven = !consentGiven;
- _log($"Toggling ConsentGiven to {consentGiven}");
- OneSignal.ConsentGiven = consentGiven;
- }
-
- public void SetLogLevel()
- {
- var newLevel = _nextEnum(OneSignal.Debug.LogLevel);
- _log($"Setting LogLevel to {newLevel}");
- OneSignal.Debug.LogLevel = newLevel;
- }
-
- public void SetAlertLevel()
- {
- var newLevel = _nextEnum(OneSignal.Debug.AlertLevel);
- _log($"Setting AlertLevel to {newLevel}");
- OneSignal.Debug.AlertLevel = newLevel;
- }
-
- /*
- * User identification
- */
-
- public void LoginOneSignalUser()
- {
- _log($"Logging in user ({externalId})");
- OneSignal.Login(externalId);
- }
-
- public void LogoutOneSignalUser()
- {
- _log($"Logging out user");
- OneSignal.Logout();
- }
-
- public void PushSubscriptionOptIn()
- {
- _log($"Opting in push subscription");
- OneSignal.User.PushSubscription.OptIn();
- }
-
- public void PushSubscriptionOptOut()
- {
- _log($"Opting out push subscription");
- OneSignal.User.PushSubscription.OptOut();
- }
-
- public void AddEmail()
- {
- _log($"Adding email ({email})");
- OneSignal.User.AddEmail(email);
- }
-
- public void RemoveEmail()
- {
- _log($"Removing email ({email})");
- OneSignal.User.RemoveEmail(email);
- }
-
- public void AddSms()
- {
- _log($"Adding sms ({phoneNumber})");
- OneSignal.User.AddSms(phoneNumber);
- }
-
- public void RemoveSms()
- {
- _log($"Removing sms ({phoneNumber})");
- OneSignal.User.RemoveSms(phoneNumber);
- }
-
- public void SetLanguage()
- {
- _log($"Setting language for the user to ({language})");
- OneSignal.User.Language = language;
- }
-
- public void AddAlias()
- {
- _log($"Adding alias with label {aliasKey} and id {aliasValue}");
- OneSignal.User.AddAlias(aliasKey, aliasValue);
- }
-
- public void RemoveAlias()
- {
- _log($"Removing alias with label {aliasKey}");
- OneSignal.User.RemoveAlias(aliasKey);
- }
-
- public void GetOneSignalId()
- {
- string onesignalId = OneSignal.User.OneSignalId ?? "null";
- _log($"Get OneSignalId {onesignalId}");
- }
-
- public void GetExternalId()
- {
- string externalId = OneSignal.User.ExternalId ?? "null";
- _log($"Get ExternalId {externalId}");
- }
-
- /*
- * Push
- */
-
- public async void PromptForPush()
- {
- _log(
- $"Can request push notification permission: {OneSignal.Notifications.CanRequestPermission}"
- );
-
- _log("Opening permission prompt for push notifications and awaiting result...");
-
- var result = await OneSignal.Notifications.RequestPermissionAsync(true);
-
- if (result)
- _log("Notification permission accepeted");
- else
- _log("Notification permission denied");
- }
-
- public void ClearPush()
- {
- _log("Clearing existing OneSignal push notifications");
-
- OneSignal.Notifications.ClearAllNotifications();
-
- _log("Notifications cleared");
- }
-
- public void GetNotificationsPermission()
- {
- var permission = OneSignal.Notifications.Permission;
-
- _log($"Notifications permission is: {permission}");
- }
-
- public void GetNotificationsPermissionNative()
- {
- var permissionNative = OneSignal.Notifications.PermissionNative;
-
- _log($"Notifications native permission is: {permissionNative.ToString()}");
- }
-
- /*
- * In-App Messages
- */
-
- public void AddTrigger()
- {
- _log($"Adding trigger with key {triggerKey} and value {triggerValue}");
- OneSignal.InAppMessages.AddTrigger(triggerKey, triggerValue);
- }
-
- public void RemoveTrigger()
- {
- _log($"Removing trigger for key {triggerKey}");
- OneSignal.InAppMessages.RemoveTrigger(triggerKey);
- }
-
- public void ClearTriggers()
- {
- _log("Clearing all trigger keys and values from user");
- OneSignal.InAppMessages.ClearTriggers();
- }
-
- public void TogglePauseInAppMessages()
- {
- _log($"Toggling Pausing InAppMessages to {!OneSignal.InAppMessages.Paused}");
- OneSignal.InAppMessages.Paused = !OneSignal.InAppMessages.Paused;
- }
-
- /*
- * Tags
- */
-
- public void AddTag()
- {
- _log($"Adding tag with key {tagKey} and value {tagValue}");
- OneSignal.User.AddTag(tagKey, tagValue);
- }
-
- public void RemoveTag()
- {
- _log($"Removing tag for key {tagKey}");
- OneSignal.User.RemoveTag(tagKey);
- }
-
- public void GetTags()
- {
- Dictionary dict = OneSignal.User.GetTags();
- string dictionaryString = "{";
- foreach (KeyValuePair keyValues in dict)
- {
- dictionaryString += keyValues.Key + " : " + keyValues.Value + ", ";
- }
- _log($"Get all user tags " + dictionaryString.TrimEnd(',', ' ') + "}");
- }
-
- public void TrackEvent()
- {
- // Detect platform
- string platform =
- Application.platform == RuntimePlatform.Android ? "android"
- : Application.platform == RuntimePlatform.IPhonePlayer ? "ios"
- : "unknown";
-
- // Track event without properties
- _log($"Tracking an event Unity-{platform}-noprops without properties");
- OneSignal.User.TrackEvent($"Unity-{platform}-noprops");
-
- // Track event with comprehensive properties
- var properties = new Dictionary
- {
- { "someNum", 123 },
- { "someFloat", 3.14159f },
- { "someString", "abc" },
- { "someBool", true },
- {
- "someObject",
- new Dictionary
- {
- { "abc", "123" },
- {
- "nested",
- new Dictionary { { "def", "456" } }
- },
- { "ghi", null },
- }
- },
- {
- "someArray",
- new List