高级设计故障排除
如何在使用浏览器时检查应用内设计在不同设备上的显示效果。这些步骤使用 macOS 上的 Chrome 版本 138。- 打开应用内消息块编辑器。
- 在预览中,右键单击任何应用内消息块并选择”检查”。
- 在元素选项卡中,向上导航 DOM 树以找到
#document
元素。

应用内消息块编辑器元素选项卡中的 #document 元素
- 右键单击
#document
元素中的链接并选择”在新标签中打开”。 - 您将在新标签中看到应用内消息设计。
- 再次右键单击新标签的应用内消息设计并选择”检查”。
- 在元素选项卡中,选择”切换设备工具栏”按钮。

应用内消息块编辑器元素选项卡中的切换设备工具栏按钮
- 更新尺寸以查看在不同设备上的显示效果。我们建议在
iPhone SE
(375x667) 和iPad Pro
(1024x1366) 上进行测试。

在 Chrome DevTools 中测试不同的设备尺寸
能够接收应用内消息的最低 Android 和 iOS 版本是什么?
能够接收应用内消息的最低 Android 版本是 4.4。如果设备版本低于此版本,应用内消息将不会显示。 能够接收应用内消息的最低 iOS 版本是 10.0。如果设备版本低于此版本,应用内消息将不会显示。推荐的图像尺寸是什么?
我们根据当前显示设备的尺寸显示应用内消息。设备有一些常见的纵横比和分辨率(特别是 Android),这些都可能影响应用内消息的查看。16:9
纵横比是设备最常见的,但 4:3
和 3:2
纵横比是不错的折衷选择。
我可以通过 API 创建应用内消息吗?
目前所有应用内消息都需要通过 OneSignal 仪表板创建。 在应用的每个页面上,您可以设置我们的addTrigger
方法,并通过您自己的 API 请求向应用传递在仪表板中设置的触发器 key:value
,从而基于您自己的网络请求触发 IAM。
我已更新了我的应用内消息,应用内消息更改何时生效?
一旦您从仪表板更新应用内消息,更改将立即生效,终端用户将在应用关闭 30 秒后重新打开时看到更新的消息。 更多详情,请参阅:为什么 IAM 数据没有更新?。标签替换或消息个性化是否可用?
是的,标签替换仅在 iOS SDK 版本 2.16.4+ 和 Android SDK 版本 3.16.0+ 上支持 您可以使用数据标签来个性化用户的内容和点击操作行为。如何发送带有消息本地化的应用内消息?
目前,您可以为不同语言设置不同的应用内消息,并基于设备语言过滤器定位 分段。为什么我的应用内消息显示为空白或全白?
应用内消息使用 webview 来显示内容。如果您在消息中发送内容但显示空白,那么您可能正在更改布局约束。检查您应用的自定义 webview 设置。在 Android 上检查的一个常见示例是WindowManager.LayoutParams
。
为什么应用内消息的数据没有更新?
设计更新
在 OneSignal 仪表板中对应用内消息所做的更改将在应用关闭 30 秒后在应用中反映出来。确保在保存 IAM 的任何更改后,让应用关闭或置于后台 30 秒,然后打开时,您将在下次触发时看到更改。 使用 发送到测试设备 按钮不会反映任何标签替换。您必须正常触发 IAM 才能看到标签替换个性化。分析、点击、展示次数更新
使用 发送到测试设备 按钮不会为 IAM 分析做出贡献。您必须在不使用此按钮的情况下触发 IAM 才能看到统计更新。 如果您没有使用 发送到测试设备 按钮,那么您可以按照 捕获调试日志 指南来排除问题。如果您仍需要帮助,请将从应用启动到重现结束的完整日志作为 .txt 文件分享给我们的支持团队:support@onesignal.com
。
重复的应用内消息
应用内消息可能在设备上显示重复的常见原因有:- 多个看起来相同的 IAM 处于活动状态。
- 消息被触发得太频繁。检查 如何添加触发器 和 您希望多久显示一次此消息? 选项。
视图
是当前 活动
的子视图造成的。每当活动之间发生意图时,IAM 会模拟当前 活动
的生命周期,在某些情况下会导致闪烁。 最常见的情况是 IAM 会隐藏自己,然后在新活动中重新显示。
不幸的是,这种功能是在不需要任何权限的情况下在 应用程序
级别显示 IAM 的最接近的可用方式。 更多详情请参见此开放的 GitHub 问题。请随时在 GitHub 问题上直接回复我们的工程师。此外,我们的 SDK 是开源的,所以如果您对修复或其他解决方案有想法,我们很乐意查看任何提交的 PR!
如果您仍然遇到此问题且不是上述原因之一,请与我们的支持团队分享以下详细信息:
- 使用的 OneSignal SDK 版本
- 设备操作系统版本
- 从应用启动到问题点的 Xcode 日志或 Android Studio logcat
- 您应用中的任何其他库或插件
- 重现问题的详细信息。