跳到内容

使用 JavaScript 创建应用内消息

应用内消息 (In-app messages) 会在用户与应用互动时直接显示在应用界面内。因此,用户会觉得应用内消息比推送通知、电子邮件或短信的侵入性更小。

应用内消息总是包含称为富媒体 (Rich Media) 的图片或视频。应用内消息还可以包含格式化文本、链接、带有行动号召 (CTA) 的按钮以及其他数据,让您能够以引人入胜的形式与应用用户沟通。

应用内消息基于 HTML 并支持 JavaScript。Pushwoosh SDK 会注入一个 pushwoosh 变量,该变量提供以下 API:

您可以使用 postEvent 方法直接从应用内消息的 JavaScript 代码发送一个新事件。

pushwoosh.postEvent(
'eventName',
{
TestAttributeString: 'testString',
TestAttributeInt: 42,
TestAttributeList: [123, 456, 'someString'],
TestAttributeBool: true,
TestAttributeNull: null,
TestAttributeDaysAgo: 7,
TestAttributeDate: new Date()
},
function() {
console.log('Post event success')
},
function(error) {
console.log('Post event failed: ', error)
}
)

您也可以使用 sendTags 方法从应用内消息为设备设置标签 (tags):

pushwoosh.sendTags({
IntTag: 42,
BoolTag: true,
StringTag: 'testString',
ListTag: ['string1', 'string2']
})

要获取设备标签,请按如下方式使用 getTags 方法:

pushwoosh.getTags(
function(tags) {
console.log('tags: ' + JSON.stringify(tags))
},
function(error) {
console.log('failed to get tags: ' + error)
}
)

如果您想从 JavaScript 代码中关闭应用内消息,请调用 closeInApp() 方法:

pushwoosh.closeInApp();

或者,只需为按钮/链接使用自定义方案 URL <a href="pushwoosh://close">

当发送带有富媒体 (Rich Media) 的推送通知时,您可以使用以下代码获取该推送的自定义数据:pushwoosh.getCustomData()

自定义 JavaScript 接口

Anchor link to

通过将原生的 Java/Objective-C/Swift 方法暴露给 JavaScript,可以无限扩展应用内消息 (In-App Messages) 的 JavaScript 功能。这可以通过 Pushwoosh SDK 的 addJavaScriptInterface 方法实现,适用于 iOSAndroid