跳到内容

添加推送测试设备

您可以使用测试设备 (Test Devices) 在向应用用户发送推送通知之前,预览其在设备上的显示效果。为此,您需要将您的设备(已安装您的应用)注册测试设备

要添加测试设备:

  1. 在您的 Pushwoosh 账户中,导航至测试设备部分。
Pushwoosh 账户中的测试设备部分
  1. 点击右上角的创建测试设备下拉按钮,然后选择推送
“测试设备”部分中带有“推送”选项的“创建测试设备”下拉按钮

您可以通过以下三种方法之一添加推送测试设备:使用二维码自动配置、从应用注册或手动配置。

自动添加测试设备

Anchor link to

此方法仅适用于 iOS 和 Android 设备。

在首次注册之前,请为应用添加测试设备的深层链接 (deep link) 处理功能 — 这是一次性设置,通常与 Pushwoosh SDK 集成一起完成:

  • 对于 Android:将 DeepLinkActivity 添加到 AndroidManifest.xml 文件中。
  • 对于 iOS:将 pushwoosh-YOUR_PUSHWOOSH_APP_ID URL scheme 添加到 Info.plist 文件中。

请遵循实现部分中针对 Android 和 iOS 的说明。

完成后,要注册设备:

  1. 测试设备部分,点击创建测试设备并选择推送
  2. 使用任何二维码扫描器应用扫描弹出窗口中出现的二维码。这将打开一个深层链接 (deep link),Pushwoosh SDK 会解析该链接以将您的设备注册为测试设备。
“添加测试设备”对话框,左侧为自动配置二维码,右侧为 HWID 的手动配置字段

从应用注册测试设备

Anchor link to

除了上述二维码方法外,Pushwoosh SDK 还可以自行将当前设备注册为测试设备:在 30 秒内将应用发送到后台再切换回前台 6 次。无需扫描或手动输入。

为防止意外注册,此功能仅在 1 小时的注册窗口期内有效。

  1. 测试设备部分,打开从应用添加测试设备开关。这将打开一个 1 小时的窗口。
“测试设备”页面标题,带有“从应用添加测试设备”开关和“创建测试设备”按钮
  1. 在窗口打开期间,在 30 秒内将应用切换到后台再切换回前台 6 次。设备将被添加到测试设备列表中。

手动添加测试设备

Anchor link to

如果您希望手动注册测试设备,请按照以下步骤操作:

  1. 从成功的 /registerDevice API 调用中获取设备的硬件 ID (HWID)
  2. 填写必填字段:
    • 设备名称:测试设备的描述性名称(例如,“John 的 Android”)。
    • 设备 HWID:设备的唯一硬件 ID。
    • 设备类型:选择平台(例如,iOS、Android、Web)。
    • 描述(可选):添加有关设备的任何注释或详细信息以供参考。
  3. 点击保存以注册测试设备。

注册后,测试设备将显示在测试设备部分。

通过 API 注册测试设备

Anchor link to

要通过脚本或 CI 管道而不是手动表单来配置测试设备,请使用设备的推送令牌 (push token) 调用 createTestDevice — 注意,这里使用的不是手动表单中的 HWID,而是通过相同方式(例如,从成功的 /registerDevice 调用)获得的另一个标识符。listTestDevices 会返回已为某个应用注册的设备。

  1. Pushwoosh SDK 集成到您的应用中。

  2. DeepLinkActivity 添加到您的 AndroidManifest.xml 中:

<activity
android:name="com.pushwoosh.DeepLinkActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="pushwoosh-YOUR_PUSHWOOSH_APP_ID" />
</intent-filter>
</activity>

不要忘记将上面 xml 中的 YOUR_PUSHWOOSH_APP_ID 替换为您的 Pushwoosh App ID。
示例:<data android:scheme=“pushwoosh-ABCDE-EDCBA” />

  1. 启动应用以订阅推送通知。

  2. 使用任何合适的二维码扫描器应用*扫描测试设备表单中的二维码。将会出现一条 toast 消息,指示测试设备注册的状态。

  1. Pushwoosh SDK 集成到您的应用中。

  2. pushwoosh-YOUR_PUSHWOOSH_APP_ID URL scheme 添加到 Info.plist 文件中:

<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLName</key>
<string>com.pushwoosh.scheme</string>
<key>CFBundleURLSchemes</key>
<array>
<string>pushwoosh-YOUR_PUSHWOOSH_APP_ID</string>
</array>
</dict>
</array>

不要忘记将上面 XML 中的 YOUR_PUSHWOOSH_APP_ID 替换为您的 Pushwoosh App ID。
示例:pushwoosh-ABCDE-EDCBA

Info.plist

UIApplicationSceneManifest 添加到您的 Info.plist 中。
<key>UIApplicationSceneManifest</key>
<dict>
<key>UIApplicationSupportsMultipleScenes</key>
<true/>
<key>UISceneConfigurations</key>
<dict>
<key>UIWindowSceneSessionRoleApplication</key>
<array>
<dict>
<key>UISceneConfigurationName</key>
<string></string>
<key>UISceneDelegateClassName</key>
<string>$(PRODUCT_MODULE_NAME).SceneDelegate</string>
</dict>
</array>
</dict>
</dict>

SceneDelegate

如下例所示,添加 SceneDelegate 代码。
import SwiftUI
@main
struct DemoApp: App {
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
class SceneDelegate: NSObject, UIWindowSceneDelegate {
var window: UIWindow?
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let _ = (scene as? UIWindowScene) else { return }
}
}
class AppDelegate: NSObject, UIApplicationDelegate, PWMessagingDelegate {
func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
let sceneConfig: UISceneConfiguration = UISceneConfiguration(name: nil, sessionRole: connectingSceneSession.role)
sceneConfig.delegateClass = SceneDelegate.self
return sceneConfig
}
}
  1. 启动应用以订阅推送通知。

  2. 使用任何合适的二维码扫描器扫描测试设备表单中的二维码。