Skip to content

Commit 0d3ea3c

Browse files
authored
Merge pull request #580 from OneSignal/onesignal-android
[User Model] Bind to Android SDK
2 parents 744f173 + 111e1f3 commit 0d3ea3c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+2598
-15400
lines changed

OneSignalExample/Assets/OneSignal/Example/OneSignalExampleBehaviour.cs

Lines changed: 59 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
using OneSignalSDKNew.Notifications.Models;
3636
using OneSignalSDKNew.InAppMessages.Models;
3737
using OneSignalSDKNew.User.Models;
38+
using System.Collections.Generic;
3839

3940
// ReSharper disable InconsistentNaming
4041
// ReSharper disable CheckNamespace
@@ -73,6 +74,11 @@ public class OneSignalExampleBehaviour : MonoBehaviour {
7374
/// </summary>
7475
public bool launchURLsInApp;
7576

77+
/// <summary>
78+
///
79+
/// </summary>
80+
public string language;
81+
7682
/// <summary>
7783
///
7884
/// </summary>
@@ -112,13 +118,17 @@ private void Start() {
112118
OneSignal.Default.Debug.LogLevel = LogLevel.Info;
113119
OneSignal.Default.Debug.AlertLevel = LogLevel.Fatal;
114120

121+
_log($"Initializing with appId <b>{appId}</b>");
122+
OneSignal.Default.Initialize(appId);
123+
115124
// Setting RequiresPrivacyConsent to true will prevent the OneSignalSDK from operating until
116125
// PrivacyConsent is also set to true
117126
OneSignal.Default.RequiresPrivacyConsent = requiresUserPrivacyConsent;
118127

119128
// Setup the below to listen for and respond to events from notifications
120129
OneSignal.Default.Notifications.Clicked += _notificationOnClick;
121130
OneSignal.Default.Notifications.WillShow += _notificationOnDisplay;
131+
OneSignal.Default.Notifications.PermissionChanged += _notificationPermissionChanged;
122132

123133
// Setup the below to listen for and respond to events from in-app messages
124134
OneSignal.Default.InAppMessages.WillDisplay += _iamWillDisplay;
@@ -128,7 +138,6 @@ private void Start() {
128138
OneSignal.Default.InAppMessages.Clicked += _iamOnClick;
129139

130140
// Setup the below to listen for and respond to state changes
131-
OneSignal.Default.Notifications.PermissionChanged += _notificationPermissionChanged;
132141
OneSignal.Default.User.PushSubscription.Changed += _pushSubscriptionChanged;
133142
}
134143

@@ -170,7 +179,7 @@ private void _iamOnClick(InAppMessageClickedResult result) {
170179
}
171180

172181
private void _notificationPermissionChanged(bool permission) {
173-
_log($"Notification Permissions changed to: {permission}");
182+
_log($"Notification Permission changed to: {permission}");
174183
}
175184

176185
private void _pushSubscriptionChanged(IPushSubscription subscription) {
@@ -180,11 +189,6 @@ private void _pushSubscriptionChanged(IPushSubscription subscription) {
180189
/*
181190
* SDK setup
182191
*/
183-
184-
public void Initialize() {
185-
_log($"Initializing with appId <b>{appId}</b>");
186-
OneSignal.Default.Initialize(appId);
187-
}
188192

189193
public void ToggleRequiresPrivacyConsent() {
190194
if (OneSignal.Default.RequiresPrivacyConsent)
@@ -224,11 +228,17 @@ public async void LoginOneSignalUser() {
224228
_log($"Logging in user (<b>{externalId}</b>) and awaiting result...");
225229

226230
await OneSignal.Default.LoginAsync(externalId);
231+
232+
_log("User login complete");
227233
}
228234

229-
public void LogoutOneSignalUser() {
230-
_log($"Logging out user ");
231-
OneSignal.Default.LogoutAsync();
235+
public async void LogoutOneSignalUser() {
236+
_log($"Logging out user and awaiting result...");
237+
238+
await OneSignal.Default.LogoutAsync();
239+
240+
_log("User logout complete");
241+
232242
}
233243

234244
public void AddEmail() {
@@ -251,6 +261,25 @@ public void RemoveSms() {
251261
OneSignal.Default.User.RemoveSmsSubscription(phoneNumber);
252262
}
253263

264+
public void GetLanguage() {
265+
_log($"Language set for the user is (<b>{OneSignal.Default.User.Language}</b>)");
266+
}
267+
268+
public void SetLanguage() {
269+
_log($"Setting language for the user to (<b>{language}</b>)");
270+
OneSignal.Default.User.Language = language;
271+
}
272+
273+
public void PushSubscriptionOptIn() {
274+
_log($"Opting in push subscription");
275+
OneSignal.Default.User.PushSubscription.OptIn();
276+
}
277+
278+
public void PushSubscriptionOptOut() {
279+
_log($"Opting out push subscription");
280+
OneSignal.Default.User.PushSubscription.OptOut();
281+
}
282+
254283
/*
255284
* Push
256285
*/
@@ -261,14 +290,19 @@ public async void PromptForPush() {
261290
var result = await OneSignal.Default.Notifications.RequestPermissionAsync(true);
262291

263292
if (result)
264-
_log("User opted in");
293+
_log("Notification permission accpeted");
265294
else
266-
_log("User opted out");
295+
_log("Notification permission denied");
296+
297+
_log($"Notification permission is: {OneSignal.Default.Notifications.Permission}");
267298
}
268299

269-
public void ClearPush() {
270-
_log("Clearing existing OneSignal push notifications...");
271-
OneSignal.Default.Notifications.ClearAllNotifications();
300+
public async void ClearPush() {
301+
_log("Clearing existing OneSignal push notifications and awaiting result ...");
302+
303+
await OneSignal.Default.Notifications.ClearAllNotificationsAsync();
304+
305+
_log("Notifications cleared");
272306
}
273307

274308
/*
@@ -344,7 +378,7 @@ public async void PromptLocation() {
344378
}
345379

346380
public void ToggleShareLocation() {
347-
_log($"Toggling ShareLocation to <b>{!OneSignal.Default.Location.IsShared}</b>");
381+
_log($"Toggling Location IsShared to <b>{!OneSignal.Default.Location.IsShared}</b>");
348382
OneSignal.Default.Location.IsShared = !OneSignal.Default.Location.IsShared;
349383
}
350384

@@ -365,12 +399,14 @@ public void ToggleLaunchURLsInApp() {
365399
*/
366400

367401
public Text console;
402+
public Text appIdText;
368403

369404
public void SetAppIdString(string newVal) => appId = newVal;
370405

371406
public void SetExternalIdString(string newVal) => externalId = newVal;
372407
public void SetEmailString(string newVal) => email = newVal;
373408
public void SetPhoneNumberString(string newVal) => phoneNumber = newVal;
409+
public void SetLanguageString(string newVal) => language = newVal;
374410

375411
public void SetTriggerKey(string newVal) => triggerKey = newVal;
376412
public void SetTriggerValue(string newVal) => triggerValue = newVal;
@@ -385,21 +421,25 @@ private void Awake() {
385421
SDKDebug.LogIntercept += _log;
386422
SDKDebug.WarnIntercept += _warn;
387423
SDKDebug.ErrorIntercept += _error;
424+
appIdText.text = appId;
388425
}
389426

390427
private void _log(object message) {
428+
string green = "#3BB674";
391429
UnityEngine.Debug.Log(message);
392-
console.text += $"\n<color=green><b>I></b></color> {message}";
430+
console.text += $"\n<color={green}><b>I></b></color> {message}";
393431
}
394432

395433
private void _warn(object message) {
434+
string yellow = "#FFA940";
396435
UnityEngine.Debug.LogWarning(message);
397-
console.text += $"\n<color=orange><b>W></b></color> {message}";
436+
console.text += $"\n<color={yellow}><b>W></b></color> {message}";
398437
}
399438

400439
private void _error(object message) {
440+
string red = "#E54B4D";
401441
UnityEngine.Debug.LogError(message);
402-
console.text += $"\n<color=red><b>E></b></color> {message}";
442+
console.text += $"\n<color={red}><b>E></b></color> {message}";
403443
}
404444
#endregion
405445

0 commit comments

Comments
 (0)