【发布时间】:2019-11-13 18:30:12
【问题描述】:
我想做的很简单。我正在使用 UrbanAirship 来显示一个模态视图(“应用内自动化”),它是 HTML。我的 HTML 中有一个按钮。触发事件时,消息/视图显示正常。现在我在按钮的 HTML 中:
<button class="light" type="button" onclick="UAirship.close()">OK</button>
当点击按钮时,对 UAirship.close() 的调用工作正常并关闭消息。我在我的 Android 代码中设置了一个监听器,如下所示:
UAirship.shared()
.getInAppMessagingManager()
.addListener(new InAppMessageListener() {
@Override
public void onMessageDisplayed(@NonNull String scheduleId, @NonNull InAppMessage message) {
// gets here fine
}
@Override
public void onMessageFinished(@NonNull String scheduleId, @NonNull InAppMessage message, @NonNull ResolutionInfo resolutionInfo) {
// gets here fine as well
}
});
当消息/视图显示和关闭时,它会毫无问题地进入这些方法。但是,我希望能够检测到一个特定的按钮被点击,而不是我在 HTML 中的其他按钮。有没有办法轻松解决这个问题,以便可以在“ResolutionInfo”对象或“InAppMessage”中传递一些自定义标签或其他东西?
我希望会有像“UAirship.close('tag')”这样的东西,该标签会被传回。甚至我可以将自定义 HTML 标记放在代码中可以识别的按钮上。真的只是任何方式都可以,我似乎无法在文档中找到如何正确地使用 HTML 来做到这一点。
我正在查看文档here。我看到了 UAirship.runAction() 方法,但我并不清楚这个方法的简单实现是什么(而且,在动作注册中引用的“CustomAction”类似乎甚至不存在于库中...... )。
当 Airship 消息在点击该按钮后关闭时,我基本上只需要在我的 Activity 中调用一行代码。
想法?
【问题讨论】:
标签: javascript android html urbanairship.com