Skip to content

Commit 1f15b7a

Browse files
committed
[User Model] Update IAM with events terminologies
1 parent ede53a0 commit 1f15b7a

25 files changed

+400
-306
lines changed

Examples/OneSignalDemo/app/src/main/java/com/onesignal/sdktest/application/MainApplication.java

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,14 @@
99

1010
import com.onesignal.OneSignal;
1111
import com.onesignal.inAppMessages.IInAppMessage;
12-
import com.onesignal.inAppMessages.IInAppMessageClickHandler;
13-
import com.onesignal.inAppMessages.IInAppMessageClickResult;
14-
import com.onesignal.inAppMessages.IInAppMessageLifecycleHandler;
12+
import com.onesignal.inAppMessages.IInAppMessageClickListener;
13+
import com.onesignal.inAppMessages.IInAppMessageClickEvent;
14+
import com.onesignal.inAppMessages.IInAppMessageDidDismissEvent;
15+
import com.onesignal.inAppMessages.IInAppMessageDidDisplayEvent;
16+
import com.onesignal.inAppMessages.IInAppMessageLifecycleListener;
1517
import com.onesignal.debug.LogLevel;
18+
import com.onesignal.inAppMessages.IInAppMessageWillDismissEvent;
19+
import com.onesignal.inAppMessages.IInAppMessageWillDisplayEvent;
1620
import com.onesignal.notifications.IDisplayableNotification;
1721
import com.onesignal.notifications.INotificationLifecycleListener;
1822
import com.onesignal.notifications.INotificationWillDisplayEvent;
@@ -50,31 +54,31 @@ public void onCreate() {
5054
OneSignalNotificationSender.setAppId(appId);
5155
OneSignal.initWithContext(this, appId);
5256

53-
OneSignal.getInAppMessages().setInAppMessageLifecycleHandler(new IInAppMessageLifecycleHandler() {
57+
OneSignal.getInAppMessages().addLifecycleListener(new IInAppMessageLifecycleListener() {
5458
@Override
55-
public void onWillDisplayInAppMessage(@NonNull IInAppMessage message) {
59+
public void onWillDisplay(@NonNull IInAppMessageWillDisplayEvent event) {
5660
Log.v(Tag.LOG_TAG, "onWillDisplayInAppMessage");
5761
}
5862

5963
@Override
60-
public void onDidDisplayInAppMessage(@NonNull IInAppMessage message) {
64+
public void onDidDisplay(@NonNull IInAppMessageDidDisplayEvent event) {
6165
Log.v(Tag.LOG_TAG, "onDidDisplayInAppMessage");
6266
}
6367

6468
@Override
65-
public void onWillDismissInAppMessage(@NonNull IInAppMessage message) {
69+
public void onWillDismiss(@NonNull IInAppMessageWillDismissEvent event) {
6670
Log.v(Tag.LOG_TAG, "onWillDismissInAppMessage");
6771
}
6872

6973
@Override
70-
public void onDidDismissInAppMessage(@NonNull IInAppMessage message) {
74+
public void onDidDismiss(@NonNull IInAppMessageDidDismissEvent event) {
7175
Log.v(Tag.LOG_TAG, "onDidDismissInAppMessage");
7276
}
7377
});
7478

75-
OneSignal.getInAppMessages().setInAppMessageClickHandler(new IInAppMessageClickHandler() {
79+
OneSignal.getInAppMessages().addClickListener(new IInAppMessageClickListener() {
7680
@Override
77-
public void inAppMessageClicked(@Nullable IInAppMessageClickResult result) {
81+
public void onClick(@Nullable IInAppMessageClickEvent result) {
7882
Log.v(Tag.LOG_TAG, "INotificationClickListener.inAppMessageClicked");
7983
}
8084
});

MIGRATION_GUIDE.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -292,8 +292,10 @@ The In App Messages namespace is accessible via `OneSignal.InAppMessages` (in Ko
292292
| `fun removeTrigger(key: String)` | `void removeTrigger(String key)` | *Remove the trigger with the provided key from the current user.* |
293293
| `fun removeTriggers(keys: Collection<String>)` | `void removeTriggers(Collection<String> keys)` | *Remove multiple triggers from the current user.* |
294294
| `fun clearTriggers()` | `void clearTriggers()` | *Clear all triggers from the current user.* |
295-
| `fun setInAppMessageLifecycleHandler(handler: IInAppMessageLifecycleHandler?)` | `void setInAppMessageLifecycleHandler(IInAppMessageLifecycleHandler? handler)` | *Set the IAM lifecycle handler.* |
296-
| `fun setInAppMessageClickHandler(handler: IInAppMessageClickHandler?)` | `void setInAppMessageClickHandler(IInAppMessageClickHandler? handler)` | *Set the IAM click handler.* |
295+
| `fun addLifecycleListener(listener: IInAppMessageLifecycleListener)` | `void addLifecycleListener(IInAppMessageLifecycleListener listener)` | *Add a lifecycle listener that will run whenever an In App Message lifecycle event occurs.* |
296+
| `fun removeLifecycleListener(listener: IInAppMessageLifecycleListener)` | `void removeLifecycleListener(IInAppMessageLifecycleListener listener)` | *Remove a lifecycle listener that has been previously added.* |
297+
| `fun addClickListener(listener: IInAppMessageClickListener)` | `void addClickListener(IInAppMessageClickListener listener)` | *Add a click listener that will run whenever an In App Message is clicked on by the user.* |
298+
| `fun removeClickListener(listener: IInAppMessageClickListener)` | `void removeClickListener(IInAppMessageClickListener listener)` | *Remove a click listener that has been previously added.* |
297299

298300

299301
**Debug Namespace**

OneSignalSDK/onesignal/core/src/main/java/com/onesignal/inAppMessages/IInAppMessageAction.kt

Lines changed: 0 additions & 32 deletions
This file was deleted.
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package com.onesignal.inAppMessages
2+
3+
/**
4+
* The data provided to [IInAppMessageClickListener.onClick] when an IAM
5+
* has been clicked by the user.
6+
*/
7+
interface IInAppMessageClickEvent {
8+
/**
9+
* The IAM that was clicked by the user.
10+
*/
11+
val message: IInAppMessage
12+
13+
/**
14+
* The result of the user clicking the IAM.
15+
*/
16+
val result: IInAppMessageClickResult
17+
}

OneSignalSDK/onesignal/core/src/main/java/com/onesignal/inAppMessages/IInAppMessageClickHandler.kt

Lines changed: 0 additions & 10 deletions
This file was deleted.
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.onesignal.inAppMessages
2+
3+
interface IInAppMessageClickListener {
4+
/**
5+
* Fires when a user clicks on a clickable element in the IAM.
6+
*
7+
* @param result The [IInAppMessageClickEvent] with the user's response and properties of this message.
8+
*/
9+
fun onClick(result: IInAppMessageClickEvent)
10+
}
Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,28 @@
11
package com.onesignal.inAppMessages
22

33
/**
4-
* The data provided to [IInAppMessageClickHandler.inAppMessageClicked] when an IAM
5-
* has been clicked by the user.
4+
* An IAM action represents an action performed by the user in reaction to an IAM
5+
* being displayed.
66
*/
77
interface IInAppMessageClickResult {
88
/**
9-
* The IAM that was clicked by the user.
9+
* An optional action ID that defines the action taken.
10+
* See [Click Actions | OneSignal Docs](https://documentation.onesignal.com/docs/iam-click-actions#how-to-collect-custom-click-actions).
1011
*/
11-
val message: IInAppMessage
12+
val actionId: String?
1213

1314
/**
14-
* The action the user took to open the message.
15+
* Determines where the URL is opened, ie. Default browser.
1516
*/
16-
val action: IInAppMessageAction
17+
val urlTarget: InAppMessageActionUrlType?
18+
19+
/**
20+
* An optional URL that opens when the action takes place
21+
*/
22+
val url: String?
23+
24+
/**
25+
* Determines if tapping on the element is closing the IAM.
26+
*/
27+
val closingMessage: Boolean
1728
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.onesignal.inAppMessages
2+
3+
/**
4+
* The event passed into [IInAppMessageLifecycleListener.onDidDismiss], it provides access
5+
* to the In App Message that has been dismissed.
6+
*/
7+
interface IInAppMessageDidDismissEvent {
8+
9+
/**
10+
* The In App Message that has been dismissed.
11+
*/
12+
val message: IInAppMessage
13+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.onesignal.inAppMessages
2+
3+
/**
4+
* The event passed into [IInAppMessageLifecycleListener.onDidDisplay], it provides access
5+
* to the In App Message that has been displayed.
6+
*/
7+
interface IInAppMessageDidDisplayEvent {
8+
9+
/**
10+
* The In App Message that has been displayed.
11+
*/
12+
val message: IInAppMessage
13+
}

OneSignalSDK/onesignal/core/src/main/java/com/onesignal/inAppMessages/IInAppMessageLifecycleHandler.kt

Lines changed: 0 additions & 36 deletions
This file was deleted.

0 commit comments

Comments
 (0)