使用 JavaScript 创建应用内消息
应用内消息 (In-app message) 在用户与应用互动时直接显示在应用界面内。因此,用户认为应用内消息比推送通知、电子邮件或短信的侵入性更小。
应用内消息总是包含称为富媒体 (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 方法从应用内消息为设备设置标签 (tag):
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,可以无限扩展应用内消息的 JavaScript 功能。这可以通过 Pushwoosh SDK 的 addJavascriptInterface 方法实现,适用于 iOS 和 Android。