Skip to content

Commit 82ee52c

Browse files
committed
Updating InAppMessage types Android
1 parent abc7a6c commit 82ee52c

File tree

2 files changed

+47
-31
lines changed

2 files changed

+47
-31
lines changed

OneSignalSDK.DotNet.Android/AndroidInAppMessagesManager.cs

+41-25
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ namespace OneSignalSDK.DotNet.Android;
99

1010
public class AndroidInAppMessagesManager : OneSignalSDK.DotNet.Core.InAppMessages.IInAppMessagesManager
1111
{
12-
public event EventHandler<InAppMessageLifecycleEventArgs>? WillDisplay;
13-
public event EventHandler<InAppMessageLifecycleEventArgs>? DidDisplay;
14-
public event EventHandler<InAppMessageLifecycleEventArgs>? WillDismiss;
15-
public event EventHandler<InAppMessageLifecycleEventArgs>? DidDismiss;
12+
public event EventHandler<InAppMessageWillDisplayEventArgs>? WillDisplay;
13+
public event EventHandler<InAppMessageDidDisplayEventArgs>? DidDisplay;
14+
public event EventHandler<InAppMessageWillDismissEventArgs>? WillDismiss;
15+
public event EventHandler<InAppMessageDidDismissEventArgs>? DidDismiss;
1616
public event EventHandler<InAppMessageClickedEventArgs>? Clicked;
1717

1818
public bool Paused
@@ -26,21 +26,21 @@ public bool Paused
2626
public void Initialize()
2727
{
2828
_inAppMessageEventsHandler = new InternalInAppMessageEventsHandler(this);
29-
OneSignalNative.InAppMessages.SetInAppMessageClickHandler(_inAppMessageEventsHandler);
30-
OneSignalNative.InAppMessages.SetInAppMessageLifecycleHandler(_inAppMessageEventsHandler);
29+
OneSignalNative.InAppMessages.AddClickListener(_inAppMessageEventsHandler);
30+
OneSignalNative.InAppMessages.AddLifecycleListener(_inAppMessageEventsHandler);
3131
}
3232

33-
public void AddTrigger(string key, object value)
33+
public void AddTrigger(string key, string value)
3434
{
35-
OneSignalNative.InAppMessages.AddTrigger(key, ToNativeConversion.ToJavaObject(value));
35+
OneSignalNative.InAppMessages.AddTrigger(key, value);
3636
}
3737

38-
public void AddTriggers(IDictionary<string, object> triggers)
38+
public void AddTriggers(IDictionary<string, string> triggers)
3939
{
40-
IDictionary<string, Java.Lang.Object> jTriggers = new Dictionary<string, Java.Lang.Object>();
40+
IDictionary<string, string> jTriggers = new Dictionary<string, string>();
4141
foreach (var trigger in triggers)
4242
{
43-
jTriggers[trigger.Key] = ToNativeConversion.ToJavaObject(trigger.Value);
43+
jTriggers[trigger.Key] = trigger.Value;
4444
}
4545

4646
OneSignalNative.InAppMessages.AddTriggers(jTriggers);
@@ -62,44 +62,60 @@ public void RemoveTriggers(params string[] keys)
6262
}
6363

6464
private class InternalInAppMessageEventsHandler : Java.Lang.Object,
65-
Com.OneSignal.Android.InAppMessages.IInAppMessageClickHandler,
66-
Com.OneSignal.Android.InAppMessages.IInAppMessageLifecycleHandler
65+
Com.OneSignal.Android.InAppMessages.IInAppMessageClickListener,
66+
Com.OneSignal.Android.InAppMessages.IInAppMessageLifecycleListener
6767
{
6868
private AndroidInAppMessagesManager _manager;
6969
public InternalInAppMessageEventsHandler(AndroidInAppMessagesManager manager)
7070
{
7171
_manager = manager;
7272
}
7373

74-
public void InAppMessageClicked(IInAppMessageClickResult result)
74+
public void OnClick(IInAppMessageClickEvent clickEvent)
7575
{
76-
var args = new InAppMessageClickedEventArgs(FromNativeConversion.ToInAppMessageAction(result.Action));
76+
var args = new InAppMessageClickedEventArgs(FromNativeConversion.ToInAppMessage(clickEvent.Message), FromNativeConversion.ToInAppMessageClickResult(clickEvent.Result));
7777
_manager.Clicked?.Invoke(_manager, args);
7878
}
7979

80-
public void OnDidDismissInAppMessage(Com.OneSignal.Android.InAppMessages.IInAppMessage message)
80+
81+
public void OnWillDisplay(IInAppMessageWillDisplayEvent willDisplayEvent)
82+
{
83+
_manager.WillDisplay?.Invoke(_manager, GetWillDisplayEventArgs(willDisplayEvent));
84+
}
85+
86+
public void OnDidDisplay(IInAppMessageDidDisplayEvent didDisplayEvent)
87+
{
88+
_manager.DidDisplay?.Invoke(_manager, GetDidDisplayEventArgs(didDisplayEvent));
89+
}
90+
91+
public void OnWillDismiss(IInAppMessageWillDismissEvent willDismissEvent)
92+
{
93+
_manager.WillDismiss?.Invoke(_manager, GetWillDismissEventArgs(willDismissEvent));
94+
}
95+
96+
public void OnDidDismiss(IInAppMessageDidDismissEvent didDismissEvent)
8197
{
82-
_manager.DidDismiss?.Invoke(_manager, GetLifecycleArgs(message));
98+
_manager.DidDismiss?.Invoke(_manager, GetDidDismissEventArgs(didDismissEvent));
8399
}
84100

85-
public void OnDidDisplayInAppMessage(Com.OneSignal.Android.InAppMessages.IInAppMessage message)
101+
private InAppMessageWillDisplayEventArgs GetWillDisplayEventArgs(Com.OneSignal.Android.InAppMessages.IInAppMessageWillDisplayEvent willDisplayEvent)
86102
{
87-
_manager.DidDisplay?.Invoke(_manager, GetLifecycleArgs(message));
103+
return new InAppMessageWillDisplayEventArgs(FromNativeConversion.ToInAppMessage(willDisplayEvent.Message));
88104
}
89105

90-
public void OnWillDismissInAppMessage(Com.OneSignal.Android.InAppMessages.IInAppMessage message)
106+
private InAppMessageDidDisplayEventArgs GetDidDisplayEventArgs(Com.OneSignal.Android.InAppMessages.IInAppMessageDidDisplayEvent didDisplayEvent)
91107
{
92-
_manager.WillDismiss?.Invoke(_manager, GetLifecycleArgs(message));
108+
return new InAppMessageDidDisplayEventArgs(FromNativeConversion.ToInAppMessage(didDisplayEvent.Message));
93109
}
94110

95-
public void OnWillDisplayInAppMessage(Com.OneSignal.Android.InAppMessages.IInAppMessage message)
111+
private InAppMessageWillDismissEventArgs GetWillDismissEventArgs(Com.OneSignal.Android.InAppMessages.IInAppMessageWillDismissEvent willDismissEvent)
96112
{
97-
_manager.WillDisplay?.Invoke(_manager, GetLifecycleArgs(message));
113+
return new InAppMessageWillDismissEventArgs(FromNativeConversion.ToInAppMessage(willDismissEvent.Message));
98114
}
99115

100-
private InAppMessageLifecycleEventArgs GetLifecycleArgs(Com.OneSignal.Android.InAppMessages.IInAppMessage message)
116+
private InAppMessageDidDismissEventArgs GetDidDismissEventArgs(Com.OneSignal.Android.InAppMessages.IInAppMessageDidDismissEvent didDismissEvent)
101117
{
102-
return new InAppMessageLifecycleEventArgs(FromNativeConversion.ToInAppMessage(message));
118+
return new InAppMessageDidDismissEventArgs(FromNativeConversion.ToInAppMessage(didDismissEvent.Message));
103119
}
104120
}
105121
}

