使用 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 方法实现,适用于 iOS 和 Android。