跳转到主要内容
本指南涵盖了关于应用内消息的常见问题和故障排除步骤。

高级设计故障排除

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

应用内消息块编辑器元素选项卡中的 #document 元素

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

应用内消息块编辑器元素选项卡中的切换设备工具栏按钮

  1. 更新尺寸以查看在不同设备上的显示效果。我们建议在 iPhone SE (375x667) 和 iPad Pro (1024x1366) 上进行测试。
在 Chrome DevTools 中测试不同的设备尺寸

在 Chrome DevTools 中测试不同的设备尺寸

能够接收应用内消息的最低 Android 和 iOS 版本是什么?

能够接收应用内消息的最低 Android 版本是 4.4。如果设备版本低于此版本,应用内消息将不会显示。 能够接收应用内消息的最低 iOS 版本是 10.0。如果设备版本低于此版本,应用内消息将不会显示。

推荐的图像尺寸是什么?

我们根据当前显示设备的尺寸显示应用内消息。设备有一些常见的纵横比和分辨率(特别是 Android),这些都可能影响应用内消息的查看。 16:9 纵横比是设备最常见的,但 4:33: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

重复的应用内消息

应用内消息可能在设备上显示重复的常见原因有: 如果您仅在 Android 上看到这种情况,那么这可能发生在 IAM 显示时点击返回按钮或切换活动时。两种情况都会导致 IAM 再次出现。 这是由于 IAM 视图 是当前 活动 的子视图造成的。每当活动之间发生意图时,IAM 会模拟当前 活动 的生命周期,在某些情况下会导致闪烁。 最常见的情况是 IAM 会隐藏自己,然后在新活动中重新显示。 不幸的是,这种功能是在不需要任何权限的情况下在 应用程序 级别显示 IAM 的最接近的可用方式。 更多详情请参见此开放的 GitHub 问题。请随时在 GitHub 问题上直接回复我们的工程师。此外,我们的 SDK 是开源的,所以如果您对修复或其他解决方案有想法,我们很乐意查看任何提交的 PR! 如果您仍然遇到此问题且不是上述原因之一,请与我们的支持团队分享以下详细信息:
  • 使用的 OneSignal SDK 版本
  • 设备操作系统版本
  • 从应用启动到问题点的 Xcode 日志或 Android Studio logcat
  • 您应用中的任何其他库或插件
  • 重现问题的详细信息。

I