React Native SDK - 支持推送通知

文件

使用推送通知支持再参与跟踪

Singular 支持推送通知跟踪,以加强再参与测量。通过将 Firebase Cloud Messaging (FCM) 与 Singular SDK 集成,您可以跟踪与推送通知互动的用户,并对其进行相应的归属。

为确保准确跟踪,请遵循以下实施指南,并确保将通知数据正确传递给 Singular SDK。

为什么推送通知跟踪很重要?

推送通知是一种关键的再参与工具,但要对其进行跟踪,需要正确的集成。Singular 可确保与通知互动的用户正确归属,帮助优化营销活动和互动策略。


实施指南

集成 Singular SDK

使用 Singular文档中提供的官方说明,在 React Native 项目中集成 Singular SDK。


设置推送通知

  • 使用Firebase Cloud Messaging设置推送通知
  • 确保添加了以下 React Native 插件:

    bash
    npm install @react-native-firebase/app
    npm install @react-native-firebase/messaging

iOS

  • 在 Firebase 中注册 iOS 应用程序。
  • GoogleService-Info.plist 添加到您的 Xcode 项目。
  • 启用推送通知和后台模式(远程通知)。

安卓

  • 在 Firebase 中注册您的 Android 应用程序。
  • android/app/ 中将google-services.json 添加到您的项目。
  • 确保添加了 Firebase 消息传递依赖项并授予了权限。

使用 Singular SDK 处理推送通知

iOS

后台或前台应用程序

调用下面处理通知的方法:

javascript
Singular.handlePushNotification(notificationPayloadData);

处于终止状态的应用程序

AppDelegate.m 中,在didFinishLaunchingWithOptions 内添加以下一行:

AppDelegate.m
[SingularBridge startSessionWithLaunchOptions:launchOptions];

安卓

后台或前台应用程序

在您的主活动(如MainActivity.java )中,覆盖onNewIntent

MainActivity.java
@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    SingularBridgeModule.onNewIntent(intent);
}

处于终止状态的应用程序

无需任何操作。React Native 桥接层会自动处理这种情况。


配置推送链接路径

配置 Singular SDK 以识别通知有效载荷中的特定路径,从而实现重新参与归因。使用withPushNotificationsLinkPaths选项更新 SingularConfig 对象。

App.tsx
config.withPushNotificationsLinkPaths([
  ["path", "to", "url"]]);

验证指南

第 4 步:在启动会话调用中验证/确认推送通知接收情况

Singular SDK API 调用可确保推送通知有效载荷链接在启动会话调用中的singular_link保留参数下正确传递。

举例说明

bash
https://sdk-api-v1.singular.net/api/v1/start?a=<SDK-Key>&ab=arm64-v8a&aifa=180f63a1-0955-47b4-896a-d75ae3d35955&apc=Marchv7&apg=1&aps=Intex&asid_scope=1&asid_timeinterval=0.112&av=20.0&br=samsung&c=wifi&current_device_time=1740905574088&de=m15x&device_type=phone&device_user_agent=Dalvik/2.1.0 (Linux; U; Android 14; SM-E156B Build/UP1A.231005.007)&dnt=0&event_index=3&fi=e5bRZuVddO8:APA91bHXI3OmFZv3-r8f03zyji2kvKWbIngwf8KBDHk4Rj5q5MEeEm6EtzC-if1vpJRmuYLyGdAcSz9-nc49eIjD86xwj-n9J4jKucqMVt9mP8ICifP0arA&i=net.singular.singularsampleapp&install_time=1740905507036&is=false&k=SDID&lag=0.067&lc=en_IN&ma=samsung&mo=SM-E156B&n=Singular-TestApp-Debug&p=Android&pr=m15xnndins&pu=1&rt=json&s=1740905574084&sdk=Singular/v12.6.2&singular_install_id=2dc5dfc2-a2a8-484a-aad1-fed6cb7a3023&singular_link=https://singularassist2.sng.link/C4nw9/r1m0?_dl=singular://test&_smtype=3&src=com.android.shell&u=75f7b911-5a77-597d-8892-56f5e0e210ff&update_time=1740905507036&v=14&h=1e723fd90344d5d037059f110611ed1d84fbba88


您也可以使用Singular SDK 控制台来验证Deeplink URL 下的推送通知跟踪链接,如下所示。

通过验证,您可以确认 Singular SDK 正确跟踪了推送通知的参与情况。

注意:

  • 请注意,与singularLinksHandler代码不同的是,Singular SDK 不为该功能提供推送有效载荷回调。应用程序开发人员有责任读取推送通知数据并实现深度链接逻辑,将用户重定向到应用程序中的特定产品页面。在此解决方案中,Singular 会在用户点击通知时检索推送通知有效载荷,并将此有效载荷包含在由Singular.start(config)触发的 SDK 启动会话事件中然后,Singular 后端将对这些数据进行处理,以确定推送通知触摸点/点击的属性,并将其注册用于重新参与跟踪。
  • 我们有一套安全机制,只允许推送通知有效载荷中传递的自定义键值对中的Singular 链接域。具体来说,只允许使用 "奇异管理链接 "页面中预定义的sng.link 域。

    例如
    https://prod_test.sng.link/B0s2a/51oi?_dl=singular%3A%2F%2Fmain

    如果要在不同的域(如电子邮件服务提供商的ESP 域)中封装Singular 链接,则必须在设置中添加以下选项,明确配置域:请参考以下配置示例。config.withESPDomains(Arrays.asList("sl.esp.link"));

  • 如果需要根据单个推送通知的用户操作触发不同的深层链接,可以使用单个 Singular 跟踪链接并动态修改重定向。

    示例

    突发新闻推送通知可能会提供多个深层链接选项!与其创建多个跟踪链接,不如配置一个 Singular 跟踪链接,并根据用户选择动态调整重定向

    阅读最新新闻
    newsapp://article?id=12345
    热门话题
    newsapp://trending
    体育
    newsapp://sports


    了解有关在奇异跟踪链接中覆盖重定向的更多信息

成功!

通过这些步骤,您的应用程序现在已设置为使用 Singular 跟踪推送通知互动。这有助于提高活动性能洞察力,并确保准确的再参与归因。