OneSignalSDK.DotNet.Android/Utilities/FromNativeConversion.cs

+6-6
Original file line numberDiff line numberDiff line change
@@ -84,13 +84,13 @@ public static InAppMessage ToInAppMessage(Com.OneSignal.Android.InAppMessages.II
8484
);
8585
}
8686

87-
public static InAppMessageAction ToInAppMessageAction(Com.OneSignal.Android.InAppMessages.IInAppMessageAction inAppMessageAction)
87+
public static InAppMessageClickResult ToInAppMessageClickResult(Com.OneSignal.Android.InAppMessages.IInAppMessageClickResult clickResult)
8888
{
89-
return new InAppMessageAction(
90-
clickName: inAppMessageAction.ClickName,
91-
clickUrl: inAppMessageAction.ClickUrl,
92-
isFirstClick: inAppMessageAction.IsFirstClick,
93-
closesMessage: inAppMessageAction.ClosesMessage
89+
return new InAppMessageClickResult(
90+
actionId: clickResult.ActionId,
91+
url: clickResult.Url,
92+
urlTarget: (InAppMessageActionUrlType)clickResult.UrlTarget.Ordinal(),
93+
closingMessage: clickResult.ClosingMessage
9494
);
9595
}
9696
}

0 commit comments

Comments
 (0)