我正在使用react-native和Amplify处理iOS和Android应用程序。推送通知的整个设置已完成。我可以将广告系列发送到所有设备或特定设备上-我可以在iOS和Android上收到通知。
此外,我在应用程序中启用了深层链接。在iOS上,我可以使用自定义方案键入一个url,它将要求我在应用程序中打开它并导航到正确的路线。在Android上,我使用adb shell am start -a android.intent.action.VIEW -d "*://*/do-something" com.*
(虚拟);也可以。
但是,当我使用深层链接在Pinpoint中发送直接消息时,它所做的只是打开应用程序,而深层链接不是openend(https://i.imgur.com/652XoNQ.png)。即使使用转到URL ,该应用也是开放式的,而不是我指定的url。但是会收到(https://i.imgur.com/CCSBRyB.png)来自Pinpoint的数据
我使用以下软件包:
@aws-amplify/pushnotification": "^1.0.8",
"aws-amplify": "^1.0.10",
"react-native": "0.56.0",
要确保在我的应用程序中正在处理通知中的操作,需要进行哪些设置?我似乎找不到有关 Pinpoint动作和 react-native 的任何文档。
答案 0 :(得分:0)
更新:
在android上,您可以通过notification.data['pinpoint.url']
访问数据,因此仅数据是一个对象,而键则使用点。奇怪的解决方案。
原始答案:
发布一个小时后出现相同的问题。
在onNotification
的放大库中有一个PushNotification
方法。当notification
到达时触发。在iOS上是PushNotificationIOS
类型的通知,在Android上是普通对象(不确定此处是否还在调查)。
在iOS上,您可以通过notification.getData().data.pinpoint
示例代码:
PushNotification.onNotification((notification) => {
if (Platform.OS === 'ios') {
if (notification.getData().data.pinpoint.deeplink) {
alert(notification.getData().data.pinpoint.deeplink);
}
notification.finish(PushNotificationIOS.FetchResult.NoData)
}
else {
if (notification.data && notification.data['pinpoint.deeplink']) {
alert(notification.data['pinpoint.deeplink']);
}
}
}
记住要导入所有必要的东西。
希望这会有所帮助。
干杯
本